{"version":3,"sources":["./$_lazy_route_resource lazy namespace object","./node_modules/moment/locale sync ^\\.\\/.*$","./src/app/activity/activity.component.html","./src/app/activity/dialog.html","./src/app/add-score-card/add-score-card.component.html","./src/app/add-score-card/response-dialog.html","./src/app/add-score-card/validation-dialog.html","./src/app/alerts/alerts.component.html","./src/app/app.component.html","./src/app/case/case.component.html","./src/app/case/dialog.html","./src/app/common/dialog.html","./src/app/company/company.component.html","./src/app/company/dialog.html","./src/app/dashboard/dashboard.component.html","./src/app/departments/departments.component.html","./src/app/departments/dialog.html","./src/app/employee/dialog.html","./src/app/employee/employee.component.html","./src/app/frustration-comments/frustration-comments.component.html","./src/app/frustration-reports/frustration-reports.component.html","./src/app/frustrationstype/dialog.html","./src/app/frustrationstype/frustrationstype.component.html","./src/app/goals/dialog.html","./src/app/goals/goals.component.html","./src/app/hipriority/hipriority.component.html","./src/app/login/dialog.html","./src/app/login/login.component.html","./src/app/metric/dialog.html","./src/app/metric/metric.component.html","./src/app/metricdata/dialog.html","./src/app/metricdata/metricdata.component.html","./src/app/nometric-process/nometric-process.component.html","./src/app/organization/dialog.html","./src/app/organization/organization.component.html","./src/app/other-frustration/other-frustration.component.html","./src/app/performance-score-card/dialog.html","./src/app/performance-score-card/performance-score-card.component.html","./src/app/pointer/dialog.html","./src/app/pointer/pointer.component.html","./src/app/process-map/dialog.html","./src/app/process-map/process-map.component.html","./src/app/process/dialog.html","./src/app/process/process.component.html","./src/app/project/dialog.html","./src/app/project/project.component.html","./src/app/projects-noactions/projects-noactions.component.html","./src/app/quarter/quarter.component.html","./src/app/report-activity-issues/report-activity-issues.component.html","./src/app/report-category/dialog.html","./src/app/report-category/report-category.component.html","./src/app/report-hipriority/dialog.html","./src/app/report-hipriority/report-hipriority.component.html","./src/app/report-metric-process/dialog.html","./src/app/report-metric-process/report-metric-process.component.html","./src/app/report-process/dialog.html","./src/app/report-process/report-process.component.html","./src/app/report-project/dialog.html","./src/app/report-project/report-project.component.html","./src/app/reports/reports.component.html","./src/app/roles/dialog.html","./src/app/roles/roles.component.html","./src/app/sub-company/sub-company.component.html","./src/app/teams/dialog.html","./src/app/teams/teams.component.html","./src/app/user-permisions/user-permisions.component.html","./src/app/usermanual/usermanual.component.html","./src/app/view-score-card/view-score-card.component.html","./src/app/activity/activity.component.ts","./src/app/add-score-card/add-score-card.component.scss","./src/app/add-score-card/add-score-card.component.ts","./src/app/add-score-card/add-score-card.model.ts","./src/app/add-score-card/response-dialog.ts","./src/app/add-score-card/validation-dialog.ts","./src/app/alerts/alerts.component.ts","./src/app/app-routing.module.ts","./src/app/app.component.scss","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/case/case.component.ts","./src/app/common/dialog.ts","./src/app/common/directives/numbers-only.directive.ts","./src/app/common/models/login-level.model.ts","./src/app/company/company.component.scss","./src/app/company/company.component.ts","./src/app/copyRight.model.ts","./src/app/dashboard/dashboard.component.scss","./src/app/dashboard/dashboard.component.ts","./src/app/departments/departments.component.scss","./src/app/departments/departments.component.ts","./src/app/dorsey.service.ts","./src/app/employee/employee.component.ts","./src/app/frustration-comments/frustration-comments.component.ts","./src/app/frustration-reports/frustration-reports.component.ts","./src/app/frustrationstype/frustrationstype.component.ts","./src/app/goals/goals.component.scss","./src/app/goals/goals.component.ts","./src/app/hipriority/hipriority.component.ts","./src/app/login/azure-details.model.ts","./src/app/login/dialog.css","./src/app/login/login.component.scss","./src/app/login/login.component.ts","./src/app/login/msal-user.service.ts","./src/app/long-press.ts","./src/app/metric/metric.component.ts","./src/app/metricdata/metricdata.component.ts","./src/app/nometric-process/nometric-process.component.ts","./src/app/organization/organization.component.scss","./src/app/organization/organization.component.ts","./src/app/other-frustration/other-frustration.component.ts","./src/app/performance-score-card/performance-score-card.component.scss","./src/app/performance-score-card/performance-score-card.component.ts","./src/app/performance-score-card/performance-score-card.model.ts","./src/app/performance-score-card/performance-score-card.service.ts","./src/app/pointer/dialog.css","./src/app/pointer/pointer.component.ts","./src/app/process-map/dialog.css","./src/app/process-map/process-map.component.scss","./src/app/process-map/process-map.component.ts","./src/app/process/process.component.ts","./src/app/project/project.component.ts","./src/app/projects-noactions/projects-noactions.component.ts","./src/app/quarter/quarter.component.scss","./src/app/quarter/quarter.component.ts","./src/app/quarter/quarter.model.ts","./src/app/report-activity-issues/report-activity-issues.component.scss","./src/app/report-activity-issues/report-activity-issues.component.ts","./src/app/report-category/report-category.component.ts","./src/app/report-hipriority/report-hipriority.component.ts","./src/app/report-metric-process/report-metric-process.component.ts","./src/app/report-process/report-process.component.ts","./src/app/report-project/report-project.component.ts","./src/app/reports/reports.component.ts","./src/app/roles/dialog.scss","./src/app/roles/roles.component.ts","./src/app/services/company.service.ts","./src/app/services/department.service.ts","./src/app/services/goal.service.ts","./src/app/services/organization.service.ts","./src/app/services/quarter.service.ts","./src/app/sort.pipe.ts","./src/app/sub-company/sub-company.component.scss","./src/app/sub-company/sub-company.component.ts","./src/app/teams/teams.component.ts","./src/app/user-permisions/user-permisions.component.scss","./src/app/user-permisions/user-permisions.component.ts","./src/app/usermanual/usermanual.component.scss","./src/app/usermanual/usermanual.component.ts","./src/app/view-score-card/view-score-card.component.scss","./src/app/view-score-card/view-score-card.component.ts","./src/environments/environment.ts","./src/main.ts","fs (ignored)","crypto (ignored)","stream (ignored)","zlib (ignored)","webpack:///fs (ignored)?0c95","http (ignored)","https (ignored)","url (ignored)"],"names":[],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,4CAA4C,WAAW;AACvD;AACA;AACA,wE;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6E;;;;;;;;;;;ACnSA,2YAA2Y,oiBAAoiB,gBAAgB,8NAA8N,gTAAgT,oBAAoB,w5DAAw5D,2CAA2C,UAAU,wCAAwC,0CAA0C,kBAAkB,8BAA8B,qBAAqB,8BAA8B,sBAAsB,yBAAyB,oBAAoB,yBAAyB,0BAA0B,yBAAyB,iBAAiB,0PAA0P,6GAA6G,mDAAmD,yFAAyF,6MAA6M,6GAA6G,mDAAmD,yMAAyM,2CAA2C,UAAU,wCAAwC,+FAA+F,kBAAkB,0BAA0B,qBAAqB,8BAA8B,sBAAsB,yBAAyB,oBAAoB,yBAAyB,0BAA0B,yBAAyB,iBAAiB,+CAA+C,8NAA8N,kDAAkD,8BAA8B,8GAA8G,MAAM,MAAM,iLAAiL,kDAAkD,8BAA8B,0NAA0N,kBAAkB,0BAA0B,qBAAqB,8BAA8B,sBAAsB,6BAA6B,oBAAoB,6BAA6B,0BAA0B,yBAAyB,iBAAiB,mRAAmR,4GAA4G,mDAAmD,yFAAyF,MAAM,MAAM,8MAA8M,4GAA4G,mDAAmD,uiBAAuiB,mBAAmB,sJAAsJ,KAAK,sT;;;;;;;;;;;ACAz/P,6RAA6R,MAAM,6/BAA6/B,uMAAuM,kBAAkB,qHAAqH,kBAAkB,yYAAyY,kBAAkB,8JAA8J,kBAAkB,+VAA+V,mCAAmC,sDAAsD,kBAAkB,sHAAsH,kBAAkB,uHAAuH,kBAAkB,qSAAqS,YAAY,0DAA0D,4BAA4B,wRAAwR,kBAAkB,2UAA2U,YAAY,iDAAiD,mBAAmB,8VAA8V,YAAY,oDAAoD,sBAAsB,sMAAsM,kBAAkB,yIAAyI,YAAY,sCAAsC,MAAM,+MAA+M,kBAAkB,wPAAwP,YAAY,mFAAmF,sCAAsC,kaAAka,kBAAkB,qJAAqJ,kBAAkB,ibAAib,mCAAmC,uCAAuC,kBAAkB,8GAA8G,kBAAkB,sSAAsS,YAAY,kEAAkE,4BAA4B,6YAA6Y,kBAAkB,gUAAgU,YAAY,wDAAwD,mBAAmB,8oBAA8oB,YAAY,2DAA2D,sBAAsB,uWAAuW,kBAAkB,mKAAmK,YAAY,mDAAmD,MAAM,mmBAAmmB,kBAAkB,2PAA2P,YAAY,6EAA6E,sCAAsC,8bAA8b,mGAAmG,kBAAkB,uNAAuN,YAAY,4DAA4D,8BAA8B,4OAA4O,qGAAqG,kBAAkB,6NAA6N,YAAY,gEAAgE,kCAAkC,u3BAAu3B,UAAU,8F;;;;;;;;;;;ACAriZ,wqBAAwqB,yBAAyB,6IAA6I,0BAA0B,yJAAyJ,UAAU,kJAAkJ,4dAA4d,yBAAyB,qJAAqJ,0BAA0B,iKAAiK,UAAU,2tBAA2tB,iBAAiB,mHAAmH,aAAa,wIAAwI,iBAAiB,qHAAqH,kBAAkB,+SAA+S,iBAAiB,8NAA8N,mEAAmE,qBAAqB,omBAAomB,iBAAiB,42BAA42B,wgBAAwgB,oBAAoB,63BAA63B,2aAA2a,YAAY,sFAAsF,6EAA6E,wBAAwB,k6BAAk6B,iBAAiB,uEAAuE,oBAAoB,2NAA2N,0XAA0X,gFAAgF,+BAA+B,4HAA4H,sdAAsd,OAAO,yYAAyY,2XAA2X,gFAAgF,+BAA+B,4HAA4H,0dAA0d,OAAO,2YAA2Y,wXAAwX,gFAAgF,+BAA+B,4HAA4H,8cAA8c,OAAO,krBAAkrB,2EAA2E,WAAW,kkCAAkkC,scAAsc,YAAY,sFAAsF,iKAAiK,wBAAwB,05BAA05B,uBAAuB,8MAA8M,uBAAuB,8MAA8M,uBAAuB,+MAA+M,uBAAuB,8MAA8M,uBAAuB,8MAA8M,uBAAuB,+MAA+M,uBAAuB,+MAA+M,uBAAuB,+MAA+M,uBAAuB,gNAAgN,uBAAuB,gNAAgN,wBAAwB,+MAA+M,wBAAwB,0OAA0O,wBAAwB,0OAA0O,wBAAwB,oaAAoa,iBAAiB,4EAA4E,oBAAoB,+NAA+N,mBAAmB,yLAAyL,0BAA0B,aAAa,kMAAkM,2LAA2L,qBAAqB,qHAAqH,OAAO,mGAAmG,qBAAqB,4IAA4I,mBAAmB,uLAAuL,2BAA2B,aAAa,gMAAgM,6LAA6L,sBAAsB,sHAAsH,OAAO,oGAAoG,sBAAsB,4IAA4I,mBAAmB,iLAAiL,wBAAwB,aAAa,0LAA0L,uLAAuL,mBAAmB,mHAAmH,OAAO,iGAAiG,mBAAmB,gMAAgM,kBAAkB,4DAA4D,YAAY,6qyBAA6qyB,wZAAwZ,YAAY,sFAAsF,iKAAiK,wBAAwB,05BAA05B,iBAAiB,8MAA8M,iBAAiB,8MAA8M,iBAAiB,+MAA+M,iBAAiB,8MAA8M,iBAAiB,8MAA8M,iBAAiB,+MAA+M,iBAAiB,+MAA+M,iBAAiB,+MAA+M,iBAAiB,gNAAgN,iBAAiB,gNAAgN,kBAAkB,+MAA+M,kBAAkB,+MAA+M,kBAAkB,oaAAoa,iBAAiB,4EAA4E,oBAAoB,+NAA+N,mBAAmB,oQAAoQ,0BAA0B,aAAa,kMAAkM,wDAAwD,qBAAqB,qHAAqH,OAAO,mGAAmG,qBAAqB,4IAA4I,mBAAmB,wQAAwQ,2BAA2B,aAAa,oMAAoM,wDAAwD,sBAAsB,sHAAsH,OAAO,oGAAoG,sBAAsB,4IAA4I,mBAAmB,4PAA4P,wBAAwB,aAAa,8LAA8L,wDAAwD,mBAAmB,mHAAmH,OAAO,iGAAiG,mBAAmB,gMAAgM,kBAAkB,4DAA4D,YAAY,2PAA2P,cAAc,0QAA0Q,cAAc,0QAA0Q,cAAc,0QAA0Q,cAAc,+RAA+R,cAAc,0QAA0Q,cAAc,0QAA0Q,cAAc,0QAA0Q,cAAc,+RAA+R,cAAc,2QAA2Q,eAAe,2QAA2Q,eAAe,2QAA2Q,eAAe,2QAA2Q,eAAe,uTAAuT,ogB;;;;;;;;;;;ACA5s3D,iEAAiE,SAAS,2DAA2D,uDAAuD,KAAK,wY;;;;;;;;;;;ACAjM,iIAAiI,uDAAuD,KAAK,oY;;;;;;;;;;;ACA7L,gpBAAgpB,mIAAmI,kBAAkB,kcAAkc,4GAA4G,sMAAsM,+CAA+C,KAAK,UAAU,6dAA6d,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,yDAAyD,mIAAmI,kBAAkB,+nBAA+nB,qJAAqJ,+CAA+C,KAAK,KAAK,mE;;;;;;;;;;;ACAznG,+CAA+C,6BAA6B,kCAAkC,iBAAiB,SAAS,0BAA0B,mBAAmB,2BAA2B,4BAA4B,aAAa,+BAA+B,yCAAyC,aAAa,SAAS,0BAA0B,6CAA6C,yCAAyC,aAAa,SAAS,2BAA2B,6BAA6B,+BAA+B,aAAa,SAAS,qBAAqB,4CAA4C,SAAS,qtLAAqtL,uV;;;;;;;;;;;ACAz2M,4CAA4C,wBAAwB,sBAAsB,OAAO,yBAAyB,yBAAyB,SAAS,KAAK,oBAAoB,gBAAgB,oBAAoB,2BAA2B,OAAO,qBAAqB,2BAA2B,2BAA2B,OAAO,YAAY,qBAAqB,kCAAkC,qBAAqB,wBAAwB,OAAO,YAAY,qBAAqB,wBAAwB,OAAO,eAAe,kCAAkC,OAAO,iCAAiC,kCAAkC,yBAAyB,8BAA8B,OAAO,qBAAqB,4BAA4B,OAAO,wBAAwB,yBAAyB,OAAO,uBAAuB,4BAA4B,OAAO,cAAc,2BAA2B,OAAO,0BAA0B,yBAAyB,SAAS,yBAAyB,wBAAwB,SAAS,iBAAiB,wBAAwB,kBAAkB,wBAAwB,yBAAyB,OAAO,KAAK,ubAAub,weAAwe,8WAA8W,iBAAiB,kQAAkQ,iBAAiB,oBAAoB,wSAAwS,iBAAiB,oBAAoB,qaAAqa,6BAA6B,WAAW,opCAAopC,4GAA4G,iuFAAiuF,2CAA2C,UAAU,wCAAwC,6MAA6M,4GAA4G,+KAA+K,iBAAiB,uCAAuC,mBAAmB,4BAA4B,kBAAkB,wBAAwB,qBAAqB,0BAA0B,sBAAsB,0BAA0B,8BAA8B,wBAAwB,iBAAiB,4BAA4B,oBAAoB,uBAAuB,qBAAqB,uBAAuB,qBAAqB,uBAAuB,yCAAyC,+CAA+C,6LAA6L,4GAA4G,6EAA6E,0GAA0G,MAAM,MAAM,wKAAwK,4GAA4G,+EAA+E,yYAAyY,UAAU,oMAAoM,mBAAmB,mLAAmL,KAAK,0vBAA0vB,SAAS,MAAM,SAAS,IAAI,YAAY,mEAAmE,SAAS,iWAAiW,sBAAsB,oBAAoB,iLAAiL,kBAAkB,gEAAgE,kCAAkC,mBAAmB,iCAAiC,kBAAkB,yBAAyB,oBAAoB,8BAA8B,0CAA0C,gFAAgF,mBAAmB,iCAAiC,kBAAkB,yBAAyB,oBAAoB,+BAA+B,0CAA0C,oEAAoE,sBAAsB,0BAA0B,uBAAuB,4BAA4B,qBAAqB,4BAA4B,2BAA2B,qHAAqH,iBAAiB,gBAAgB,sKAAsK,mQAAmQ,YAAY,oDAAoD,4BAA4B,mEAAmE,MAAM,MAAM,2EAA2E,eAAe,uMAAuM,SAAS,QAAQ,cAAc,4LAA4L,oCAAoC,mBAAmB,0CAA0C,0BAA0B,+RAA+R,SAAS,MAAM,SAAS,IAAI,YAAY,2CAA2C,SAAS,4OAA4O,sBAAsB,oBAAoB,2JAA2J,kBAAkB,kEAAkE,oCAAoC,mBAAmB,mCAAmC,kBAAkB,2BAA2B,oBAAoB,qBAAqB,0CAA0C,sFAAsF,mBAAmB,mCAAmC,kBAAkB,2BAA2B,oBAAoB,sBAAsB,0CAA0C,0EAA0E,sBAAsB,4BAA4B,uBAAuB,8BAA8B,qBAAqB,8BAA8B,2BAA2B,kHAAkH,WAAW,uFAAuF,kBAAkB,6CAA6C,wBAAwB,iBAAiB,+BAA+B,OAAO,iBAAiB,8BAA8B,mCAAmC,OAAO,qBAAqB,4BAA4B,kCAAkC,OAAO,iBAAiB,+BAA+B,OAAO,OAAO,a;;;;;;;;;;;ACA35f,oPAAoP,MAAM,g9BAAg9B,8rBAA8rB,kBAAkB,kMAAkM,kBAAkB,gLAAgL,YAAY,0DAA0D,4BAA4B,0MAA0M,kBAAkB,mLAAmL,YAAY,4DAA4D,8BAA8B,0MAA0M,kBAAkB,wJAAwJ,YAAY,oDAAoD,sBAAsB,sMAAsM,kBAAkB,uSAAuS,YAAY,+DAA+D,iCAAiC,mNAAmN,kBAAkB,wMAAwM,YAAY,0FAA0F,6CAA6C,wUAAwU,kBAAkB,8iBAA8iB,YAAY,wDAAwD,0BAA0B,0MAA0M,kBAAkB,mLAAmL,YAAY,4DAA4D,8BAA8B,gmCAAgmC,kBAAkB,wRAAwR,kBAAkB,qMAAqM,YAAY,qEAAqE,4BAA4B,mSAAmS,kBAAkB,8LAA8L,YAAY,mEAAmE,8BAA8B,ycAAyc,kBAAkB,wKAAwK,YAAY,6DAA6D,sBAAsB,sQAAsQ,kBAAkB,mUAAmU,YAAY,4EAA4E,iCAAiC,kTAAkT,kBAAkB,uNAAuN,YAAY,oFAAoF,6CAA6C,4jBAA4jB,kBAAkB,ynBAAynB,YAAY,iEAAiE,0BAA0B,6aAA6a,kBAAkB,2LAA2L,YAAY,iEAAiE,8BAA8B,s+CAAs+C,WAAW,iJAAiJ,iCAAiC,+JAA+J,UAAU,8F;;;;;;;;;;;ACAhrc,sa;;;;;;;;;;;ACAA,seAAse,iBAAiB,sCAAsC,0GAA0G,iBAAiB,kCAAkC,uIAAuI,iBAAiB,4CAA4C,iMAAiM,yYAAyY,4KAA4K,gBAAgB,wVAAwV,qrCAAqrC,2CAA2C,UAAU,wCAAwC,0HAA0H,qBAAqB,qBAAqB,eAAe,uBAAuB,gBAAgB,uBAAuB,yDAAyD,kYAAkY,wCAAwC,uEAAuE,8VAA8V,yFAAyF,8CAA8C,yEAAyE,MAAM,MAAM,yLAAyL,yIAAyI,kGAAkG,sGAAsG,MAAM,MAAM,kMAAkM,yIAAyI,gFAAgF,8FAA8F,MAAM,MAAM,kDAAkD,iJAAiJ,gBAAgB,aAAa,WAAW,iEAAiE,qBAAqB,6ZAA6Z,8HAA8H,mBAAmB,0IAA0I,KAAK,uhB;;;;;;;;;;;ACA5lN,yQAAyQ,MAAM,ugCAAugC,sLAAsL,kBAAkB,qGAAqG,kXAAkX,iBAAiB,uVAAuV,iBAAiB,oVAAoV,iBAAiB,kWAAkW,iBAAiB,2oBAA2oB,iBAAiB,+UAA+U,iBAAiB,iWAAiW,iBAAiB,4bAA4b,iBAAiB,gcAAgc,iBAAiB,yuBAAyuB,iBAAiB,o4BAAo4B,0EAA0E,iBAAiB,wcAAwc,iBAAiB,oWAAoW,iBAAiB,gUAAgU,+yBAA+yB,iBAAiB,wZAAwZ,iBAAiB,0pBAA0pB,UAAU,0F;;;;;;;;;;;ACAtgU,kCAAkC,0BAA0B,kBAAkB,0BAA0B,kCAAkC,8BAA8B,QAAQ,sUAAsU,kDAAkD,0EAA0E,mBAAmB,kDAAkD,iBAAiB,2FAA2F,+CAA+C,aAAa,iCAAiC,6BAA6B,aAAa,+BAA+B,mJAAmJ,gDAAgD,gBAAgB,cAAc,KAAK,cAAc,qBAAqB,aAAa,uPAAuP,mVAAmV,sVAAsV,yXAAyX,kWAAkW,oP;;;;;;;;;;;ACA11F,yNAAyN,4NAA4N,ihBAAihB,gBAAgB,mUAAmU,snCAAsnC,2CAA2C,UAAU,wCAAwC,0CAA0C,qBAAqB,8BAA8B,4BAA4B,mDAAmD,odAAod,seAAse,+DAA+D,iGAAiG,MAAM,MAAM,MAAM,MAAM,maAAma,seAAse,+DAA+D,ohBAAohB,mBAAmB,kKAAkK,KAAK,4O;;;;;;;;;;;ACAh6K,4LAA4L,MAAM,ghCAAghC,6KAA6K,QAAQ,kBAAkB,sdAAsd,kBAAkB,mtCAAmtC,UAAU,gG;;;;;;;;;;;ACA9lG,oQAAoQ,MAAM,m/BAAm/B,wIAAwI,kBAAkB,wTAAwT,kBAAkB,0SAA0S,kBAAkB,2KAA2K,iBAAiB,mUAAmU,4CAA4C,YAAY,gVAAgV,iZAAiZ,qBAAqB,uRAAuR,6UAA6U,6CAA6C,eAAe,6LAA6L,kBAAkB,wKAAwK,YAAY,qDAAqD,uBAAuB,k8BAAk8B,kBAAkB,+ZAA+Z,kBAAkB,sUAAsU,kBAAkB,0lCAA0lC,kBAAkB,wZAAwZ,kBAAkB,spBAAspB,UAAU,0F;;;;;;;;;;;ACA50Q,uXAAuX,idAAid,gBAAgB,mRAAmR,ozDAAozD,2CAA2C,UAAU,wCAAwC,oCAAoC,sBAAsB,wBAAwB,8BAA8B,wBAAwB,iBAAiB,wBAAwB,wBAAwB,wBAAwB,kBAAkB,wBAAwB,kBAAkB,6CAA6C,0YAA0Y,wRAAwR,+GAA+G,MAAM,MAAM,uXAAuX,uRAAuR,uGAAuG,MAAM,MAAM,kDAAkD,kKAAkK,4GAA4G,+fAA+f,mBAAmB,gJAAgJ,KAAK,8N;;;;;;;;;;;ACA30L,kIAAkI,wBAAwB,sBAAsB,OAAO,yBAAyB,yBAAyB,SAAS,KAAK,oBAAoB,UAAU,2BAA2B,OAAO,0BAA0B,yBAAyB,SAAS,yBAAyB,wBAAwB,SAAS,KAAK,seAAse,YAAY,oDAAoD,eAAe,6uBAA6uB,aAAa,6QAA6Q,gBAAgB,oIAAoI,MAAM,kiBAAkiB,iBAAiB,oDAAoD,aAAa,6BAA6B,gCAAgC,sCAAsC,qDAAqD,4jCAA4jC,2CAA2C,UAAU,wCAAwC,2DAA2D,qBAAqB,4BAA4B,KAAK,yBAAyB,kBAAkB,yBAAyB,cAAc,2JAA2J,MAAM,0ZAA0Z,KAAK,MAAM,4TAA4T,MAAM,6FAA6F,WAAW,wBAAwB,yBAAyB,kBAAkB,WAAW,mLAAmL,mBAAmB,0IAA0I,KAAK,gN;;;;;;;;;;;ACAnoL,gIAAgI,wBAAwB,sBAAsB,OAAO,yBAAyB,yBAAyB,SAAS,KAAK,wBAAwB,UAAU,2BAA2B,OAAO,0BAA0B,yBAAyB,SAAS,yBAAyB,wBAAwB,SAAS,KAAK,0cAA0c,YAAY,sDAAsD,eAAe,ivBAAivB,aAAa,upBAAupB,iBAAiB,oDAAoD,aAAa,6BAA6B,gCAAgC,oCAAoC,qDAAqD,oMAAoM,2uCAA2uC,2CAA2C,UAAU,wCAAwC,yCAAyC,qBAAqB,0BAA0B,KAAK,wBAAwB,qBAAqB,uBAAuB,kBAAkB,wBAAwB,qBAAqB,wBAAwB,4BAA4B,kZAAkZ,WAAW,wBAAwB,yBAAyB,kBAAkB,WAAW,mLAAmL,mBAAmB,0IAA0I,KAAK,gN;;;;;;;;;;;ACA5qK,oPAAoP,MAAM,s9BAAs9B,+JAA+J,QAAQ,kBAAkB,qdAAqd,kBAAkB,siCAAsiC,UAAU,8F;;;;;;;;;;;ACAh6F,mNAAmN,4MAA4M,qdAAqd,gBAAgB,qRAAqR,2xCAA2xC,gBAAgB,wHAAwH,MAAM,8OAA8O,iBAAiB,oBAAoB,wOAAwO,63BAA63B,2CAA2C,UAAU,wCAAwC,sCAAsC,8BAA8B,wBAAwB,iCAAiC,+CAA+C,qPAAqP,8GAA8G,iDAAiD,uFAAuF,MAAM,MAAM,MAAM,MAAM,oNAAoN,+GAA+G,iDAAiD,wfAAwf,mBAAmB,gJAAgJ,KAAK,oO;;;;;;;;;;;ACA1tL,yLAAyL,MAAM,s9BAAs9B,+JAA+J,QAAQ,kBAAkB,gZAAgZ,kBAAkB,4/BAA4/B,UAAU,8F;;;;;;;;;;;ACAtvF,mNAAmN,gMAAgM,qdAAqd,gBAAgB,qRAAqR,k2BAAk2B,2CAA2C,UAAU,wCAAwC,sCAAsC,eAAe,wBAAwB,sBAAsB,+CAA+C,gOAAgO,8GAA8G,iDAAiD,uFAAuF,MAAM,MAAM,MAAM,MAAM,+LAA+L,+GAA+G,iDAAiD,ueAAue,mBAAmB,gJAAgJ,KAAK,kO;;;;;;;;;;;ACA1rH,gIAAgI,wBAAwB,sBAAsB,OAAO,yBAAyB,yBAAyB,SAAS,KAAK,oBAAoB,UAAU,2BAA2B,OAAO,0BAA0B,yBAAyB,SAAS,yBAAyB,wBAAwB,SAAS,KAAK,kwBAAkwB,aAAa,ymBAAymB,iBAAiB,oDAAoD,aAAa,6BAA6B,gCAAgC,sLAAsL,63CAA63C,2CAA2C,UAAU,wCAAwC,yCAAyC,qBAAqB,0BAA0B,KAAK,uBAAuB,kBAAkB,wBAAwB,qBAAqB,wBAAwB,4BAA4B,wBAAwB,2BAA2B,uBAAuB,sBAAsB,qZAAqZ,WAAW,kBAAkB,mBAAmB,kBAAkB,WAAW,mLAAmL,mBAAmB,0IAA0I,KAAK,gN;;;;;;;;;;;ACArsJ,wKAAwK,MAAM,m6BAAm6B,yBAAyB,0CAA0C,yBAAyB,irBAAirB,uMAAuM,sCAAsC,gBAAgB,0EAA0E,+FAA+F,UAAU,6CAA6C,qBAAqB,wBAAwB,8BAA8B,0BAA0B,OAAO,iB;;;;;;;;;;;ACAv6E,2CAA2C,mCAAmC,qCAAqC,oCAAoC,OAAO,cAAc,uBAAuB,OAAO,oBAAoB,oCAAoC,OAAO,yCAAyC,uBAAuB,kCAAkC,2BAA2B,OAAO,sCAAsC,wBAAwB,OAAO,wBAAwB,yBAAyB,OAAO,2BAA2B,kCAAkC,OAAO,aAAa,qBAAqB,oCAAoC,iCAAiC,uBAAuB,yCAAyC,mBAAmB,6BAA6B,mDAAmD,mCAAmC,uBAAuB,qCAAqC,2HAA2H,6BAA6B,yBAAyB,yBAAyB,6BAA6B,qYAAqY,yBAAyB,uBAAuB,0BAA0B,8DAA8D,yBAAyB,kCAAkC,qMAAqM,6BAA6B,8DAA8D,yBAAyB,kCAAkC,qMAAqM,6BAA6B,wBAAwB,8BAA8B,wBAAwB,8BAA8B,wBAAwB,8BAA8B,wBAAwB,8BAA8B,wBAAwB,8BAA8B,wBAAwB,8BAA8B,aAAa,+BAA+B,sCAAsC,6BAA6B,4BAA4B,sBAAsB,wCAAwC,sBAAsB,+BAA+B,uBAAuB,gCAAgC,wBAAwB,iCAAiC,yBAAyB,kCAAkC,wBAAwB,kCAAkC,2BAA2B,wCAAwC,2BAA2B,wCAAwC,4BAA4B,yCAAyC,uBAAuB,0BAA0B,yBAAyB,6BAA6B,gCAAgC,6BAA6B,yBAAyB,6BAA6B,gCAAgC,6BAA6B,sBAAsB,6BAA6B,6BAA6B,6BAA6B,yBAAyB,6BAA6B,gCAAgC,6BAA6B,wBAAwB,6BAA6B,+BAA+B,6BAA6B,uBAAuB,oBAAoB,wCAAwC,8BAA8B,wCAAwC,uBAAuB,wCAAwC,8BAA8B,wCAAwC,oBAAoB,wCAAwC,2BAA2B,wCAAwC,uBAAuB,wCAAwC,8BAA8B,wCAAwC,sBAAsB,wCAAwC,6BAA6B,wCAAwC,wBAAwB,4BAA4B,4BAA4B,4CAA4C,uBAAuB,sBAAsB,kCAAkC,qDAAqD,+BAA+B,0BAA0B,wBAAwB,+BAA+B,wBAAwB,wBAAwB,0BAA0B,+BAA+B,2BAA2B,8BAA8B,2BAA2B,gCAAgC,cAAc,sBAAsB,kCAAkC,uBAAuB,sCAAsC,cAAc,+BAA+B,cAAc,6BAA6B,oCAAoC,2BAA2B,sBAAsB,uBAAuB,2BAA2B,sBAAsB,4BAA4B,kCAAkC,sCAAsC,+BAA+B,qCAAqC,OAAO,iDAAiD,uBAAuB,mCAAmC,4CAA4C,uJAAuJ,oBAAoB,oCAAoC,4CAA4C,2BAA2B,wBAAwB,0BAA0B,iCAAiC,4CAA4C,0BAA0B,wBAAwB,yBAAyB,iCAAiC,4CAA4C,yBAAyB,wBAAwB,yBAAyB,iCAAiC,sBAAsB,uBAAuB,0BAA0B,iCAAiC,8BAA8B,6GAA6G,0BAA0B,iBAAiB,mBAAmB,gDAAgD,2CAA2C,8CAA8C,oBAAoB,yBAAyB,qBAAqB,sBAAsB,iCAAiC,wBAAwB,uBAAuB,kCAAkC,0BAA0B,iCAAiC,6BAA6B,uCAAuC,uBAAuB,2BAA2B,kBAAkB,yBAAyB,iDAAiD,4CAA4C,yCAAyC,0CAA0C,qCAAqC,kCAAkC,wDAAwD,mDAAmD,sDAAsD,kBAAkB,yBAAyB,+BAA+B,8BAA8B,iBAAiB,kBAAkB,+BAA+B,6CAA6C,0CAA0C,OAAO,uBAAuB,8BAA8B,iBAAiB,kBAAkB,yBAAyB,+BAA+B,8BAA8B,4CAA4C,iDAAiD,mBAAmB,wCAAwC,qBAAqB,OAAO,cAAc,yBAAyB,OAAO,yCAAyC,uBAAuB,kCAAkC,2BAA2B,OAAO,sCAAsC,wBAAwB,OAAO,wBAAwB,yBAAyB,OAAO,2BAA2B,kCAAkC,OAAO,sBAAsB,2BAA2B,OAAO,yBAAyB,oBAAoB,OAAO,4BAA4B,yBAAyB,OAAO,8BAA8B,uBAAuB,kCAAkC,8BAA8B,OAAO,wDAAwD,kCAAkC,gCAAgC,OAAO,sEAAsE,6CAA6C,kCAAkC,OAAO,2LAA2L,8BAA8B,uBAAuB,OAAO,oIAAoI,uBAAuB,OAAO,iBAAiB,qBAAqB,2BAA2B,+BAA+B,OAAO,qCAAqC,oCAAoC,oBAAoB,SAAS,OAAO,yCAAyC,oCAAoC,oBAAoB,SAAS,OAAO,4CAA4C,qCAAqC,oBAAoB,SAAS,OAAO,gDAAgD,qCAAqC,oBAAoB,SAAS,OAAO,yBAAyB,uBAAuB,OAAO,0CAA0C,uBAAuB,0BAA0B,iBAAiB,kBAAkB,qBAAqB,iCAAiC,SAAS,uDAAuD,4BAA4B,SAAS,OAAO,yBAAyB,uBAAuB,qBAAqB,6BAA6B,OAAO,cAAc,oBAAoB,uCAAuC,yBAAyB,mBAAmB,OAAO,sBAAsB,oBAAoB,uBAAuB,uCAAuC,qBAAqB,2BAA2B,mBAAmB,OAAO,+CAA+C,sBAAsB,2BAA2B,qBAAqB,OAAO,8BAA8B,uBAAuB,OAAO,oCAAoC,yBAAyB,+BAA+B,wBAAwB,uBAAuB,yBAAyB,0BAA0B,2BAA2B,2BAA2B,qBAAqB,qBAAqB,OAAO,sCAAsC,sBAAsB,oBAAoB,yBAAyB,4BAA4B,2BAA2B,eAAe,OAAO,4CAA4C,+BAA+B,kBAAkB,sBAAsB,uBAAuB,qBAAqB,2BAA2B,eAAe,qBAAqB,mBAAmB,OAAO,6DAA6D,4BAA4B,OAAO,+DAA+D,uBAAuB,wBAAwB,yBAAyB,oBAAoB,OAAO,yCAAyC,YAAY,sBAAsB,SAAS,wBAAwB,sBAAsB,SAAS,sCAAsC,yBAAyB,uBAAuB,SAAS,wCAAwC,sBAAsB,2BAA2B,SAAS,8CAA8C,iCAAiC,oBAAoB,wBAAwB,yBAAyB,uBAAuB,6BAA6B,iBAAiB,uBAAuB,SAAS,OAAO,wBAAwB,yBAAyB,wBAAwB,SAAS,OAAO,wBAAwB,eAAe,qBAAqB,sBAAsB,SAAS,2BAA2B,mCAAmC,SAAS,OAAO,wBAAwB,qCAAqC,mCAAmC,SAAS,OAAO,yBAAyB,yBAAyB,yBAAyB,SAAS,OAAO,mBAAmB,wCAAwC,OAAO,cAAc,yBAAyB,OAAO,yCAAyC,uBAAuB,kCAAkC,OAAO,sCAAsC,wBAAwB,OAAO,wBAAwB,yBAAyB,OAAO,sBAAsB,2BAA2B,OAAO,6BAA6B,oBAAoB,OAAO,4BAA4B,yBAAyB,OAAO,kCAAkC,uBAAuB,kCAAkC,8BAA8B,OAAO,2LAA2L,8BAA8B,uBAAuB,OAAO,oIAAoI,uBAAuB,OAAO,qCAAqC,mCAAmC,oCAAoC,kCAAkC,4BAA4B,uCAAuC,4BAA4B,SAAS,OAAO,qCAAqC,oBAAoB,wBAAwB,SAAS,WAAW,uLAAuL,cAAc,gBAAgB,uJAAuJ,0sDAA0sD,YAAY,aAAa,kKAAkK,iCAAiC,YAAY,6YAA6Y,gLAAgL,YAAY,aAAa,mFAAmF,gCAAgC,YAAY,wJAAwJ,qDAAqD,WAAW,iDAAiD,yBAAyB,4BAA4B,aAAa,OAAO,wBAAwB,eAAe,qBAAqB,sBAAsB,SAAS,2BAA2B,mCAAmC,SAAS,OAAO,wBAAwB,qCAAqC,mCAAmC,SAAS,OAAO,yBAAyB,yBAAyB,yBAAyB,SAAS,OAAO,mBAAmB,wCAAwC,OAAO,kBAAkB,6BAA6B,iDAAiD,qBAAqB,OAAO,0BAA0B,qBAAqB,OAAO,oTAAoT,yHAAyH,k5BAAk5B,MAAM,+FAA+F,MAAM,seAAse,MAAM,+FAA+F,MAAM,6WAA6W,s5BAAs5B,uMAAuM,MAAM,8GAA8G,MAAM,+JAA+J,mMAAmM,MAAM,8GAA8G,MAAM,oLAAoL,49BAA49B,QAAQ,eAAe,ojBAAojB,MAAM,yeAAye,mZAAmZ,MAAM,uEAAuE,MAAM,6HAA6H,qPAAqP,MAAM,uEAAuE,MAAM,2LAA2L,ktBAAktB,MAAM,sSAAsS,kzBAAkzB,QAAQ,eAAe,0ZAA0Z,urBAAurB,MAAM,mGAAmG,QAAQ,eAAe,wSAAwS,6TAA6T,MAAM,mGAAmG,QAAQ,eAAe,iTAAiT,mrBAAmrB,MAAM,mGAAmG,QAAQ,eAAe,iQAAiQ,6TAA6T,MAAM,mGAAmG,MAAM,qlBAAqlB,gKAAgK,wQAAwQ,OAAO,MAAM,0JAA0J,6XAA6X,2pBAA2pB,aAAa,2PAA2P,iBAAiB,8UAA8U,iBAAiB,0EAA0E,MAAM,MAAM,kEAAkE,0BAA0B,aAAa,gBAAgB,uWAAuW,2CAA2C,WAAW,qH;;;;;;;;;;;ACA9llC,gPAAgP,MAAM,w4BAAw4B,oUAAoU,kBAAkB,0LAA0L,mCAAmC,sDAAsD,kBAAkB,sHAAsH,kBAAkB,uHAAuH,kBAAkB,yNAAyN,YAAY,0DAA0D,4BAA4B,sMAAsM,kBAAkB,gQAAgQ,YAAY,4DAA4D,8BAA8B,0MAA0M,kBAAkB,uLAAuL,YAAY,oDAAoD,sBAAsB,8MAA8M,kBAAkB,mSAAmS,YAAY,+DAA+D,iCAAiC,qMAAqM,kBAAkB,4KAA4K,YAAY,6CAA6C,eAAe,oUAAoU,kBAAkB,wHAAwH,ynCAAynC,UAAU,8F;;;;;;;;;;;ACAv/L,6XAA6X,idAAid,gBAAgB,+sEAA+sE,2CAA2C,UAAU,wCAAwC,qCAAqC,kBAAkB,wBAAwB,qBAAqB,wBAAwB,sBAAsB,wBAAwB,kBAAkB,8BAA8B,qBAAqB,6BAA6B,aAAa,oCAAoC,gBAAgB,+CAA+C,yNAAyN,4GAA4G,iDAAiD,uFAAuF,MAAM,MAAM,qNAAqN,4GAA4G,iDAAiD,0dAA0d,mBAAmB,gJAAgJ,KAAK,qQ;;;;;;;;;;;ACAn9J,oPAAoP,MAAM,s9BAAs9B,wIAAwI,kBAAkB,iTAAiT,kBAAkB,mMAAmM,YAAY,yDAAyD,mBAAmB,4TAA4T,kBAAkB,2SAA2S,kBAAkB,+xBAA+xB,UAAU,8F;;;;;;;;;;;ACA53G,mNAAmN,uMAAuM,qdAAqd,gBAAgB,4VAA4V,iBAAiB,oBAAoB,ivCAAivC,iBAAiB,+FAA+F,MAAM,2PAA2P,iBAAiB,oBAAoB,iTAAiT,iBAAiB,oBAAoB,8QAA8Q,iBAAiB,oBAAoB,szBAAszB,2CAA2C,UAAU,wCAAwC,6FAA6F,sBAAsB,4BAA4B,qBAAqB,qIAAqI,MAAM,mKAAmK,YAAY,iDAAiD,8RAA8R,8GAA8G,uDAAuD,6FAA6F,MAAM,MAAM,MAAM,MAAM,yQAAyQ,+GAA+G,uDAAuD,4UAA4U,gNAAgN,sdAAsd,mBAAmB,gJAAgJ,KAAK,kR;;;;;;;;;;;ACAnjO,kIAAkI,wBAAwB,sBAAsB,OAAO,yBAAyB,uBAAuB,OAAO,KAAK,oBAAoB,UAAU,2BAA2B,OAAO,0BAA0B,uBAAuB,OAAO,yBAAyB,sBAAsB,OAAO,KAAK,0VAA0V,iBAAiB,0MAA0M,6CAA6C,eAAe,2SAA2S,iBAAiB,mMAAmM,iDAAiD,qBAAqB,+PAA+P,iBAAiB,mKAAmK,2CAA2C,eAAe,2uBAA2uB,aAAa,2jBAA2jB,iBAAiB,oDAAoD,aAAa,6BAA6B,gCAAgC,iGAAiG,qDAAqD,kFAAkF,iEAAiE,q+CAAq+C,2CAA2C,UAAU,wCAAwC,mCAAmC,KAAK,wBAAwB,qBAAqB,qEAAqE,wBAAwB,uBAAuB,kBAAkB,wBAAwB,qBAAqB,wBAAwB,4BAA4B,iSAAiS,WAAW,sBAAsB,uBAAuB,kBAAkB,WAAW,kLAAkL,mBAAmB,0IAA0I,KAAK,gN;;;;;;;;;;;ACA53M,yQAAyQ,MAAM,ugCAAugC,sLAAsL,kBAAkB,2GAA2G,kYAAkY,iBAAiB,4VAA4V,iBAAiB,yVAAyV,iBAAiB,uWAAuW,iBAAiB,qpBAAqpB,iBAAiB,oVAAoV,iBAAiB,sWAAsW,iBAAiB,icAAic,iBAAiB,kcAAkc,iBAAiB,mXAAmX,iBAAiB,6WAA6W,iBAAiB,2YAA2Y,uEAAuE,iBAAiB,qdAAqd,iBAAiB,oVAAoV,iBAAiB,8cAA8c,iBAAiB,kXAAkX,iBAAiB,mXAAmX,+yBAA+yB,iBAAiB,wZAAwZ,iBAAiB,0pBAA0pB,UAAU,0F;;;;;;;;;;;ACAp+U,8VAA8V,0hBAA0hB,gBAAgB,kSAAkS,wsCAAwsC,2CAA2C,UAAU,wCAAwC,4DAA4D,sBAAsB,uBAAuB,WAAW,yBAAyB,WAAW,wBAAwB,kBAAkB,4CAA4C,+CAA+C,oJAAoJ,2EAA2E,MAAM,MAAM,wJAAwJ,2FAA2F,MAAM,MAAM,6JAA6J,iFAAiF,MAAM,MAAM,kDAAkD,6jBAA6jB,mBAAmB,gJAAgJ,KAAK,gR;;;;;;;;;;;ACAvuI,kIAAkI,wBAAwB,sBAAsB,OAAO,yBAAyB,yBAAyB,SAAS,KAAK,oBAAoB,UAAU,2BAA2B,OAAO,0BAA0B,yBAAyB,SAAS,yBAAyB,wBAAwB,SAAS,KAAK,6VAA6V,iBAAiB,0MAA0M,6CAA6C,eAAe,6SAA6S,iBAAiB,mMAAmM,iDAAiD,qBAAqB,6PAA6P,iBAAiB,mKAAmK,2CAA2C,eAAe,itBAAitB,aAAa,0QAA0Q,gBAAgB,sIAAsI,MAAM,yfAAyf,iBAAiB,oDAAoD,aAAa,6BAA6B,gCAAgC,iGAAiG,qDAAqD,kFAAkF,iEAAiE,i3FAAi3F,2CAA2C,UAAU,wCAAwC,yCAAyC,qBAAqB,0BAA0B,KAAK,mFAAmF,wBAAwB,mCAAmC,kBAAkB,wBAAwB,qBAAqB,wBAAwB,sBAAsB,qDAAqD,mBAAmB,2BAA2B,8BAA8B,wBAAwB,iBAAiB,wBAAwB,qBAAqB,uBAAuB,qBAAqB,uBAAuB,oBAAoB,uBAAuB,sBAAsB,gZAAgZ,WAAW,wBAAwB,yBAAyB,kBAAkB,WAAW,wLAAwL,mBAAmB,0IAA0I,KAAK,gN;;;;;;;;;;;ACAjlR,+IAA+I,MAAM,o5B;;;;;;;;;;;ACArJ,mcAAmc,iBAAiB,mXAAmX,+DAA+D,eAAe,gSAAgS,iBAAiB,iOAAiO,mEAAmE,qBAAqB,+SAA+S,iBAAiB,yMAAyM,6DAA6D,eAAe,mQAAmQ,2RAA2R,q8CAAq8C,2CAA2C,UAAU,wCAAwC,gFAAgF,2BAA2B,wKAAwK,yBAAyB,wCAAwC,gBAAgB,uCAAuC,uBAAuB,4DAA4D,uNAAuN,+FAA+F,MAAM,MAAM,oJAAoJ,8QAA8Q,sPAAsP,yEAAyE,sJAAsJ,MAAM,MAAM,+GAA+G,gRAAgR,sPAAsP,yEAAyE,4IAA4I,MAAM,OAAO,qGAAqG,oLAAoL,4GAA4G,iEAAiE,kiBAAkiB,mBAAmB,oLAAoL,KAAK,8vB;;;;;;;;;;;ACAl0P,gPAAgP,MAAM,o/BAAo/B,sUAAsU,KAAK,kBAAkB,oMAAoM,kBAAkB,qNAAqN,YAAY,0DAA0D,4BAA4B,8MAA8M,kBAAkB,wNAAwN,YAAY,4DAA4D,8BAA8B,0MAA0M,kBAAkB,+LAA+L,YAAY,oDAAoD,sBAAsB,yWAAyW,YAAY,+DAA+D,iCAAiC,8NAA8N,kBAAkB,+MAA+M,YAAY,0FAA0F,6CAA6C,4UAA4U,kBAAkB,qbAAqb,kBAAkB,mLAAmL,YAAY,4DAA4D,8BAA8B,4MAA4M,kBAAkB,mLAAmL,YAAY,wDAAwD,iBAAiB,2XAA2X,kBAAkB,+NAA+N,YAAY,iEAAiE,4BAA4B,4PAA4P,kBAAkB,0NAA0N,YAAY,+DAA+D,8BAA8B,uPAAuP,kBAAkB,sMAAsM,YAAY,qDAAqD,sBAAsB,giBAAgiB,YAAY,oEAAoE,iCAAiC,oQAAoQ,kBAAkB,2MAA2M,YAAY,0EAA0E,6CAA6C,uWAAuW,kBAAkB,inBAAinB,kBAAkB,+KAA+K,YAAY,2DAA2D,8BAA8B,mOAAmO,kBAAkB,+KAA+K,YAAY,uDAAuD,iBAAiB,q3BAAq3B,WAAW,0IAA0I,iCAAiC,mLAAmL,iCAAiC,4PAA4P,sEAAsE,KAAK,kBAAkB,wSAAwS,kBAAkB,gLAAgL,YAAY,0DAA0D,4BAA4B,wTAAwT,kBAAkB,6MAA6M,YAAY,gEAAgE,kCAAkC,owBAAowB,UAAU,oEAAoE,YAAY,0B;;;;;;;;;;;ACA9nc,ojCAAojC,iBAAiB,8HAA8H,MAAM,8OAA8O,iBAAiB,o5FAAo5F,2CAA2C,UAAU,wCAAwC,4CAA4C,qBAAqB,4BAA4B,sBAAsB,yEAAyE,qBAAqB,0BAA0B,sBAAsB,yBAAyB,kBAAkB,gCAAgC,mBAAmB,yBAAyB,8BAA8B,0BAA0B,iBAAiB,0BAA0B,qBAAqB,0BAA0B,qBAAqB,0BAA0B,oBAAoB,0BAA0B,sBAAsB,6DAA6D,8JAA8J,4GAA4G,yHAAyH,MAAM,MAAM,0KAA0K,4GAA4G,4kBAA4kB,mBAAmB,sKAAsK,KAAK,8iB;;;;;;;;;;;ACAliN,0DAA0D,mBAAmB,wCAAwC,aAAa,qBAAqB,uCAAuC,SAAS,wBAAwB,sCAAsC,qCAAqC,sBAAsB,SAAS,OAAO,iBAAiB,mBAAmB,2BAA2B,OAAO,mBAAmB,kCAAkC,oCAAoC,wBAAwB,6BAA6B,wBAAwB,qCAAqC,mCAAmC,SAAS,OAAO,wBAAwB,yBAAyB,4BAA4B,aAAa,OAAO,wBAAwB,eAAe,oBAAoB,SAAS,kBAAkB,wBAAwB,SAAS,OAAO,wBAAwB,uBAAuB,mCAAmC,SAAS,4BAA4B,mCAAmC,SAAS,OAAO,wBAAwB,uBAAuB,8BAA8B,2BAA2B,8BAA8B,OAAO,wBAAwB,eAAe,qBAAqB,iCAAiC,SAAS,2BAA2B,mCAAmC,SAAS,OAAO,wBAAwB,qCAAqC,wBAAwB,iCAAiC,SAAS,OAAO,yBAAyB,yBAAyB,yBAAyB,aAAa,OAAO,wBAAwB,qIAAqI,wBAAwB,SAAS,OAAO,sBAAsB,qBAAqB,kCAAkC,qBAAqB,2BAA2B,wBAAwB,2BAA2B,kCAAkC,wBAAwB,0BAA0B,wCAAwC,2BAA2B,OAAO,sBAAsB,qBAAqB,kCAAkC,qBAAqB,2BAA2B,wBAAwB,2BAA2B,kCAAkC,wBAAwB,0BAA0B,4CAA4C,2CAA2C,8BAA8B,OAAO,gBAAgB,kCAAkC,OAAO,qBAAqB,4BAA4B,2BAA2B,gCAAgC,OAAO,mBAAmB,wBAAwB,kBAAkB,wBAAwB,yBAAyB,OAAO,qCAAqC,mBAAmB,mCAAmC,kCAAkC,wCAAwC,sCAAsC,SAAS,uBAAuB,sCAAsC,SAAS,wBAAwB,6BAA6B,SAAS,uBAAuB,4BAA4B,8BAA8B,SAAS,6BAA6B,4BAA4B,8BAA8B,SAAS,OAAO,oLAAoL,MAAM,u7BAAu7B,0BAA0B,+nEAA+nE,4NAA4N,SAAS,oEAAoE,UAAU,mIAAmI,48BAA48B,gBAAgB,uDAAuD,cAAc,sDAAsD,eAAe,iDAAiD,kBAAkB,kDAAkD,2BAA2B,wDAAwD,UAAU,uDAAuD,aAAa,uDAAuD,iBAAiB,mDAAmD,mBAAmB,kDAAkD,kBAAkB,4BAA4B,sCAAsC,kDAAkD,kQAAkQ,kHAAkH,qDAAqD,2FAA2F,MAAM,MAAM,kNAAkN,oHAAoH,qDAAqD,kIAAkI,6PAA6P,kHAAkH,qDAAqD,2FAA2F,MAAM,MAAM,6MAA6M,oHAAoH,qDAAqD,grBAAgrB,qOAAqO,SAAS,wEAAwE,UAAU,49BAA49B,gBAAgB,uDAAuD,cAAc,mDAAmD,eAAe,kDAAkD,kBAAkB,kDAAkD,2BAA2B,wDAAwD,UAAU,uDAAuD,aAAa,uDAAuD,iBAAiB,mDAAmD,mBAAmB,kDAAkD,kBAAkB,4BAA4B,sCAAsC,kDAAkD,iQAAiQ,kHAAkH,qDAAqD,2FAA2F,MAAM,MAAM,6MAA6M,oHAAoH,qDAAqD,kIAAkI,sQAAsQ,kHAAkH,qDAAqD,2FAA2F,MAAM,MAAM,kNAAkN,oHAAoH,qDAAqD,yoBAAyoB,iKAAiK,cAAc,eAAe,aAAa,6CAA6C,gCAAgC,yFAAyF,UAAU,0CAA0C,iCAAiC,0KAA0K,wBAAwB,aAAa,gFAAgF,aAAa,gMAAgM,cAAc,8FAA8F,sBAAsB,qBAAqB,cAAc,YAAY,kBAAkB,2CAA2C,WAAW,iBAAiB,eAAe,oDAAoD,gNAAgN,iMAAiM,qJAAqJ,6BAA6B,6BAA6B,2IAA2I,8EAA8E,iNAAiN,YAAY,2DAA2D,mBAAmB,oBAAoB,iCAAiC,KAAK,uFAAuF,YAAY,iCAAiC,kBAAkB,6OAA6O,aAAa,cAAc,mDAAmD,eAAe,oQAAoQ,iHAAiH,kBAAkB,mHAAmH,gBAAgB,+MAA+M,+GAA+G,kBAAkB,6DAA6D,gBAAgB,kBAAkB,0HAA0H,mEAAmE,gBAAgB,6DAA6D,sBAAsB,oBAAoB,oCAAoC,aAAa,SAAS,GAAG,aAAa,MAAM,kbAAkb,kBAAkB,kBAAkB,2IAA2I,8EAA8E,qNAAqN,YAAY,+DAA+D,mBAAmB,oBAAoB,iCAAiC,KAAK,uFAAuF,YAAY,iCAAiC,cAAc,iFAAiF,WAAW,uLAAuL,4HAA4H,2HAA2H,0HAA0H,uUAAuU,6EAA6E,iTAAiT,kBAAkB,iBAAiB,8SAA8S,kBAAkB,iBAAiB,6MAA6M,qFAAqF,mPAAmP,YAAY,iEAAiE,mBAAmB,oBAAoB,uCAAuC,KAAK,mGAAmG,YAAY,uCAAuC,kBAAkB,8ZAA8Z,2BAA2B,aAAa,0KAA0K,uBAAuB,oFAAoF,sBAAsB,oBAAoB,wCAAwC,uBAAuB,QAAQ,uBAAuB,qLAAqL,kBAAkB,+LAA+L,sBAAsB,cAAc,wGAAwG,kGAAkG,uBAAuB,aAAa,8DAA8D,YAAY,uRAAuR,+SAA+S,2BAA2B,aAAa,0KAA0K,uBAAuB,oFAAoF,sBAAsB,oBAAoB,wCAAwC,uBAAuB,QAAQ,uBAAuB,qLAAqL,kBAAkB,+LAA+L,sBAAsB,aAAa,wGAAwG,kGAAkG,uBAAuB,aAAa,8DAA8D,YAAY,sRAAsR,0QAA0Q,gBAAgB,uNAAuN,iBAAiB,iBAAiB,uMAAuM,kBAAkB,kBAAkB,6JAA6J,oFAAoF,uPAAuP,YAAY,qEAAqE,mBAAmB,oBAAoB,uCAAuC,KAAK,mGAAmG,YAAY,uCAAuC,cAAc,6FAA6F,WAAW,mMAAmM,kIAAkI,iIAAiI,gIAAgI,ocAAoc,UAAU,2DAA2D,wBAAwB,gEAAgE,cAAc,eAAe,aAAa,6CAA6C,gCAAgC,6FAA6F,UAAU,0CAA0C,iCAAiC,+EAA+E,WAAW,iBAAiB,kDAAkD,wMAAwM,6LAA6L,mJAAmJ,6BAA6B,6BAA6B,gIAAgI,4EAA4E,yMAAyM,YAAY,yDAAyD,mBAAmB,oBAAoB,+BAA+B,KAAK,mFAAmF,YAAY,+BAA+B,kBAAkB,+NAA+N,aAAa,cAAc,iDAAiD,eAAe,gQAAgQ,+GAA+G,kBAAkB,iHAAiH,gBAAgB,2MAA2M,6GAA6G,kBAAkB,2DAA2D,gBAAgB,kBAAkB,wHAAwH,iEAAiE,gBAAgB,2DAA2D,sBAAsB,oBAAoB,kCAAkC,aAAa,SAAS,GAAG,aAAa,MAAM,oaAAoa,kBAAkB,kBAAkB,qIAAqI,4EAA4E,6MAA6M,YAAY,6DAA6D,mBAAmB,oBAAoB,+BAA+B,KAAK,mFAAmF,YAAY,+BAA+B,cAAc,6EAA6E,WAAW,mLAAmL,0HAA0H,yHAAyH,wHAAwH,qTAAqT,2EAA2E,qSAAqS,kBAAkB,iBAAiB,sSAAsS,kBAAkB,iBAAiB,qMAAqM,kFAAkF,2OAA2O,YAAY,+DAA+D,mBAAmB,oBAAoB,qCAAqC,KAAK,+FAA+F,YAAY,qCAAqC,kBAAkB,0YAA0Y,2BAA2B,aAAa,oKAAoK,uBAAuB,kFAAkF,sBAAsB,oBAAoB,sCAAsC,uBAAuB,QAAQ,uBAAuB,gLAAgL,kBAAkB,2LAA2L,sBAAsB,aAAa,sGAAsG,gGAAgG,uBAAuB,aAAa,4DAA4D,YAAY,mRAAmR,oSAAoS,2BAA2B,aAAa,oKAAoK,uBAAuB,kFAAkF,sBAAsB,oBAAoB,sCAAsC,uBAAuB,QAAQ,uBAAuB,gLAAgL,kBAAkB,2LAA2L,sBAAsB,aAAa,sGAAsG,gGAAgG,uBAAuB,aAAa,4DAA4D,YAAY,kRAAkR,6PAA6P,gBAAgB,0LAA0L,iBAAiB,iBAAiB,wKAAwK,kBAAkB,kBAAkB,gLAAgL,kFAAkF,+OAA+O,YAAY,mEAAmE,mBAAmB,oBAAoB,qCAAqC,KAAK,+FAA+F,YAAY,qCAAqC,cAAc,yFAAyF,WAAW,+LAA+L,gIAAgI,+HAA+H,8HAA8H,sWAAsW,+PAA+P,uJAAuJ,cAAc,2CAA2C,aAAa,oCAAoC,gCAAgC,mFAAmF,UAAU,wCAAwC,iCAAiC,mMAAmM,4LAA4L,sNAAsN,aAAa,wCAAwC,2GAA2G,MAAM,6JAA6J,8BAA8B,6BAA6B,cAAc,6IAA6I,iBAAiB,aAAa,wFAAwF,cAAc,aAAa,gHAAgH,YAAY,oXAAoX,iBAAiB,0JAA0J,gBAAgB,0EAA0E,sBAAsB,oBAAoB,kCAAkC,uBAAuB,KAAK,uBAAuB,yPAAyP,iBAAiB,iBAAiB,gBAAgB,6EAA6E,oDAAoD,oDAAoD,mLAAmL,iBAAiB,iFAAiF,mDAAmD,mDAAmD,iMAAiM,aAAa,gBAAgB,kBAAkB,mMAAmM,YAAY,2FAA2F,aAAa,kBAAkB,kDAAkD,YAAY,oQAAoQ,yIAAyI,cAAc,aAAa,gGAAgG,YAAY,oXAAoX,iBAAiB,sJAAsJ,iBAAiB,sDAAsD,uBAAuB,sDAAsD,sBAAsB,oBAAoB,KAAK,uBAAuB,yPAAyP,iBAAiB,gBAAgB,6EAA6E,6CAA6C,oDAAoD,4KAA4K,iBAAiB,iFAAiF,6CAA6C,mDAAmD,0LAA0L,aAAa,gBAAgB,kBAAkB,mMAAmM,YAAY,2FAA2F,aAAa,kBAAkB,kDAAkD,YAAY,oQAAoQ,2OAA2O,qDAAqD,oTAAoT,4EAA4E,mNAAmN,YAAY,yDAAyD,mBAAmB,oBAAoB,+BAA+B,KAAK,mFAAmF,YAAY,+BAA+B,kBAAkB,oQAAoQ,gBAAgB,gLAAgL,mMAAmM,4EAA4E,uNAAuN,YAAY,yDAAyD,mBAAmB,oBAAoB,+BAA+B,KAAK,mFAAmF,YAAY,+BAA+B,cAAc,iFAAiF,WAAW,mLAAmL,0HAA0H,yHAAyH,wHAAwH,gcAAgc,mSAAmS,sBAAsB,oBAAoB,kCAAkC,0BAA0B,8BAA8B,qBAAqB,OAAO,0BAA0B,uDAAuD,iBAAiB,iMAAiM,wQAAwQ,+FAA+F,0GAA0G,iMAAiM,kPAAkP,8FAA8F,uKAAuK,mRAAmR,sBAAsB,oBAAoB,kCAAkC,0BAA0B,QAAQ,qBAAqB,4BAA4B,0BAA0B,uDAAuD,iBAAiB,iMAAiM,wQAAwQ,+FAA+F,gFAAgF,gBAAgB,gMAAgM,0QAA0Q,8FAA8F,8TAA8T,6EAA6E,kVAAkV,gFAAgF,wQAAwQ,YAAY,6DAA6D,mBAAmB,oBAAoB,mCAAmC,KAAK,2FAA2F,YAAY,mCAAmC,kBAAkB,wSAAwS,gBAAgB,wNAAwN,mNAAmN,gFAAgF,6QAA6Q,YAAY,iEAAiE,mBAAmB,oBAAoB,mCAAmC,KAAK,2FAA2F,YAAY,mCAAmC,cAAc,yFAAyF,WAAW,2LAA2L,8HAA8H,6HAA6H,4HAA4H,4ZAA4Z,cAAc,2CAA2C,aAAa,wCAAwC,gCAAgC,gGAAgG,UAAU,4CAA4C,iCAAiC,+JAA+J,UAAU,yDAAyD,uBAAuB,4DAA4D,cAAc,6BAA6B,aAAa,oCAAoC,gCAAgC,uFAAuF,UAAU,wCAAwC,iCAAiC,oFAAoF,oBAAoB,kDAAkD,aAAa,4BAA4B,wCAAwC,kDAAkD,aAAa,wBAAwB,kDAAkD,aAAa,mCAAmC,iDAAiD,aAAa,eAAe,6HAA6H,4BAA4B,2BAA2B,cAAc,qEAAqE,kBAAkB,eAAe,wJAAwJ,qEAAqE,iBAAiB,aAAa,8FAA8F,cAAc,4HAA4H,YAAY,8ZAA8Z,iBAAiB,4KAA4K,gBAAgB,gFAAgF,sBAAsB,oBAAoB,wCAAwC,uBAAuB,KAAK,uBAAuB,6RAA6R,iBAAiB,mFAAmF,0DAA0D,oDAAoD,qMAAqM,uFAAuF,yDAAyD,mDAAmD,mNAAmN,aAAa,gBAAgB,kBAAkB,+MAA+M,YAAY,6GAA6G,aAAa,kBAAkB,wDAAwD,YAAY,gRAAgR,2JAA2J,cAAc,aAAa,4GAA4G,YAAY,8ZAA8Z,iBAAiB,wKAAwK,iBAAiB,4DAA4D,uBAAuB,4DAA4D,sBAAsB,oBAAoB,KAAK,uBAAuB,6RAA6R,iBAAiB,mFAAmF,mDAAmD,oDAAoD,8LAA8L,wFAAwF,mDAAmD,mDAAmD,4MAA4M,aAAa,gBAAgB,kBAAkB,+MAA+M,WAAW,6GAA6G,aAAa,kBAAkB,wDAAwD,YAAY,gRAAgR,2GAA2G,iBAAiB,mLAAmL,yYAAyY,kFAAkF,2OAA2O,YAAY,+DAA+D,mBAAmB,oBAAoB,qCAAqC,KAAK,+FAA+F,YAAY,qCAAqC,kBAAkB,sQAAsQ,iBAAiB,waAAwa,kFAAkF,+OAA+O,YAAY,+DAA+D,mBAAmB,oBAAoB,qCAAqC,KAAK,+FAA+F,YAAY,qCAAqC,cAAc,6FAA6F,WAAW,+LAA+L,gIAAgI,+HAA+H,8HAA8H,igBAAigB,aAAa,2RAA2R,sBAAsB,oBAAoB,gBAAgB,sCAAsC,0BAA0B,kCAAkC,qBAAqB,OAAO,0BAA0B,2DAA2D,iBAAiB,yMAAyM,oRAAoR,+FAA+F,sHAAsH,iBAAiB,yMAAyM,0PAA0P,8FAA8F,8JAA8J,aAAa,8OAA8O,sBAAsB,oBAAoB,sCAAsC,0BAA0B,QAAQ,qBAAqB,gCAAgC,0BAA0B,2DAA2D,iBAAiB,yMAAyM,oRAAoR,+FAA+F,wFAAwF,gBAAgB,wMAAwM,sRAAsR,8FAA8F,6HAA6H,iBAAiB,gOAAgO,+aAA+a,sFAAsF,sSAAsS,YAAY,mEAAmE,mBAAmB,oBAAoB,yCAAyC,KAAK,uGAAuG,YAAY,yCAAyC,kBAAkB,sSAAsS,iBAAiB,0eAA0e,sFAAsF,2SAA2S,YAAY,uEAAuE,mBAAmB,oBAAoB,yCAAyC,KAAK,uGAAuG,YAAY,yCAAyC,cAAc,qGAAqG,WAAW,uMAAuM,yKAAyK,wKAAwK,kIAAkI,2eAA2e,WAAW,qD;;;;;;;;;;;ACAzigF,icAAic,4BAA4B,sBAAsB,gBAAgB,kBAAkB,qBAAqB,mBAAmB,kBAAkB,mBAAmB,KAAK,uBAAuB,2BAA2B,KAAK,yBAAyB,6BAA6B,yBAAyB,0IAA0I,KAAK,6BAA6B,iBAAiB,KAAK,2BAA2B,6DAA6D,KAAK,oFAAoF,6DAA6D,KAAK,qBAAqB,+BAA+B,uBAAuB,wBAAwB,yBAAyB,uBAAuB,qBAAqB,yBAAyB,OAAO,KAAK,oBAAoB,0CAA0C,0BAA0B,mBAAmB,sBAAsB,yBAAyB,yBAAyB,yCAAyC,KAAK,cAAc,gCAAgC,kCAAkC,sBAAsB,+BAA+B,kBAAkB,gCAAgC,yBAAyB,yBAAyB,mBAAmB,kBAAkB,uBAAuB,iBAAiB,kBAAkB,8BAA8B,sBAAsB,KAAK,eAAe,gCAAgC,kCAAkC,sBAAsB,yBAAyB,0BAA0B,yCAAyC,KAAK,kBAAkB,qBAAqB,yBAAyB,sBAAsB,yBAAyB,KAAK,oBAAoB,4BAA4B,sBAAsB,8BAA8B,KAAK,mBAAmB,8BAA8B,mBAAmB,4BAA4B,6BAA6B,kCAAkC,4CAA4C,4BAA4B,+CAA+C,kFAAkF,KAAK,iBAAiB,uBAAuB,sBAAsB,8BAA8B,KAAK,kBAAkB,gCAAgC,KAAK,qBAAqB,gCAAgC,KAAK,iBAAiB,gCAAgC,KAAK,iBAAiB,gCAAgC,KAAK,sBAAsB,gCAAgC,KAAK,aAAa,wBAAwB,OAAO,qBAAqB,2BAA2B,KAAK,aAAa,kBAAkB,KAAK,eAAe,mBAAmB,gCAAgC,mBAAmB,yBAAyB,sBAAsB,yBAAyB,gCAAgC,sBAAsB,wBAAwB,0CAA0C,yBAAyB,mBAAmB,oBAAoB,KAAK,iBAAiB,mBAAmB,gCAAgC,mBAAmB,yBAAyB,sBAAsB,yBAAyB,gCAAgC,sBAAsB,wBAAwB,0CAA0C,yBAAyB,mBAAmB,KAAK,qBAAqB,mBAAmB,gCAAgC,mBAAmB,yBAAyB,sBAAsB,gCAAgC,yBAAyB,6BAA6B,mBAAmB,8BAA8B,KAAK,sBAAsB,sBAAsB,wBAAwB,KAAK,0BAA0B,mBAAmB,gCAAgC,mBAAmB,uBAAuB,sBAAsB,gCAAgC,yBAAyB,sBAAsB,6BAA6B,mBAAmB,mBAAmB,yCAAyC,4BAA4B,KAAK,yBAAyB,mBAAmB,gCAAgC,mBAAmB,uBAAuB,sBAAsB,gCAAgC,yBAAyB,sBAAsB,6BAA6B,mBAAmB,mBAAmB,yCAAyC,4BAA4B,KAAK,uBAAuB,mBAAmB,gCAAgC,mBAAmB,uBAAuB,sBAAsB,gCAAgC,yBAAyB,sBAAsB,6BAA6B,mBAAmB,mBAAmB,yCAAyC,QAAQ,yBAAyB,mBAAmB,gCAAgC,mBAAmB,uBAAuB,sBAAsB,gCAAgC,yBAAyB,sBAAsB,6BAA6B,mBAAmB,mBAAmB,KAAK,kBAAkB,kCAAkC,yBAAyB,yBAAyB,gCAAgC,mBAAmB,yBAAyB,yBAAyB,kCAAkC,wBAAwB,2BAA2B,qBAAqB,sBAAsB,yBAAyB,yCAAyC,6BAA6B,wBAAwB,QAAQ,mBAAmB,gCAAgC,mBAAmB,yBAAyB,yBAAyB,sBAAsB,yBAAyB,sBAAsB,KAAK,iBAAiB,gCAAgC,mBAAmB,yBAAyB,qBAAqB,0BAA0B,sBAAsB,KAAK,eAAe,kBAAkB,mBAAmB,yBAAyB,KAAK,iBAAiB,kBAAkB,mBAAmB,yBAAyB,sBAAsB,wBAAwB,0BAA0B,sBAAsB,8BAA8B,yBAAyB,uBAAuB,KAAK,mBAAmB,kBAAkB,mBAAmB,yBAAyB,sBAAsB,wBAAwB,0BAA0B,sBAAsB,8BAA8B,yBAAyB,KAAK,uBAAuB,wBAAwB,KAAK,cAAc,kBAAkB,mBAAmB,KAAK,oBAAoB,kCAAkC,kCAAkC,mBAAmB,yBAAyB,sBAAsB,kBAAkB,sBAAsB,wBAAwB,2BAA2B,sBAAsB,yCAAyC,8BAA8B,QAAQ,wBAAwB,kCAAkC,mBAAmB,yBAAyB,sBAAsB,kBAAkB,2BAA2B,sBAAsB,wBAAwB,yBAAyB,OAAO,sBAAsB,kCAAkC,gCAAgC,mBAAmB,kBAAkB,gCAAgC,yBAAyB,4BAA4B,wBAAwB,sBAAsB,yCAAyC,8BAA8B,QAAQ,uBAAuB,8BAA8B,mBAAmB,kBAAkB,gCAAgC,yBAAyB,4BAA4B,wBAAwB,sBAAsB,OAAO,gBAAgB,kBAAkB,iBAAiB,gCAAgC,yBAAyB,yBAAyB,mBAAmB,uBAAuB,KAAK,sBAAsB,kBAAkB,iBAAiB,gCAAgC,yBAAyB,yBAAyB,mBAAmB,uBAAuB,KAAK,gBAAgB,kBAAkB,gBAAgB,mCAAmC,4BAA4B,yBAAyB,mBAAmB,uBAAuB,sBAAsB,KAAK,uBAAuB,sBAAsB,KAAK,qBAAqB,gCAAgC,gCAAgC,mBAAmB,yBAAyB,wBAAwB,2BAA2B,sBAAsB,6BAA6B,sBAAsB,qBAAqB,qBAAqB,uBAAuB,uBAAuB,yCAAyC,QAAQ,gBAAgB,gCAAgC,gCAAgC,mBAAmB,yBAAyB,wBAAwB,2BAA2B,sBAAsB,6BAA6B,sBAAsB,qBAAqB,qBAAqB,uBAAuB,uBAAuB,OAAO,yCAAyC,QAAQ,oBAAoB,uBAAuB,wBAAwB,SAAS,KAAK,oBAAoB,aAAa,mBAAmB,oBAAoB,OAAO,uBAAuB,iCAAiC,OAAO,KAAK,oBAAoB,+BAA+B,iCAAiC,OAAO,KAAK,qBAAqB,uBAAuB,uBAAuB,OAAO,KAAK,eAAe,sBAAsB,gBAAgB,sBAAsB,uBAAuB,KAAK,mBAAmB,8BAA8B,mBAAmB,kBAAkB,gCAAgC,yBAAyB,4BAA4B,wBAAwB,sBAAsB,OAAO,qBAAqB,8BAA8B,mBAAmB,kBAAkB,gCAAgC,yBAAyB,4BAA4B,wBAAwB,sBAAsB,OAAO,gBAAgB,gCAAgC,0BAA0B,yBAAyB,mBAAmB,uBAAuB,kBAAkB,mBAAmB,8BAA8B,sBAAsB,KAAK,gCAAgC,cAAc,mCAAmC,OAAO,iBAAiB,8BAA8B,OAAO,cAAc,8BAA8B,OAAO,mBAAmB,uCAAuC,OAAO,KAAK,2BAA2B,iBAAiB,kCAAkC,iCAAiC,yBAAyB,yCAAyC,iCAAiC,6BAA6B,wCAAwC,s3CAAs3C,YAAY,0DAA0D,eAAe,4dAA4d,YAAY,mGAAmG,yBAAyB,sEAAsE,yBAAyB,mxBAAmxB,aAAa,4RAA4R,aAAa,4fAA4f,6GAA6G,m7BAAm7B,kBAAkB,gDAAgD,+CAA+C,cAAc,8YAA8Y,uIAAuI,sCAAsC,gBAAgB,aAAa,iBAAiB,iBAAiB,aAAa,gBAAgB,gBAAgB,6EAA6E,iBAAiB,aAAa,aAAa,aAAa,mBAAmB,gBAAgB,gBAAgB,oBAAoB,sBAAsB,+EAA+E,MAAM,2BAA2B,eAAe,qLAAqL,8EAA8E,8BAA8B,mBAAmB,yBAAyB,WAAW,iBAAiB,oJAAoJ,yBAAyB,6DAA6D,kFAAkF,yCAAyC,iFAAiF,aAAa,cAAc,+WAA+W,4GAA4G,kFAAkF,kiBAAkiB,wBAAwB,YAAY,2EAA2E,+DAA+D,eAAe,ySAAyS,6GAA6G,yEAAyE,gBAAgB,+TAA+T,2GAA2G,wDAAwD,gBAAgB,mRAAmR,2GAA2G,YAAY,iKAAiK,6bAA6b,iBAAiB,kKAAkK,iBAAiB,mHAAmH,sBAAsB,oBAAoB,sCAAsC,sBAAsB,SAAS,4BAA4B,sBAAsB,MAAM,sYAAsY,gBAAgB,kJAAkJ,mDAAmD,2DAA2D,8WAA8W,2FAA2F,2BAA2B,0DAA0D,gmBAAgmB,kFAAkF,4SAA4S,YAAY,+DAA+D,mBAAmB,oBAAoB,qCAAqC,KAAK,+FAA+F,YAAY,qCAAqC,kBAAkB,muBAAmuB,kFAAkF,gTAAgT,YAAY,+DAA+D,mBAAmB,oBAAoB,qCAAqC,KAAK,+FAA+F,YAAY,qCAAqC,cAAc,yFAAyF,WAAW,gMAAgM,gIAAgI,+HAA+H,+HAA+H,6RAA6R,sBAAsB,2LAA2L,yBAAyB,2EAA2E,wCAAwC,6CAA6C,yCAAyC,qfAAqf,4GAA4G,4HAA4H,sBAAsB,oBAAoB,sCAAsC,uBAAuB,mCAAmC,kBAAkB,IAAI,uBAAuB,m2BAAm2B,4LAA4L,yDAAyD,0EAA0E,mXAAmX,iMAAiM,yDAAyD,yEAAyE,oSAAoS,cAAc,2CAA2C,kBAAkB,0MAA0M,yDAAyD,iBAAiB,2IAA2I,aAAa,6DAA6D,YAAY,6XAA6X,iBAAiB,WAAW,oQAAoQ,8kBAA8kB,4GAA4G,4HAA4H,sBAAsB,oBAAoB,sCAAsC,uBAAuB,kCAAkC,kBAAkB,IAAI,uBAAuB,k2BAAk2B,4LAA4L,yDAAyD,0EAA0E,mXAAmX,iMAAiM,yDAAyD,yEAAyE,oSAAoS,aAAa,2CAA2C,kBAAkB,0MAA0M,yDAAyD,iBAAiB,2EAA2E,sEAAsE,aAAa,4DAA4D,YAAY,wSAAwS,8BAA8B,6BAA6B,smBAAsmB,sFAAsF,0VAA0V,YAAY,iEAAiE,mBAAmB,oBAAoB,uCAAuC,KAAK,mGAAmG,YAAY,uCAAuC,cAAc,6FAA6F,WAAW,mMAAmM,qKAAqK,oKAAoK,gIAAgI,8qBAA8qB,sFAAsF,sTAAsT,YAAY,mEAAmE,mBAAmB,oBAAoB,yCAAyC,KAAK,uGAAuG,YAAY,yCAAyC,kBAAkB,wuBAAwuB,wOAAwO,iBAAiB,mEAAmE,aAAa,aAAa,aAAa,mBAAmB,gBAAgB,gBAAgB,oBAAoB,sBAAsB,wFAAwF,MAAM,2BAA2B,eAAe,yWAAyW,uIAAuI,yCAAyC,aAAa,iBAAiB,iBAAiB,YAAY,gBAAgB,gBAAgB,gBAAgB,4RAA4R,yEAAyE,4BAA4B,mBAAmB,eAAe,oJAAoJ,yBAAyB,6BAA6B,wCAAwC,iDAAiD,aAAa,kFAAkF,yCAAyC,uEAAuE,+WAA+W,4GAA4G,wFAAwF,uBAAuB,sEAAsE,4eAA4e,wBAAwB,YAAY,2EAA2E,+DAA+D,gBAAgB,6VAA6V,6GAA6G,sBAAsB,4EAA4E,gBAAgB,gWAAgW,2GAA2G,kBAAkB,2BAA2B,yTAAyT,2GAA2G,YAAY,qNAAqN,wLAAwL,iSAAiS,mBAAmB,sIAAsI,sBAAsB,oBAAoB,gCAAgC,gCAAgC,SAAS,sBAAsB,gCAAgC,MAAM,wUAAwU,2FAA2F,gBAAgB,gBAAgB,yBAAyB,0DAA0D,sTAAsT,gBAAgB,iJAAiJ,mDAAmD,2DAA2D,oKAAoK,wBAAwB,qXAAqX,gBAAgB,yVAAyV,kHAAkH,6UAA6U,YAAY,6HAA6H,mBAAmB,oBAAoB,qCAAqC,KAAK,8HAA8H,YAAY,qCAAqC,kBAAkB,udAAud,gBAAgB,6VAA6V,kHAAkH,+UAA+U,YAAY,6HAA6H,mBAAmB,oBAAoB,qCAAqC,KAAK,8HAA8H,YAAY,qCAAqC,cAAc,yFAAyF,WAAW,gOAAgO,eAAe,iKAAiK,eAAe,gKAAgK,eAAe,gKAAgK,eAAe,6RAA6R,sBAAsB,2LAA2L,yBAAyB,yFAAyF,2DAA2D,cAAc,kBAAkB,2CAA2C,yCAAyC,4EAA4E,mcAAmc,4GAA4G,sFAAsF,uBAAuB,wDAAwD,sBAAsB,oBAAoB,6BAA6B,kBAAkB,GAAG,uBAAuB,iLAAiL,4EAA4E,+mBAA+mB,iBAAiB,iCAAiC,iMAAiM,uDAAuD,yEAAyE,uYAAuY,gBAAgB,gBAAgB,6LAA6L,uDAAuD,0EAA0E,wLAAwL,iQAAiQ,cAAc,yCAAyC,kBAAkB,oQAAoQ,8BAA8B,+BAA+B,kIAAkI,aAAa,2DAA2D,YAAY,gWAAgW,6BAA6B,2BAA2B,gNAAgN,oJAAoJ,ocAAoc,4GAA4G,sFAAsF,uBAAuB,wDAAwD,sBAAsB,oBAAoB,6BAA6B,kBAAkB,GAAG,uBAAuB,mLAAmL,4EAA4E,+mBAA+mB,iBAAiB,+BAA+B,iMAAiM,uDAAuD,yEAAyE,yYAAyY,gBAAgB,gBAAgB,6LAA6L,uDAAuD,0EAA0E,wLAAwL,iQAAiQ,cAAc,yCAAyC,kBAAkB,oQAAoQ,8BAA8B,6BAA6B,kIAAkI,aAAa,2DAA2D,YAAY,gWAAgW,6BAA6B,yBAAyB,kNAAkN,6JAA6J,0MAA0M,gBAAgB,2WAA2W,qHAAqH,qVAAqV,YAAY,qIAAqI,mBAAmB,oBAAoB,yCAAyC,KAAK,sIAAsI,YAAY,yCAAyC,kBAAkB,6VAA6V,0MAA0M,gBAAgB,+WAA+W,sHAAsH,6XAA6X,YAAY,iIAAiI,mBAAmB,oBAAoB,uCAAuC,KAAK,kIAAkI,YAAY,uCAAuC,cAAc,+FAA+F,WAAW,sOAAsO,eAAe,qKAAqK,eAAe,oKAAoK,eAAe,mKAAmK,eAAe,yaAAya,eAAe,uXAAuX,wOAAwO,gBAAgB,qGAAqG,aAAa,aAAa,aAAa,mBAAmB,0BAA0B,cAAc,gBAAgB,oBAAoB,gBAAgB,gCAAgC,MAAM,0BAA0B,gBAAgB,2ZAA2Z,uIAAuI,yCAAyC,aAAa,iBAAiB,iBAAiB,YAAY,gBAAgB,gBAAgB,YAAY,gBAAgB,qMAAqM,UAAU,2DAA2D,uBAAuB,gEAAgE,cAAc,wDAAwD,gCAAgC,0CAA0C,UAAU,8FAA8F,UAAU,0CAA0C,iCAAiC,kFAAkF,yCAAyC,iBAAiB,UAAU,WAAW,iLAAiL,iBAAiB,UAAU,WAAW,wDAAwD,4NAA4N,uyBAAuyB,6CAA6C,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,qTAAqT,09BAA09B,6IAA6I,iBAAiB,UAAU,WAAW,wDAAwD,kMAAkM,uyBAAuyB,sTAAsT,29BAA29B,0JAA0J,iBAAiB,UAAU,WAAW,wDAAwD,4NAA4N,uyBAAuyB,iVAAiV,09BAA09B,mLAAmL,MAAM,MAAM,MAAM,8KAA8K,iBAAiB,UAAU,WAAW,wDAAwD,4NAA4N,m/BAAm/B,MAAM,MAAM,kKAAkK,4NAA4N,m/BAAm/B,MAAM,MAAM,+KAA+K,iBAAiB,UAAU,WAAW,wDAAwD,4NAA4N,imEAAimE,MAAM,MAAM,uCAAuC,MAAM,MAAM,kCAAkC,MAAM,MAAM,qHAAqH,4NAA4N,imEAAimE,MAAM,MAAM,6QAA6Q,sBAAsB,oDAAoD,eAAe,4BAA4B,0CAA0C,oDAAoD,eAAe,wBAAwB,oDAAoD,eAAe,mCAAmC,mDAAmD,eAAe,iCAAiC,8BAA8B,iBAAiB,aAAa,mFAAmF,mEAAmE,aAAa,2HAA2H,iFAAiF,oBAAoB,uHAAuH,4GAA4G,8HAA8H,wBAAwB,YAAY,2EAA2E,+DAA+D,gBAAgB,6VAA6V,6GAA6G,sBAAsB,oFAAoF,gBAAgB,gWAAgW,2GAA2G,kBAAkB,mCAAmC,uTAAuT,mEAAmE,mBAAmB,kJAAkJ,sBAAsB,oBAAoB,gBAAgB,gCAAgC,gCAAgC,SAAS,sBAAsB,gCAAgC,MAAM,uXAAuX,2FAA2F,gBAAgB,gBAAgB,yBAAyB,0DAA0D,sTAAsT,gBAAgB,iJAAiJ,mDAAmD,2DAA2D,oKAAoK,gCAAgC,qXAAqX,gBAAgB,yVAAyV,iHAAiH,6UAA6U,YAAY,6HAA6H,mBAAmB,oBAAoB,qCAAqC,KAAK,8HAA8H,YAAY,qCAAqC,kBAAkB,meAAme,gBAAgB,6VAA6V,iHAAiH,iVAAiV,YAAY,6HAA6H,mBAAmB,oBAAoB,qCAAqC,KAAK,8HAA8H,YAAY,qCAAqC,cAAc,2FAA2F,WAAW,gOAAgO,eAAe,iKAAiK,eAAe,gKAAgK,eAAe,gKAAgK,eAAe,qYAAqY,wDAAwD,eAAe,kBAAkB,sFAAsF,gdAAgd,4GAA4G,wFAAwF,uBAAuB,sDAAsD,sBAAsB,oBAAoB,2BAA2B,kBAAkB,GAAG,uBAAuB,yUAAyU,kBAAkB,yCAAyC,+LAA+L,qDAAqD,yEAAyE,6XAA6X,iBAAiB,gBAAgB,2LAA2L,qDAAqD,0EAA0E,kLAAkL,oOAAoO,cAAc,uCAAuC,kBAAkB,8PAA8P,8BAA8B,uCAAuC,4HAA4H,aAAa,yDAAyD,YAAY,0VAA0V,6BAA6B,mCAAmC,4MAA4M,8JAA8J,idAAid,4GAA4G,wFAAwF,uBAAuB,sDAAsD,sBAAsB,oBAAoB,2BAA2B,kBAAkB,GAAG,uBAAuB,yUAAyU,kBAAkB,uCAAuC,+LAA+L,qDAAqD,yEAAyE,6XAA6X,iBAAiB,gBAAgB,2LAA2L,qDAAqD,0EAA0E,kLAAkL,oOAAoO,cAAc,uCAAuC,kBAAkB,8PAA8P,8BAA8B,qCAAqC,4HAA4H,aAAa,yDAAyD,YAAY,0VAA0V,6BAA6B,iCAAiC,4MAA4M,oJAAoJ,sMAAsM,gBAAgB,6VAA6V,mHAAmH,2UAA2U,YAAY,iIAAiI,mBAAmB,oBAAoB,uCAAuC,KAAK,kIAAkI,YAAY,uCAAuC,kBAAkB,0UAA0U,sMAAsM,gBAAgB,iWAAiW,mHAAmH,iXAAiX,YAAY,6HAA6H,mBAAmB,oBAAoB,qCAAqC,KAAK,8HAA8H,YAAY,qCAAqC,cAAc,2FAA2F,WAAW,gOAAgO,eAAe,iKAAiK,eAAe,gKAAgK,eAAe,+JAA+J,eAAe,yYAAyY,WAAW,8GAA8G,UAAU,2DAA2D,uBAAuB,gEAAgE,cAAc,wDAAwD,gCAAgC,0CAA0C,UAAU,8FAA8F,UAAU,0CAA0C,iCAAiC,gFAAgF,yCAAyC,iBAAiB,UAAU,WAAW,iLAAiL,iBAAiB,UAAU,WAAW,wDAAwD,4NAA4N,uyBAAuyB,6CAA6C,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,qTAAqT,09BAA09B,6IAA6I,iBAAiB,UAAU,WAAW,wDAAwD,kMAAkM,uyBAAuyB,sTAAsT,29BAA29B,0JAA0J,iBAAiB,UAAU,WAAW,wDAAwD,4NAA4N,uyBAAuyB,iVAAiV,09BAA09B,mLAAmL,MAAM,MAAM,MAAM,8KAA8K,iBAAiB,UAAU,WAAW,wDAAwD,4NAA4N,m/BAAm/B,MAAM,MAAM,kKAAkK,4NAA4N,m/BAAm/B,MAAM,MAAM,+KAA+K,iBAAiB,UAAU,WAAW,wDAAwD,4NAA4N,imEAAimE,MAAM,MAAM,uCAAuC,MAAM,MAAM,kCAAkC,MAAM,MAAM,qHAAqH,4NAA4N,imEAAimE,MAAM,MAAM,oUAAoU,WAAW,iLAAiL,6EAA6E,qCAAqC,SAAS,2DAA2D,oHAAoH,6EAA6E,SAAS,2DAA2D,uIAAuI,6EAA6E,SAAS,4DAA4D,iMAAiM,4DAA4D,2DAA2D,+GAA+G,iEAAiE,4DAA4D,8HAA8H,8EAA8E,SAAS,2DAA2D,sJAAsJ,gHAAgH,iKAAiK,gGAAgG,iFAAiF,MAAM,MAAM,iMAAiM,wGAAwG,iFAAiF,MAAM,MAAM,gPAAgP,8FAA8F,iFAAiF,MAAM,MAAM,8LAA8L,sGAAsG,iFAAiF,MAAM,MAAM,yKAAyK,sBAAsB,oDAAoD,eAAe,4BAA4B,0CAA0C,oDAAoD,eAAe,wBAAwB,oDAAoD,eAAe,mCAAmC,mDAAmD,eAAe,iCAAiC,8BAA8B,iBAAiB,aAAa,6MAA6M,kBAAkB,gGAAgG,iGAAiG,aAAa,cAAc,2HAA2H,4GAA4G,kJAAkJ,0BAA0B,wBAAwB,YAAY,6EAA6E,oFAAoF,YAAY,eAAe,gUAAgU,qIAAqI,+BAA+B,sEAAsE,gBAAgB,mUAAmU,mIAAmI,+BAA+B,4DAA4D,gBAAgB,yRAAyR,iEAAiE,iBAAiB,uMAAuM,iBAAiB,iIAAiI,sBAAsB,oBAAoB,wCAAwC,gCAAgC,SAAS,8BAA8B,gCAAgC,MAAM,sZAAsZ,iBAAiB,oJAAoJ,qDAAqD,2DAA2D,sXAAsX,6FAA6F,6BAA6B,0DAA0D,2eAA2e,oMAAoM,oFAAoF,wTAAwT,YAAY,iEAAiE,mBAAmB,oBAAoB,uCAAuC,KAAK,mGAAmG,YAAY,uCAAuC,kBAAkB,ymBAAymB,oMAAoM,oFAAoF,4TAA4T,YAAY,iEAAiE,mBAAmB,oBAAoB,uCAAuC,KAAK,mGAAmG,YAAY,uCAAuC,cAAc,+FAA+F,WAAW,mMAAmM,qKAAqK,oKAAoK,oKAAoK,+cAA+c,2DAA2D,ogBAAogB,4GAA4G,4HAA4H,sBAAsB,oBAAoB,sCAAsC,uBAAuB,mCAAmC,kBAAkB,IAAI,uBAAuB,8VAA8V,4LAA4L,yDAAyD,0EAA0E,0LAA0L,+VAA+V,iMAAiM,yDAAyD,yEAAyE,sSAAsS,cAAc,2CAA2C,kBAAkB,0MAA0M,yDAAyD,6IAA6I,aAAa,6DAA6D,YAAY,qTAAqT,WAAW,uNAAuN,ulBAAulB,4GAA4G,4HAA4H,sBAAsB,oBAAoB,sCAAsC,uBAAuB,kCAAkC,kBAAkB,IAAI,uBAAuB,yVAAyV,4LAA4L,yDAAyD,0EAA0E,4LAA4L,+VAA+V,iMAAiM,yDAAyD,yEAAyE,oSAAoS,aAAa,2CAA2C,kBAAkB,0MAA0M,yDAAyD,2EAA2E,sEAAsE,aAAa,4DAA4D,YAAY,wSAAwS,6BAA6B,0mBAA0mB,sFAAsF,8VAA8V,YAAY,iEAAiE,mBAAmB,oBAAoB,uCAAuC,KAAK,mGAAmG,YAAY,uCAAuC,cAAc,+FAA+F,WAAW,mMAAmM,qKAAqK,oKAAoK,gIAAgI,0rBAA0rB,uFAAuF,sTAAsT,YAAY,mEAAmE,mBAAmB,oBAAoB,yCAAyC,KAAK,uGAAuG,YAAY,yCAAyC,kBAAkB,+dAA+d,WAAW,kMAAkM,kGAAkG,sPAAsP,gBAAgB,gHAAgH,qCAAqC,SAAS,6EAA6E,+IAA+I,gBAAgB,mIAAmI,SAAS,8EAA8E,kKAAkK,gBAAgB,mIAAmI,SAAS,8EAA8E,goBAAgoB,wwBAAwwB,sFAAsF,+FAA+F,gCAAgC,2BAA2B,gBAAgB,qFAAqF,0BAA0B,wDAAwD,SAAS,kDAAkD,MAAM,4IAA4I,gBAAgB,yGAAyG,UAAU,UAAU,iLAAiL,0tBAA0tB,uLAAuL,gBAAgB,yGAAyG,UAAU,UAAU,kLAAkL,0tBAA0tB,0JAA0J,SAAS,kGAAkG,wFAAwF,gBAAgB,oEAAoE,UAAU,UAAU,kLAAkL,43BAA43B,8JAA8J,gBAAgB,8FAA8F,UAAU,UAAU,kLAAkL,63BAA63B,0KAA0K,gBAAgB,8FAA8F,UAAU,UAAU,mMAAmM,43BAA43B,+KAA+K,wEAAwE,cAAc,qDAAqD,gCAAgC,oHAAoH,oBAAoB,wFAAwF,6EAA6E,sHAAsH,WAAW,UAAU,kHAAkH,kEAAkE,MAAM,MAAM,4MAA4M,uFAAuF,UAAU,iBAAiB,0HAA0H,kEAAkE,MAAM,MAAM,0LAA0L,6EAA6E,4GAA4G,UAAU,iBAAiB,gHAAgH,kEAAkE,MAAM,MAAM,wMAAwM,0GAA0G,UAAU,iBAAiB,wHAAwH,kEAAkE,MAAM,MAAM,iM;;;;;;;;;;;ACAx97J,6QAA6Q,MAAM,s+BAAs+B,wIAAwI,kBAAkB,4cAA4c,kBAAkB,o6BAAo6B,YAAY,wDAAwD,sBAAsB,2OAA2O,kBAAkB,mQAAmQ,YAAY,0CAA0C,MAAM,+zBAA+zB,UAAU,wF;;;;;;;;;;;ACApvI,0YAA0Y,meAAme,gBAAgB,+RAA+R,63CAA63C,2CAA2C,UAAU,wCAAwC,sCAAsC,kBAAkB,0BAA0B,qBAAqB,0BAA0B,4BAA4B,kDAAkD,8BAA8B,iBAAiB,2KAA2K,qPAAqP,6GAA6G,mDAAmD,yFAAyF,MAAM,MAAM,6MAA6M,6GAA6G,mDAAmD,2OAA2O,2CAA2C,UAAU,wCAAwC,2FAA2F,kBAAkB,0BAA0B,qBAAqB,0BAA0B,4BAA4B,kDAAkD,8BAA8B,iBAAiB,oWAAoW,kDAAkD,8BAA8B,8GAA8G,MAAM,MAAM,gLAAgL,kDAAkD,8BAA8B,0MAA0M,kBAAkB,0BAA0B,qBAAqB,0BAA0B,4BAA4B,kDAAkD,8BAA8B,iBAAiB,iYAAiY,4GAA4G,mDAAmD,yFAAyF,MAAM,MAAM,6MAA6M,4GAA4G,mDAAmD,+eAA+e,mBAAmB,sJAAsJ,KAAK,0P;;;;;;;;;;;ACA/1O,oPAAoP,MAAM,o5BAAo5B,wIAAwI,kBAAkB,2TAA2T,kBAAkB,sbAAsb,kBAAkB,mLAAmL,YAAY,+DAA+D,wBAAwB,opBAAopB,kBAAkB,mOAAmO,YAAY,oDAAoD,sBAAsB,owBAAowB,kBAAkB,kgBAAkgB,kBAAkB,4LAA4L,YAAY,oEAAoE,wBAAwB,20BAA20B,kBAAkB,6NAA6N,YAAY,mDAAmD,sBAAsB,0xCAA0xC,kDAAkD,WAAW,uPAAuP,iCAAiC,oKAAoK,UAAU,4F;;;;;;;;;;;ACA5yP,gIAAgI,wBAAwB,sBAAsB,OAAO,yBAAyB,yBAAyB,SAAS,KAAK,oBAAoB,gBAAgB,oBAAoB,2BAA2B,OAAO,qBAAqB,2BAA2B,2BAA2B,OAAO,YAAY,qBAAqB,kCAAkC,qBAAqB,wBAAwB,OAAO,YAAY,qBAAqB,wBAAwB,OAAO,eAAe,kCAAkC,OAAO,iCAAiC,kCAAkC,yBAAyB,8BAA8B,OAAO,qBAAqB,4BAA4B,OAAO,wBAAwB,yBAAyB,OAAO,uBAAuB,4BAA4B,OAAO,cAAc,2BAA2B,OAAO,0BAA0B,yBAAyB,SAAS,yBAAyB,wBAAwB,SAAS,iBAAiB,wBAAwB,kBAAkB,wBAAwB,yBAAyB,OAAO,KAAK,k1BAAk1B,iBAAiB,gGAAgG,iBAAiB,6VAA6V,iBAAiB,iSAAiS,iRAAiR,gBAAgB,oBAAoB,iSAAiS,gBAAgB,oBAAoB,8wDAA8wD,2CAA2C,UAAU,wCAAwC,oEAAoE,6CAA6C,uBAAuB,kBAAkB,2CAA2C,qBAAqB,wCAAwC,4BAA4B,0BAA0B,2BAA2B,yBAAyB,sBAAsB,yBAAyB,4CAA4C,+CAA+C,4FAA4F,6JAA6J,4GAA4G,mDAAmD,yFAAyF,MAAM,MAAM,wFAAwF,+JAA+J,4GAA4G,mDAAmD,uFAAuF,MAAM,OAAO,sEAAsE,wJAAwJ,4GAA4G,iDAAiD,qVAAqV,qBAAqB,mnBAAmnB,yDAAyD,+BAA+B,eAAe,iCAAiC,kBAAkB,qCAAqC,mBAAmB,oCAAoC,cAAc,iCAAiC,kBAAkB,iCAAiC,iBAAiB,wuBAAwuB,mBAAmB,gJAAgJ,KAAK,ytBAAytB,SAAS,MAAM,SAAS,IAAI,YAAY,qEAAqE,SAAS,uWAAuW,sBAAsB,oBAAoB,qNAAqN,uCAAuC,sBAAsB,uCAAuC,oBAAoB,0CAA0C,uBAAuB,gCAAgC,6CAA6C,iFAAiF,sBAAsB,uCAAuC,oBAAoB,wCAAwC,uBAAuB,gCAAgC,6CAA6C,iSAAiS,sCAAsC,mBAAmB,4CAA4C,0BAA0B,kSAAkS,SAAS,MAAM,SAAS,IAAI,YAAY,6CAA6C,SAAS,+OAA+O,sBAAsB,oBAAoB,8MAA8M,yCAAyC,sBAAsB,0CAA0C,oBAAoB,2CAA2C,uBAAuB,mCAAmC,6CAA6C,uFAAuF,sBAAsB,0CAA0C,oBAAoB,0CAA0C,uBAAuB,kCAAkC,6CAA6C,iKAAiK,WAAW,iG;;;;;;;;;;;ACAr0a,kIAAkI,wBAAwB,sBAAsB,OAAO,yBAAyB,yBAAyB,SAAS,KAAK,oBAAoB,UAAU,2BAA2B,OAAO,0BAA0B,yBAAyB,SAAS,yBAAyB,wBAAwB,SAAS,KAAK,2uBAA2uB,aAAa,ypBAAypB,iBAAiB,oDAAoD,aAAa,6BAA6B,gCAAgC,yLAAyL,68CAA68C,2CAA2C,UAAU,wCAAwC,yCAAyC,qBAAqB,0BAA0B,KAAK,uBAAuB,kBAAkB,wBAAwB,qBAAqB,wBAAwB,4BAA4B,wBAAwB,2BAA2B,uBAAuB,sBAAsB,kbAAkb,WAAW,wBAAwB,yBAAyB,kBAAkB,WAAW,+LAA+L,mBAAmB,0IAA0I,KAAK,gN;;;;;;;;;;;ACAx2J,sXAAsX,kBAAkB,2YAA2Y,YAAY,yDAAyD,iBAAiB,ymBAAymB,YAAY,6DAA6D,iBAAiB,4mBAA4mB,YAAY,gDAAgD,MAAM,+NAA+N,maAAma,yBAAyB,UAAU,qcAAqc,qBAAqB,uTAAuT,uCAAuC,iBAAiB,qM;;;;;;;;;;;ACAxsH,6DAA6D,6CAA6C,gCAAgC,eAAe,6CAA6C,mCAAmC,qBAAqB,WAAW,oCAAoC,iBAAiB,mCAAmC,eAAe,gCAAgC,yCAAyC,yBAAyB,yCAAyC,kCAAkC,qBAAqB,aAAa,oCAAoC,WAAW,WAAW,EAAE,UAAU,eAAe,EAAE,GAAG,sBAAsB,qBAAqB,wDAAwD,8DAA8D,wEAAwE,+tBAA+tB,mHAAmH,MAAM,iwBAAiwB,iBAAiB,8EAA8E,kBAAkB,+BAA+B,gCAAgC,6MAA6M,igCAAigC,2CAA2C,UAAU,wCAAwC,6CAA6C,qBAAqB,2CAA2C,qBAAqB,gCAAgC,sBAAsB,0BAA0B,0BAA0B,2mBAA2mB,mBAAmB,sKAAsK,KAAK,oW;;;;;;;;;;;ACA38J,8LAA8L,kbAAkb,YAAY,yBAAyB,wBAAwB,yBAAyB,WAAW,yBAAyB,eAAe,yBAAyB,gBAAgB,yBAAyB,cAAc,mF;;;;;;;;;;;ACAz0B,yZAAyZ,oBAAoB,sBAAsB,yBAAyB,gCAAgC,KAAK,cAAc,kBAAkB,mBAAmB,8BAA8B,wBAAwB,OAAO,qBAAqB,wBAAwB,sBAAsB,OAAO,yBAAyB,yBAAyB,SAAS,KAAK,oBAAoB,gCAAgC,sBAAsB,OAAO,YAAY,2BAA2B,OAAO,0BAA0B,yBAAyB,SAAS,yBAAyB,wBAAwB,SAAS,qBAAqB,sBAAsB,OAAO,wBAAwB,sBAAsB,OAAO,KAAK,2eAA2e,iBAAiB,kNAAkN,iDAAiD,eAAe,gWAAgW,iBAAiB,2MAA2M,qDAAqD,qBAAqB,uQAAuQ,iBAAiB,2KAA2K,+CAA+C,eAAe,ySAAyS,aAAa,2KAA2K,gBAAgB,mDAAmD,MAAM,saAAsa,iBAAiB,2EAA2E,aAAa,6BAA6B,gCAAgC,iGAAiG,qDAAqD,kFAAkF,iEAAiE,+LAA+L,6UAA6U,wGAAwG,aAAa,qBAAqB,gGAAgG,2DAA2D,gBAAgB,YAAY,qEAAqE,mBAAmB,sDAAsD,SAAS,QAAQ,SAAS,kLAAkL,qBAAqB,uBAAuB,iHAAiH,6DAA6D,gBAAgB,YAAY,uEAAuE,mBAAmB,wDAAwD,SAAS,QAAQ,SAAS,0RAA0R,mBAAmB,oBAAoB,aAAa,qBAAqB,sGAAsG,4hGAA4hG,2CAA2C,UAAU,wCAAwC,YAAY,sBAAsB,KAAK,uFAAuF,uBAAuB,uDAAuD,iBAAiB,2DAA2D,oBAAoB,2DAA2D,qBAAqB,6DAA6D,6BAA6B,6DAA6D,gBAAgB,yDAAyD,oBAAoB,uDAAuD,mBAAmB,uDAAuD,qBAAqB,uDAAuD,oBAAoB,+IAA+I,+KAA+K,mBAAmB,4JAA4J,KAAK,iVAAiV,WAAW,oBAAoB,qBAAqB,sBAAsB,GAAG,WAAW,wJAAwJ,yPAAyP,iBAAiB,eAAe,+FAA+F,KAAK,qHAAqH,iUAAiU,KAAK,MAAM,kDAAkD,iBAAiB,2BAA2B,MAAM,YAAY,8FAA8F,UAAU,yEAAyE,gPAAgP,gFAAgF,qEAAqE,2FAA2F,6CAA6C,YAAY,0HAA0H,SAAS,QAAQ,SAAS,2IAA2I,wB;;;;;;;;;;;ACAtza,8LAA8L,6hBAA6hB,YAAY,yBAAyB,eAAe,yBAAyB,gBAAgB,6BAA6B,WAAW,yBAAyB,cAAc,yBAAyB,wBAAwB,yBAAyB,gBAAgB,yBAAyB,eAAe,yBAAyB,mCAAmC,uF;;;;;;;;;;;ACArkC,+ZAA+Z,uBAAuB,sBAAsB,gCAAgC,wCAAwC,KAAK,gBAAgB,yBAAyB,iBAAiB,KAAK,qBAAqB,wBAAwB,sBAAsB,OAAO,yBAAyB,yBAAyB,SAAS,KAAK,oBAAoB,UAAU,2BAA2B,OAAO,0BAA0B,yBAAyB,SAAS,yBAAyB,wBAAwB,SAAS,KAAK,ukBAAukB,YAAY,0DAA0D,eAAe,2UAA2U,aAAa,wdAAwd,iBAAiB,2EAA2E,aAAa,6BAA6B,gCAAgC,oCAAoC,qDAAqD,wYAAwY,sEAAsE,yHAAyH,2DAA2D,gBAAgB,YAAY,qEAAqE,mBAAmB,sDAAsD,SAAS,QAAQ,SAAS,4IAA4I,+FAA+F,kvFAAkvF,2CAA2C,UAAU,wCAAwC,YAAY,sBAAsB,KAAK,yBAAyB,iBAAiB,yCAAyC,oBAAoB,2CAA2C,qBAAqB,2CAA2C,6BAA6B,yDAAyD,gBAAgB,yDAAyD,oBAAoB,6DAA6D,mBAAmB,uDAAuD,qBAAqB,uDAAuD,oBAAoB,iJAAiJ,+KAA+K,mBAAmB,4JAA4J,KAAK,iVAAiV,WAAW,oBAAoB,qBAAqB,kBAAkB,WAAW,wJAAwJ,2PAA2P,iBAAiB,eAAe,+GAA+G,KAAK,uJAAuJ,gWAAgW,KAAK,MAAM,kDAAkD,iBAAiB,2BAA2B,MAAM,YAAY,oFAAoF,UAAU,6BAA6B,4EAA4E,8RAA8R,0DAA0D,0HAA0H,kDAAkD,YAAY,sIAAsI,SAAS,QAAQ,SAAS,iKAAiK,yB;;;;;;;;;;;ACAlsU,8LAA8L,6XAA6X,YAAY,yBAAyB,eAAe,yBAAyB,gBAAgB,6BAA6B,eAAe,uF;;;;;;;;;;;ACApsB,2ZAA2Z,oBAAoB,sBAAsB,yBAAyB,gCAAgC,KAAK,cAAc,mBAAmB,mBAAmB,gCAAgC,wBAAwB,OAAO,qBAAqB,wBAAwB,sBAAsB,OAAO,yBAAyB,yBAAyB,SAAS,KAAK,wBAAwB,gCAAgC,sBAAsB,OAAO,YAAY,2BAA2B,OAAO,0BAA0B,yBAAyB,SAAS,yBAAyB,wBAAwB,SAAS,qBAAqB,sBAAsB,OAAO,KAAK,uBAAuB,oBAAoB,KAAK,oeAAoe,iBAAiB,kNAAkN,iDAAiD,eAAe,kWAAkW,iBAAiB,2MAA2M,qDAAqD,qBAAqB,wQAAwQ,iBAAiB,2KAA2K,+CAA+C,eAAe,iVAAiV,aAAa,2YAA2Y,iBAAiB,4CAA4C,aAAa,oCAAoC,gCAAgC,iGAAiG,qDAAqD,kFAAkF,iEAAiE,uVAAuV,aAAa,qBAAqB,sHAAsH,cAAc,8CAA8C,gBAAgB,YAAY,qEAAqE,mBAAmB,sDAAsD,SAAS,QAAQ,SAAS,kKAAkK,aAAa,qBAAqB,gHAAgH,wBAAwB,YAAY,qIAAqI,SAAS,QAAQ,SAAS,mzEAAmzE,2CAA2C,UAAU,wCAAwC,aAAa,sBAAsB,KAAK,uFAAuF,uBAAuB,uDAAuD,iBAAiB,uDAAuD,oBAAoB,yDAAyD,qBAAqB,yDAAyD,iBAAiB,uDAAuD,oBAAoB,+IAA+I,iLAAiL,mBAAmB,4JAA4J,KAAK,uYAAuY,WAAW,oBAAoB,qBAAqB,kBAAkB,WAAW,yKAAyK,KAAK,MAAM,gDAAgD,iBAAiB,2BAA2B,MAAM,YAAY,kGAAkG,UAAU,gFAAgF,0JAA0J,iBAAiB,sCAAsC,OAAO,KAAK,a;;;;;;;;;;;ACA15T,8LAA8L,6hBAA6hB,YAAY,yBAAyB,eAAe,yBAAyB,gBAAgB,6BAA6B,WAAW,yBAAyB,cAAc,yBAAyB,wBAAwB,yBAAyB,gBAAgB,yBAAyB,eAAe,yBAAyB,mCAAmC,uF;;;;;;;;;;;ACArkC,yZAAyZ,oBAAoB,sBAAsB,yBAAyB,gCAAgC,KAAK,cAAc,mBAAmB,mBAAmB,gCAAgC,wBAAwB,OAAO,qBAAqB,+CAA+C,sBAAsB,OAAO,yBAAyB,yBAAyB,SAAS,KAAK,oBAAoB,8BAA8B,sBAAsB,OAAO,eAAe,6BAA6B,GAAG,iBAAiB,2BAA2B,OAAO,0BAA0B,yBAAyB,SAAS,yBAAyB,wBAAwB,SAAS,qBAAqB,sBAAsB,OAAO,4CAA4C,kCAAkC,yBAAyB,SAAS,wBAAwB,iCAAiC,OAAO,QAAQ,8gBAA8gB,iBAAiB,kNAAkN,iDAAiD,eAAe,wWAAwW,iBAAiB,2MAA2M,qDAAqD,qBAAqB,8QAA8Q,iBAAiB,2KAA2K,+CAA+C,eAAe,gVAAgV,aAAa,qbAAqb,iBAAiB,2EAA2E,aAAa,6BAA6B,gCAAgC,iGAAiG,qDAAqD,kFAAkF,iEAAiE,2QAA2Q,YAAY,qBAAqB,wHAAwH,2DAA2D,gBAAgB,YAAY,qEAAqE,mBAAmB,sDAAsD,SAAS,QAAQ,SAAS,wKAAwK,YAAY,qBAAqB,6IAA6I,wBAAwB,YAAY,qIAAqI,SAAS,QAAQ,SAAS,8tGAA8tG,2CAA2C,UAAU,wCAAwC,YAAY,sBAAsB,KAAK,uFAAuF,uBAAuB,uCAAuC,iBAAiB,yCAAyC,oBAAoB,2CAA2C,qBAAqB,2CAA2C,6BAA6B,yDAAyD,gBAAgB,yDAAyD,oBAAoB,6DAA6D,mBAAmB,uDAAuD,qBAAqB,uDAAuD,oBAAoB,iJAAiJ,+KAA+K,mBAAmB,4JAA4J,KAAK,iVAAiV,WAAW,oBAAoB,qBAAqB,kBAAkB,WAAW,yKAAyK,KAAK,MAAM,kDAAkD,iBAAiB,2BAA2B,MAAM,YAAY,qGAAqG,UAAU,4EAA4E,sH;;;;;;;;;;;ACAzkW,8LAA8L,4vBAA4vB,QAAQ,uDAAuD,UAAU,uJAAuJ,aAAa,2DAA2D,YAAY,qDAAqD,eAAe,mDAAmD,WAAW,+BAA+B,eAAe,qDAAqD,cAAc,qL;;;;;;;;;;;ACAj+C,2aAA2a,6BAA6B,4BAA4B,sCAAsC,8CAA8C,SAAS,sBAAsB,+BAA+B,uBAAuB,SAAS,2BAA2B,8BAA8B,8BAA8B,aAAa,iCAAiC,mCAAmC,iBAAiB,SAAS,8BAA8B,gBAAgB,mCAAmC,aAAa,kCAAkC,mCAAmC,iBAAiB,iCAAiC,kCAAkC,iBAAiB,SAAS,kmBAAkmB,aAAa,6qBAA6qB,iBAAiB,6FAA6F,aAAa,uCAAuC,gCAAgC,qXAAqX,aAAa,qBAAqB,kJAAkJ,uEAAuE,gBAAgB,YAAY,iFAAiF,mBAAmB,oEAAoE,SAAS,QAAQ,SAAS,uOAAuO,uhHAAuhH,2CAA2C,UAAU,wCAAwC,YAAY,0EAA0E,KAAK,0GAA0G,QAAQ,mEAAmE,QAAQ,uCAAuC,UAAU,uCAAuC,SAAS,wKAAwK,oBAAoB,0OAA0O,uBAAuB,8OAA8O,mBAAmB,8OAA8O,uBAAuB,8OAA8O,sBAAsB,iPAAiP,4MAA4M,mBAAmB,4MAA4M,KAAK,ybAAyb,WAAW,wBAAwB,yBAAyB,wBAAwB,WAAW,6KAA6K,KAAK,MAAM,wDAAwD,iBAAiB,2BAA2B,MAAM,YAAY,uGAAuG,UAAU,qEAAqE,oH;;;;;;;;;;;ACA78U,opBAAopB,YAAY,0EAA0E,0BAA0B,k0C;;;;;;;;;;;ACApwB,uLAAuL,MAAM,y6BAAy6B,aAAa,6KAA6K,4GAA4G,mEAAmE,kBAAkB,2iBAA2iB,iBAAiB,05BAA05B,4HAA4H,wFAAwF,MAAM,MAAM,MAAM,MAAM,MAAM,y7BAAy7B,QAAQ,eAAe,gGAAgG,6KAA6K,wFAAwF,MAAM,MAAM,MAAM,MAAM,MAAM,wmBAAwmB,MAAM,2OAA2O,wFAAwF,MAAM,MAAM,MAAM,MAAM,MAAM,2mBAA2mB,MAAM,2fAA2f,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,4RAA4R,MAAM,MAAM,MAAM,MAAM,MAAM,wNAAwN,MAAM,wMAAwM,MAAM,MAAM,MAAM,MAAM,MAAM,kLAAkL,MAAM,+PAA+P,uDAAuD,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,uIAAuI,0BAA0B,wQAAwQ,MAAM,MAAM,MAAM,MAAM,MAAM,uWAAuW,MAAM,gOAAgO,MAAM,MAAM,MAAM,MAAM,MAAM,8PAA8P,MAAM,kRAAkR,qCAAqC,iDAAiD,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,6JAA6J,6BAA6B,mRAAmR,MAAM,MAAM,MAAM,MAAM,MAAM,mZAAmZ,MAAM,wPAAwP,MAAM,MAAM,MAAM,MAAM,MAAM,4RAA4R,MAAM,4VAA4V,qEAAqE,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,2KAA2K,0BAA0B,0RAA0R,MAAM,MAAM,MAAM,MAAM,MAAM,+aAA+a,MAAM,gRAAgR,MAAM,MAAM,MAAM,MAAM,MAAM,kTAAkT,MAAM,+rCAA+rC,kBAAkB,8jBAA8jB,iBAAiB,+gCAA+gC,qHAAqH,6HAA6H,oGAAoG,MAAM,MAAM,MAAM,MAAM,MAAM,6sCAA6sC,wTAAwT,MAAM,eAAe,wNAAwN,0TAA0T,2JAA2J,MAAM,MAAM,MAAM,MAAM,MAAM,o3CAAo3C,MAAM,6WAA6W,2JAA2J,MAAM,MAAM,MAAM,MAAM,MAAM,41CAA41C,MAAM,4oBAA4oB,2dAA2d,2JAA2J,MAAM,MAAM,MAAM,MAAM,MAAM,oSAAoS,MAAM,6PAA6P,2JAA2J,MAAM,MAAM,MAAM,MAAM,MAAM,6PAA6P,MAAM,mlBAAmlB,yGAAyG,mQAAmQ,0BAA0B,+WAA+W,2KAA2K,MAAM,MAAM,MAAM,MAAM,MAAM,uZAAuZ,MAAM,6RAA6R,2KAA2K,MAAM,MAAM,MAAM,MAAM,MAAM,kSAAkS,MAAM,iXAAiX,wFAAwF,6DAA6D,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,yOAAyO,6BAA6B,iSAAiS,2LAA2L,MAAM,MAAM,MAAM,MAAM,MAAM,mcAAmc,MAAM,6TAA6T,2LAA2L,MAAM,MAAM,MAAM,MAAM,MAAM,gUAAgU,MAAM,yZAAyZ,iFAAiF,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,+PAA+P,0BAA0B,wSAAwS,2MAA2M,MAAM,MAAM,MAAM,MAAM,MAAM,+dAA+d,MAAM,6VAA6V,2MAA2M,MAAM,MAAM,MAAM,MAAM,MAAM,sVAAsV,MAAM,88BAA88B,ylBAAylB,uBAAuB,cAAc,0B;;;;;;;;;;;ACArzkC,2VAA2V,+fAA+f,gBAAgB,kNAAkN,wsCAAwsC,gBAAgB,kFAAkF,MAAM,oKAAoK,0zBAA0zB,2CAA2C,UAAU,wCAAwC,oCAAoC,kBAAkB,sBAAsB,yBAAyB,2CAA2C,iBAAiB,oBAAoB,qVAAqV,wRAAwR,kJAAkJ,iCAAiC,MAAM,MAAM,oUAAoU,yRAAyR,4IAA4I,sYAAsY,mBAAmB,gJAAgJ,KAAK,gcAAgc,mBAAmB,sKAAsK,KAAK,6V;;;;;;;;;;;ACA7xM,mMAAmM,uKAAuK,ibAAib,sIAAsI,gBAAgB,knDAAknD,2CAA2C,UAAU,wCAAwC,8IAA8I,qBAAqB,+BAA+B,eAAe,iCAAiC,iBAAiB,iCAAiC,yDAAyD,0cAA0c,wCAAwC,uGAAuG,yDAAyD,ybAAyb,yFAAyF,8DAA8D,uFAAuF,MAAM,MAAM,6KAA6K,mGAAmG,MAAM,MAAM,kJAAkJ,8HAA8H,MAAM,MAAM,4FAA4F,gBAAgB,aAAa,WAAW,+GAA+G,qBAAqB,yuB;;;;;;;;;;;ACAlmK,0LAA0L,MAAM,m2BAAm2B,wIAAwI,kBAAkB,sSAAsS,kBAAkB,qMAAqM,YAAY,uDAAuD,qBAAqB,ocAAoc,kBAAkB,qkCAAqkC,UAAU,8F;;;;;;;;;;;ACAvzG,uXAAuX,qdAAqd,gBAAgB,qRAAqR,woCAAwoC,2CAA2C,UAAU,wCAAwC,kCAAkC,wBAAwB,sBAAsB,kBAAkB,qBAAqB,yBAAyB,2CAA2C,wHAAwH,sGAAsG,MAAM,MAAM,MAAM,MAAM,2LAA2L,sDAAsD,8BAA8B,yMAAyM,2CAA2C,UAAU,wCAAwC,+EAA+E,wBAAwB,sBAAsB,kBAAkB,qBAAqB,yBAAyB,+LAA+L,kDAAkD,8BAA8B,sGAAsG,MAAM,MAAM,MAAM,MAAM,0MAA0M,6FAA6F,+CAA+C,yJAAyJ,wBAAwB,sBAAsB,kBAAkB,qBAAqB,yBAAyB,kTAAkT,mNAAmN,+CAA+C,qFAAqF,MAAM,MAAM,MAAM,MAAM,mVAAmV,8PAA8P,+CAA+C,6bAA6b,mBAAmB,gJAAgJ,KAAK,gO;;;;;;;;;;;ACAz2M,o5BAAo5B,2CAA2C,UAAU,wCAAwC,iDAAiD,qBAAqB,mDAAmD,kBAAkB,8oBAA8oB,KAAK,snCAAsnC,2CAA2C,UAAU,wCAAwC,iDAAiD,qBAAqB,mDAAmD,kBAAkB,8oBAA8oB,KAAK,omCAAomC,2CAA2C,UAAU,wCAAwC,iDAAiD,qBAAqB,mDAAmD,kBAAkB,8oBAA8oB,KAAK,6lCAA6lC,2CAA2C,UAAU,wCAAwC,iDAAiD,qBAAqB,mDAAmD,kBAAkB,+oBAA+oB,KAAK,wmCAAwmC,2CAA2C,UAAU,wCAAwC,iDAAiD,qBAAqB,mDAAmD,kBAAkB,+oBAA+oB,KAAK,snCAAsnC,2CAA2C,UAAU,wCAAwC,iDAAiD,qBAAqB,mDAAmD,kBAAkB,8oBAA8oB,KAAK,+mCAA+mC,2CAA2C,UAAU,wCAAwC,iDAAiD,qBAAqB,mDAAmD,kBAAkB,uoBAAuoB,KAAK,ynCAAynC,2CAA2C,UAAU,wCAAwC,iDAAiD,qBAAqB,mDAAmD,kBAAkB,+oBAA+oB,KAAK,4mCAA4mC,2CAA2C,UAAU,wCAAwC,iDAAiD,qBAAqB,mDAAmD,kBAAkB,4oBAA4oB,KAAK,umCAAumC,2CAA2C,UAAU,wCAAwC,iDAAiD,qBAAqB,mDAAmD,kBAAkB,6oBAA6oB,KAAK,sV;;;;;;;;;;;ACA3inB,6jBAA6jB,kBAAkB,mBAAmB,iBAAiB,yRAAyR,YAAY,oEAAoE,uBAAuB,cAAc,8BAA8B,wBAAwB,KAAK,mBAAmB,gCAAgC,kCAAkC,6BAA6B,4BAA4B,wBAAwB,qBAAqB,KAAK,W;;;;;;;;;;;ACA5vC,wNAAwN,0FAA0F,iCAAiC,kHAAkH,oJAAoJ,mbAAmb,sBAAsB,kOAAkO,uBAAuB,OAAO,kFAAkF,uBAAuB,OAAO,mXAAmX,0BAA0B,8EAA8E,oBAAoB,iGAAiG,yBAAyB,yJAAyJ,0aAA0a,8EAA8E,yIAAyI,wBAAwB,6nBAA6nB,qEAAqE,iJAAiJ,uBAAuB,8KAA8K,uBAAuB,8KAA8K,uBAAuB,+KAA+K,uBAAuB,8KAA8K,uBAAuB,8KAA8K,uBAAuB,+KAA+K,uBAAuB,+KAA+K,uBAAuB,+KAA+K,uBAAuB,gLAAgL,uBAAuB,gLAAgL,wBAAwB,+KAA+K,wBAAwB,qNAAqN,wBAAwB,qNAAqN,wBAAwB,4WAA4W,iBAAiB,oEAAoE,oBAAoB,gNAAgN,mBAAmB,yKAAyK,0BAA0B,aAAa,kLAAkL,2KAA2K,qBAAqB,6GAA6G,OAAO,2FAA2F,qBAAqB,4HAA4H,mBAAmB,2KAA2K,2BAA2B,aAAa,oLAAoL,6KAA6K,sBAAsB,8GAA8G,OAAO,4FAA4F,sBAAsB,4HAA4H,mBAAmB,qKAAqK,wBAAwB,aAAa,8KAA8K,uKAAuK,mBAAmB,2GAA2G,OAAO,yFAAyF,mBAAmB,mLAAmL,kBAAkB,oDAAoD,YAAY,0pBAA0pB,8FAA8F,ueAAue,cAAc,gNAAgN,cAAc,8aAA8a,8FAA8F,2aAA2a,cAAc,gNAAgN,cAAc,8aAA8a,8FAA8F,2aAA2a,cAAc,gNAAgN,cAAc,8aAA8a,8FAA8F,2aAA2a,cAAc,oQAAoQ,cAAc,8aAA8a,8FAA8F,2aAA2a,cAAc,gNAAgN,cAAc,8aAA8a,8FAA8F,2aAA2a,cAAc,gNAAgN,cAAc,8aAA8a,8FAA8F,2aAA2a,cAAc,gNAAgN,cAAc,8aAA8a,8FAA8F,2aAA2a,cAAc,oQAAoQ,cAAc,8aAA8a,8FAA8F,2aAA2a,cAAc,iNAAiN,eAAe,8aAA8a,gGAAgG,2aAA2a,eAAe,iNAAiN,eAAe,8aAA8a,gGAAgG,2aAA2a,eAAe,iNAAiN,eAAe,8aAA8a,gGAAgG,2aAA2a,eAAe,+QAA+Q,eAAe,8aAA8a,gGAAgG,2aAA2a,eAAe,mRAAmR,eAAe,8aAA8a,gGAAgG,2aAA2a,eAAe,qNAAqN,wEAAwE,kiBAAkiB,oEAAoE,iJAAiJ,uBAAuB,8KAA8K,uBAAuB,8KAA8K,uBAAuB,+KAA+K,uBAAuB,8KAA8K,uBAAuB,8KAA8K,uBAAuB,+KAA+K,uBAAuB,+KAA+K,uBAAuB,+KAA+K,uBAAuB,gLAAgL,uBAAuB,gLAAgL,wBAAwB,+KAA+K,wBAAwB,qNAAqN,wBAAwB,qNAAqN,wBAAwB,4WAA4W,iBAAiB,oEAAoE,oBAAoB,2LAA2L,0BAA0B,aAAa,kKAAkK,2JAA2J,qBAAqB,qGAAqG,OAAO,mFAAmF,qBAAqB,gOAAgO,2BAA2B,aAAa,oKAAoK,6JAA6J,sBAAsB,sGAAsG,OAAO,oFAAoF,sBAAsB,0NAA0N,wBAAwB,aAAa,2HAA2H,uJAAuJ,mBAAmB,mGAAmG,OAAO,iFAAiF,mBAAmB,mGAAmG,kBAAkB,oDAAoD,YAAY,0pBAA0pB,8FAA8F,ueAAue,cAAc,gNAAgN,cAAc,8aAA8a,8FAA8F,2aAA2a,cAAc,gNAAgN,cAAc,8aAA8a,8FAA8F,2aAA2a,cAAc,gNAAgN,cAAc,8aAA8a,8FAA8F,2aAA2a,cAAc,oQAAoQ,cAAc,8aAA8a,8FAA8F,2aAA2a,cAAc,gNAAgN,cAAc,8aAA8a,8FAA8F,2aAA2a,cAAc,gNAAgN,cAAc,8aAA8a,8FAA8F,2aAA2a,cAAc,gNAAgN,cAAc,8aAA8a,8FAA8F,2aAA2a,cAAc,oQAAoQ,cAAc,8aAA8a,8FAA8F,2aAA2a,cAAc,iNAAiN,eAAe,8aAA8a,gGAAgG,2aAA2a,eAAe,iNAAiN,eAAe,8aAA8a,gGAAgG,2aAA2a,eAAe,iNAAiN,eAAe,8aAA8a,gGAAgG,2aAA2a,eAAe,+QAA+Q,eAAe,8aAA8a,gGAAgG,2aAA2a,eAAe,mRAAmR,eAAe,8aAA8a,gGAAgG,2aAA2a,eAAe,gL;;;;;;;;;;;;;;;;;;;;;;;;ACAr6iD;AACyB;AAClC;AACL;AAEQ;AACmB;AACzB;AAS/C;IAuEE,2BAAmB,MAAiB,EAAS,aAA4B,EAAU,OAA4B;QAA5F,WAAM,GAAN,MAAM,CAAW;QAAS,kBAAa,GAAb,aAAa,CAAe;QAAU,YAAO,GAAP,OAAO,CAAqB;QAtE/G,uBAAkB,GAAG,mFAAkB,CAAC;QAIxC,oBAAe,GAAG,EAAE,CAAC;QACrB,kBAAa,GAAG,EAAE,CAAC;QAEnB,WAAM,GAAG,KAAK,CAAC;QAcf,cAAS,GAAG,KAAK,CAAC;QAElB,MAAC,GAAW,CAAC,CAAC;QACd,eAAU,GAAG,EAAE,CAAC;QAChB,kBAAa,GAAG,EAAE,CAAC;QAEnB,gBAAW,GAAG,EAAE,CAAC;QACjB,WAAM,GAAY,KAAK,CAAC;QACxB,WAAM,GAAG,EAAE,CAAC;QAEZ,UAAK,GAAG,IAAI,CAAC;QAGb,eAAU,GAAgB,IAAI,0DAAW,EAAE,CAAC;QAC5C,YAAO,GAAQ,EAAE,CAAC;QAElB,eAAU,GAAG,EAAE,CAAC;QAChB,mBAAc,GAAG,KAAK,CAAC;QAIvB,cAAS,GAAG,KAAK,CAAC;QAClB,kBAAa,GAAG,KAAK,CAAC;QAQtB,eAAU,GAAG,EAAE,CAAC;QAKhB,WAAM,GAAG,EAAE,CAAC;QAOZ,iBAAY,GAAG,EAAE,CAAC;QAQhB,wDAAwD;QACxD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAEhE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACjD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAClE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAChE,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED,oCAAQ,GAAR;QACE,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;YAClD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;SAC3C;aACI;YACH,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;SACrB;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,KAAK,UAAU,EAAlD,CAAkD,CAAC,CAAC;QAE9F,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;SAC1C;QACD,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7C,CAAC;IAED,oCAAQ,GAAR;QAAA,iBAIC;QAHC,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,eAAK;YAC/C,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC;IACD,oCAAQ,GAAR;QAAA,iBAIC;QAHC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,eAAK;YACzD,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC;IACD,iDAAqB,GAArB;QAAA,iBAkBC;QAjBC,IAAI,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,SAAS,CAAC,mBAAS;YAC5D,KAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;YAC7D,KAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,eAAK;gBACzD,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC5C,IAAI,KAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,GAAG,EAAE;oBACjC,IAAI,KAAK,GAAG,KAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,KAAI,CAAC,MAAM,EAAxB,CAAwB,CAAC,CAAC;oBAC9E,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;wBACpB,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;wBACjC,IAAI,QAAQ,GAAG,KAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,KAAI,CAAC,SAAS,EAA3B,CAA2B,CAAC,CAAC;wBACvE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;4BACvB,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;yBACzD;qBAEF;iBACF;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wCAAY,GAAZ,UAAa,IAAY;QACvB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IACD,mCAAO,GAAP;QAAA,iBAkBC;QAjBC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC1D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;YAExB,IAAI,KAAI,CAAC,eAAe,EAAE;gBACxB,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,KAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE;oBACnF,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,IAAI,KAAI,CAAC,eAAe,CAAC,YAAY,EAArD,CAAqD,CAAC;iBACnG;qBACI,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,KAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE;oBAClF,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,IAAI,KAAI,CAAC,eAAe,CAAC,YAAY,IAAI,GAAG,CAAC,MAAM,IAAI,KAAI,CAAC,eAAe,CAAC,MAAM,EAAlG,CAAkG,CAAC;oBAC/I,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;iBAC3C;qBACI;oBACH,KAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;iBACzB;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,6CAAiB,GAAjB;QAAA,iBAKC;QAJC,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,CAAC,SAAS,CAAC,iBAAO;YACtD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,eAAe,GAAG,OAAO,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sCAAU,GAAV;QAAA,iBAyDC;QAxDC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC;QAEpC,IAAI,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CACzC,UAAC,IAAI;YACH,OAAO,CACL,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;mBAC7G,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACtH,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC1G,CAAC,IAAI,CAAC,gBAAgB,KAAK,IAAI,IAAI,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC1H,CAAC,IAAI,CAAC,UAAU,KAAK,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACjH,CAAC;QACH,CAAC,CAEF,CAAC;QACF,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,EAAE;YACjC,sBAAsB;YACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE,EAAE;YAC1B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC;YACpC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;YACzC,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE;gBACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;aAC1C;YACD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAC7C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAI,IAAI,CAAC,aAAa,EAAE;gBAEtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aACzC;YACD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC;YACpC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE;gBACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;aAC1C;YACD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAC/C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvC,IAAI,IAAI,CAAC,aAAa;oBACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aAC3C;YAED,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;gBACnC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE;oBAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aAC3C;SACF;IACH,CAAC;IACD,0CAAc,GAAd;QAAA,iBAUC;QATC,IAAI,IAAI,CAAC,SAAS,IAAI,GAAG,EAAE;YACzB,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,cAAI;gBAChD,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC7C,IAAI,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,KAAI,CAAC,SAAS,EAA9B,CAA8B,CAAC,CAAC;gBAC/E,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC1B,KAAI,CAAC,gBAAgB,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;iBACpD;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,wCAAY,GAAZ;QACE,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QAC5D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YACtC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YAEtD,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;YAExD,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;YAEpD,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;YAChE,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YAEnD,yCAAyC;YACzC,0DAA0D;YAE1D,IAAI;YACJ,QAAQ;YACR,4CAA4C;YAE5C,IAAI;YAEJ,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;YACrC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;YACnC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAG/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;YAIpC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;YAEnC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAE9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAE/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAE7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;YACxC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;YAClC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAE5B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;YACvC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAEvB;QAGD,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,GAAG,WAAW,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,WAAW,GAAG,IAAI,CAAC,gBAAgB,EAAE,EAAE,EAAE,iBAAiB,EAAE,0DAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAC9R,CAAC;IAGD,uCAAW,GAAX;QAAA,iBA2GC;QA1GC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC9D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,YAAY,GAAG,OAAO,CAAC;YAC5B,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,KAAI,CAAC,YAAY,CAAC,CAAC;YACjD,KAAI,CAAC,YAAY,GAAG,OAAO,CAAC;YAC5B,IAAI,gBAAgB,GAAG,KAAI,CAAC,YAAY,CAAC;YAEzC,IAAI,KAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;gBAClC,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;gBAC5B,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;aAC3B;iBACI;gBACH,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC;gBACzC,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,YAAY,CAAC,CAAC,CAAC;gBAChE,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC3B,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBAEvB,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC;gBACxB,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;gBAGtB,IAAI,KAAI,CAAC,eAAe,EAAE;oBACxB,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,mFAAkB,CAAC,UAAU,EAAE;wBAC9E,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,iBAAO,IAAI,YAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAO,IAAI,cAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAhC,CAAgC,CAAC,EAA/D,CAA+D,CAAC,CAAC;qBAC1H;yBACI,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,mFAAkB,CAAC,IAAI,EAAE;wBAC7E,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,MAAM,IAAI,KAAI,CAAC,eAAe,CAAC,MAAM,EAAzC,CAAyC,CAAC;qBAC/F;yBACI;wBACH,IAAI,IAAI,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,KAAI,CAAC,SAAS,EAA9B,CAA8B,CAAC,CAAC;wBACzE,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;qBAC1B;oBACD,IAAI,CAAC,KAAI,CAAC,eAAe,CAAC,cAAc,IAAI,KAAI,CAAC,eAAe,CAAC,cAAc,KAAK,IAAI,EAAE;wBACxF,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC;wBACzC,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,YAAY,CAAC,CAAC,CAAC;wBAChE,KAAI,CAAC,qBAAqB,CAAC,KAAI,CAAC,QAAQ,CAAC;wBACzC,OAAO;qBACR;oBAED,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;oBAClE,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;oBAC9C,IAAI,cAAY,GAAG,MAAM,CAAC,IAAI,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC;oBAChD,IAAI,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC;oBACnC;wBACE,KAAI,CAAC,YAAY,GAAG,gBAAgB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,KAAI,CAAC,SAAS,EAA9B,CAA8B,CAAC,CAAC;wBACjF,KAAI,CAAC,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,KAAI,CAAC,SAAS,EAA9B,CAA8B,CAAC,CAAC;qBAC5E;4CAEQ,CAAC;wBACR,IAAI,OAAO,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,cAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAtD,CAAsD,CAAC,CAAC;wBACpG,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;4BACtB,IAAI,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,KAAI,CAAC,UAAU,CAAC,cAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;4BAElE,IAAI,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gCACjC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAI,CAAC,UAAU,CAAC,cAAY,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;;gCAExD,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;4BAG1B,IAAI,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gCACjC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAI,CAAC,UAAU,CAAC,cAAY,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;;gCAExD,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;4BAG1B,IAAI,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gCACjC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAI,CAAC,UAAU,CAAC,cAAY,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;;gCAExD,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;4BAG1B,IAAI,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gCACjC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAI,CAAC,UAAU,CAAC,cAAY,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;;gCAExD,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;4BAE1B,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;yBACvC;;oBA7BH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAY,CAAC,MAAM,EAAE,CAAC,EAAE;gCAAnC,CAAC;qBA8BT;oBACD,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,eAAe,CAAC;oBACzC,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,eAAe,CAAC,MAAM,CAAC;iBAC7C;aAEF;YAED,IAAI,KAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;gBAChC,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC;gBACzC,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC3B,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,YAAY,CAAC,CAAC,CAAC;gBAChE,KAAI,CAAC,qBAAqB,CAAC,KAAI,CAAC,QAAQ,CAAC;aAC1C;iBACI,IAAI,KAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;gBACvC,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;gBAC5B,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;aAC3B;YACD,KAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;IAGL,CAAC;IAED,iDAAqB,GAArB,UAAsB,UAAU;QAC9B,OAAO,IAAI,CAAC,WAAW,GAAG,UAAU,EAAE;YACpC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;SAC1C;QACD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC;YAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClF,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;YACnC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE;gBAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;SAC3C;IAEH,CAAC;IAGD,2CAAe,GAAf;QAAA,iBAQC;QAPC,IAAI,IAAI,CAAC,UAAU,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE;YACrD,IAAI,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,IAAI,KAAI,CAAC,UAAU,EAA3B,CAA2B,CAAC,CAAC;YACjF,IAAI,eAAe,CAAC,MAAM,IAAI,CAAC,EAAE;gBAC/B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;aAC3B;SACF;IACH,CAAC;IAED,gCAAI,GAAJ,UAAK,QAAQ;QACX,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,sBAAsB;QAClD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,uCAAW,GAAX;QAAA,iBAaC;QAZC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAE9D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,YAAY,GAAG,OAAO,CAAC;YAE5B,IAAI,KAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,GAAG,EAAE;gBACjC,IAAI,SAAS,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,KAAK,KAAI,CAAC,KAAK,EAA3B,CAA2B,CAAC,CAAC;gBAC3E,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;oBACxB,KAAI,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;iBACvC;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sCAAU,GAAV;QAAA,iBAmBC;QAlBC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC7D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC;YAE3B,IAAI,KAAI,CAAC,eAAe,EAAE;gBACxB,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,mFAAkB,CAAC,UAAU,EAAE;oBAC9E,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,iBAAO,IAAI,YAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAO,IAAI,cAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAhC,CAAgC,CAAC,EAA/D,CAA+D,CAAC,CAAC;iBACxH;qBACI,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,mFAAkB,CAAC,IAAI,EAAE;oBAC7E,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,MAAM,IAAI,KAAI,CAAC,eAAe,CAAC,MAAM,EAAzC,CAAyC,CAAC;iBAC7F;qBACI;oBACH,IAAI,IAAI,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,KAAI,CAAC,SAAS,EAA9B,CAA8B,CAAC,CAAC;oBACxE,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC;iBACzB;aACF;QAEH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,2CAAe,GAAf;QAAA,iBAKC;QAJC,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,iBAAO;YACpD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sCAAU,GAAV,UAAW,GAAW;QAAtB,iBAsGC;QArGC,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE;YAC1D,UAAU,EAAE,yBAAyB;YACrC,IAAI,EAAE,GAAG,GAAG,KAAK,GAAG,IAAI;SACzB,CAAC,CAAC;QACH,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACzD,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3D,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3D,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7D,SAAS,CAAC,iBAAiB,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QACjE,SAAS,CAAC,iBAAiB,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACrE,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7D,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7D,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACrD,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACvD,SAAS,CAAC,iBAAiB,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QACnE,SAAS,CAAC,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAGjD,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,KAAK,EAAE;YAClC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,SAAS,CAAC,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACjD,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;SACxB;QAED,IAAI,GAAG,KAAK,MAAM,EAAE;YAClB,SAAS,CAAC,iBAAiB,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;YACnE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,UAAU,GAAG,eAAe,CAAC;YAClC,IAAI,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,KAAI,CAAC,MAAM,EAAxB,CAAwB,CAAC,CAAC;YAC7E,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,eAAe,CAAC;YAC1D,SAAS,CAAC,iBAAiB,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YAC/D,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YACzD,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YAC7D,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YACvD,SAAS,CAAC,iBAAiB,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC7D,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YAC7D,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YACzD,SAAS,CAAC,iBAAiB,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;YACjE,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YAC7D,SAAS,CAAC,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YACnD,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YAC7D,SAAS,CAAC,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YACnD,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;YACpD,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC;YAC1D,SAAS,CAAC,iBAAiB,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC;SAC3D;QAED,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,KAAK,EAAE;YAClC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB;QAED,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;YAEtC,0BAA0B;YAC1B,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,IAAI,KAAI,CAAC,UAAU,KAAK,EAAE,IAAI,KAAI,CAAC,UAAU,KAAK,SAAS,EAAE;gBAC3D,KAAI,CAAC,UAAU,EAAE,CAAC;aACnB;iBACI;gBAEH,KAAI,CAAC,WAAW,EAAE,CAAC;aACpB;YAED,IAAI,MAAM,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE;gBAChC,CAAC;gBACD,IAAI,SAAS,GAAG,EAAE,CAAC;gBACnB,IAAI,GAAG,KAAK,KAAK,EAAE;oBACjB,SAAS,GAAG,oBAAoB,CAAC;iBAClC;qBAAM;oBAEL,SAAS,GAAG,sBAAsB,CAAC;iBACpC;gBAGD,0BAA0B;gBAC1B,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;gBACtB,KAAI,CAAC,UAAU,GAAG,EAAE,CAAC;gBACrB,KAAI,CAAC,WAAW,EAAE,CAAC;gBAEnB,IAAM,YAAY,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE;oBAC7D,UAAU,EAAE,yBAAyB;oBACrC,IAAI,EAAE,SAAS,GAAG,KAAK,GAAG,KAAK;iBAEhC,CAAC,CAAC;gBAEH,UAAU,CAAC;oBACT,KAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,CAAC,EAAE,GAAG,CAAC,CAAC;gBACR,YAAY,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,iBAAO;oBAC1C,KAAI,CAAC,UAAU,GAAG,EAAE,CAAC;oBACrB,IAAI,KAAI,CAAC,UAAU,KAAK,EAAE,EAAE;wBAC1B,KAAI,CAAC,UAAU,EAAE,CAAC;qBACnB;yBACI;wBACH,KAAI,CAAC,WAAW,EAAE,CAAC;qBACpB;gBACH,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,wCAAY,GAAZ,UAAa,OAAO;QAClB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAChD,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,EAAE;gBACvD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;aAC7C;SACF;QACD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC5C,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;gBAC1C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;aACzD;SACF;QACD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED,sCAAU,GAAV;QAAA,iBAKC;QAJC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC7D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oCAAQ,GAAR;QACE,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;YAC/C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;SACvC;IACH,CAAC;IAED,0CAAc,GAAd,UAAe,OAAO;QAAtB,iBA0BC;QAzBC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE;YAC1D,UAAU,EAAE,yBAAyB;YACrC,IAAI,EAAE,4CAA4C,GAAG,OAAO,CAAC,YAAY,GAAG,MAAM,GAAG,IAAI;SAE1F,CAAC,CAAC;QACH,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;YACtC,IAAI,MAAM,EAAE;gBACV,KAAI,CAAC,aAAa,CAAC,cAAc,CAAC,KAAI,CAAC,UAAU,EAAE,KAAI,CAAC,SAAS,EAAE,KAAI,CAAC,MAAM,EAAE,KAAI,CAAC,OAAO,EAAE,KAAI,CAAC,SAAS,EAAE,KAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,cAAI;oBACzI,IAAI,IAAI,CAAC,EAAE,EAAE;wBACX,KAAI,CAAC,QAAQ,EAAE,CAAC;wBAChB,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;wBACtB,KAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;qBACzC;oBACD,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;oBACtB,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC;oBACxB,KAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;gBAvmB0B,kEAAS;gBAAwB,6DAAa;gBAAmB,kEAAmB;;IAvEpG,iBAAiB;QAL7B,+DAAS,CAAC;YACT,QAAQ,EAAE,cAAc;YACxB,0JAAwC;YACxC,SAAS,EAAE,CAAC,6DAAa,CAAC;SAC3B,CAAC;OACW,iBAAiB,CA+qB7B;IAAD,wBAAC;CAAA;AA/qB6B;AAurB9B;IAwCE,iCACS,SAAgD,EACvB,IAAS,EAAS,aAA4B,EAAU,OAA4B;QAD7G,cAAS,GAAT,SAAS,CAAuC;QACvB,SAAI,GAAJ,IAAI,CAAK;QAAS,kBAAa,GAAb,aAAa,CAAe;QAAU,YAAO,GAAP,OAAO,CAAqB;QAnCtH,cAAS,GAAG,KAAK,CAAC;QAclB,qBAAgB,GAAG,CAAC,CAAC;QAErB,gBAAW,GAAG,IAAI,0DAAW,EAAE,CAAC;QAEhC,iBAAY,GAAG,EAAE,CAAC;QAKlB,kBAAa,GAAG,EAAE,CAAC;QAGnB,sBAAiB,GAAG,EAAE,CAAC;QAEvB,iBAAY,GAAa,EAAE,CAAC;QAC5B,eAAU,GAAG,EAAE,CAAC;QAGhB,gBAAW,GAAG,KAAK,CAAC;QAIlB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEnC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE;YAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;aAAM,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE;YACnC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;aACI;YACH,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE;gBACvB,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;aACpC;iBAAM;gBACL,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC;aACrC;SACF;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,sBAAsB,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,sDAAsD,EAAE;YAC5I,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAGD,0CAAQ,GAAR;QAEE,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS,IAAI,IAAI,CAAC,iBAAiB,KAAK,UAAU,EAAE;YAEjF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAEjD,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE;oBAC/J,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;iBAC9D;aACF;YAED,IAAI,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;YACvC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;gBAClC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAC7B;;gBACI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAC3D;SACJ;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;YACrD,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YACvB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YAEvB,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;gBACxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC;aAClC;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACjD,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,EAAE;oBAC5F,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC9C;aACF;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACjD,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE;oBAC/J,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;iBACtD;aACF;SACF;QACD,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QACzB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;IAC/C,CAAC;IACD,0CAAQ,GAAR,UAAS,KAAK;QACZ,IAAI,CAAC,UAAU,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;IACD,4CAAU,GAAV,UAAW,CAAC,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IACD,uCAAK,GAAL;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IACD,yCAAO,GAAP,UAAQ,KAAK;QAAb,iBAkDC;QAjDC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAChB,IAAI,IAAI,CAAC,gBAAgB,KAAK,CAAC,EAAE;YAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;SAE9B;QACD,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC9D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,YAAY,GAAG,OAAO,CAAC;YAC5B,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YACvB,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YACvB,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC;YAC7B,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACnC,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;YAC/B,CAAC,CAAC,CAAC;YACH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAChD,IAAI,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,KAAI,CAAC,SAAS,EAAE;oBACpD,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;iBAC7C;aACF;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAEjD,IAAI,KAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,KAAI,CAAC,SAAS,IAAI,KAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,IAAI,KAAI,CAAC,MAAM,KAAK,KAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;oBAC3I,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;iBAE9C;gBAED,IAAI,KAAI,CAAC,IAAI,KAAK,KAAK,IAAI,KAAI,CAAC,gBAAgB,KAAK,CAAC,EAAE;oBACtD,IAAI,KAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,KAAI,CAAC,SAAS,IAAI,KAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAI,CAAC,gBAAgB,IAAI,KAAI,CAAC,MAAM,KAAK,KAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;wBAC/J,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;qBACtD;iBACF;aACF;YACD,IAAI,KAAI,CAAC,SAAS,IAAI,KAAI,CAAC,YAAY,EAAE;gBACvC,IAAI,GAAG,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;gBACvC,IAAI,KAAI,CAAC,IAAI,KAAK,KAAK,IAAI,KAAI,CAAC,gBAAgB,KAAK,CAAC,EAAE;oBACtD,IAAI,KAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;wBAClC,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;qBAC7B;;wBACI,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBAChC;aACF;YACD,IAAI,KAAI,CAAC,IAAI,KAAK,KAAK,IAAI,KAAI,CAAC,gBAAgB,KAAK,CAAC,EAAE;gBACtD,KAAI,CAAC,OAAO,GAAG,KAAI,CAAC,YAAY,CAAC,KAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC/D,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC;aAC9C;QACH,CAAC,CAAC,CAAC;IAEL,CAAC;IACD,8CAAY,GAAZ;QAAA,iBA2BC;QAzBC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC9D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,YAAY,GAAG,OAAO,CAAC;YAC5B,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACnC,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;YAC/B,CAAC,CAAC,CAAC;YAEH,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACjD,IAAI,KAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,KAAI,CAAC,SAAS,IAAI,KAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAI,CAAC,gBAAgB,IAAI,KAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,KAAI,CAAC,MAAM,EAAE;oBAC/J,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;iBACtD;aACF;YAED,IAAI,KAAI,CAAC,gBAAgB,IAAI,KAAI,CAAC,aAAa,EAAE;gBAC/C,IAAI,GAAG,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;gBACvC,IAAI,KAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;oBAClC,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBAC7B;;oBACI,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aAChC;YAED,KAAI,CAAC,OAAO,GAAG,KAAI,CAAC,YAAY,CAAC,KAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC/D,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC;IACD,8CAAY,GAAZ,UAAa,KAAK;QAChB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC;IACpC,CAAC;IACD,4CAAU,GAAV,UAAW,KAAK;QACd,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC;IAClC,CAAC;IACD,0CAAQ,GAAR,UAAS,KAAK;QAAd,iBAUC;QATC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;QAE9B,IAAI,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,KAAK,KAAI,CAAC,UAAU,EAAhC,CAAgC,CAAC,CAAC;QAE9E,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,EAA1C,CAA0C,CAAC,CAAC;YAC9F,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;SAErD;IACH,CAAC;IACD,6CAAW,GAAX;QAAA,iBAiCC;QAhCC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAExB,UAAU,CAAC;YACT,KAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAC3B,CAAC,EAAE,IAAI,CAAC,CAAC;QACT,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAM,SAAS,GAAG,CAAC,CAAC;QACpB,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YAClE,IAAI,CAAC,QAAQ,GAAG,kCAAkC,CAAC;YACnD,OAAM;SACP;QACD,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;YAEtG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC,cAAc,KAAK,EAAE,IAAI,IAAI,CAAC,SAAS,KAAK,EAAE,EAAE;YACxF,4HAA4H;YAC5H,IAAI,CAAC,QAAQ,GAAG,kCAAkC,CAAC;YACnD,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE;aAExB;YACD,KAAK,EAAE,CAAC;SACT;QAED,IAAI,KAAK,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YACnB,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE;gBACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACxB;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACxB;SACF;aAAM;SAEN;IACH,CAAC;IACD,iDAAe,GAAf,UAAgB,SAAiB;QAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAEjD,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,EAAE;gBACvF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;aAC9C;SACF;IACH,CAAC;IACD,4CAAU,GAAV;QAEE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,2CAAS,GAAT;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IACD,wCAAM,GAAN,UAAO,GAAW;QAAlB,iBAmDC;QAjDC,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YAClE,IAAI,CAAC,QAAQ,GAAG,kCAAkC,CAAC;YACnD,OAAM;SACP;QAGD,IAAM,IAAI,GAAG;YACX,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,kBAAkB;YAElB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,uBAAuB;YACvB,QAAQ,EAAE,IAAI,CAAC,gBAAgB;YAC/B,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,mCAAmC;YACnC,+BAA+B;YAC/B,YAAY,EAAE,GAAG;YACjB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,SAAS,EAAE,IAAI,CAAC,WAAW;YAC3B,SAAS,EAAE,IAAI,CAAC,WAAW;YAC3B,OAAO,EAAE,IAAI,CAAC,MAAM;YACpB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,GAAG;YACT,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC;QACF,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,KAAK,EAAE;YAClC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,cAAI;gBACxD,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE;oBACvC,KAAI,CAAC,QAAQ,GAAG,mBAAmB,CAAC;oBACpC,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;oBACvB,KAAI,CAAC,cAAc,GAAG,EAAE,CAAC;oBACzB,KAAI,CAAC,OAAO,GAAG,KAAI,CAAC,YAAY,CAAC,KAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;oBACnE,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,OAAO,CAAC,CAAC;iBACtC;qBAAM;oBACL,KAAI,CAAC,QAAQ,GAAG,aAAa,CAAC;iBAC/B;YACH,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;YAC7C,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,cAAI;gBACxD,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE;oBACvC,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;iBAC5B;qBAAM;oBACL,KAAI,CAAC,QAAQ,GAAG,sBAAsB,CAAC;iBACxC;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IACD,yCAAO,GAAP,UAAQ,GAAG;QACT,IAAI,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO;QACnD,IAAI,CAAC,OAAO,GAAG,EAAE,IAAI,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,IAAI,OAAO,GAAG,GAAG,CAAC,IAAI,OAAO,IAAI,EAAE,EAAE;YACtF,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC;;gBAxRmB,qEAAY;gDAC7B,oDAAM,SAAC,wEAAe;gBAA0C,6DAAa;gBAAmB,kEAAmB;;IA1C3G,uBAAuB;QALnC,+DAAS,CAAC;YACT,QAAQ,EAAE,YAAY;YACtB,kIAA0B;YAC1B,SAAS,EAAE,CAAC,6DAAa,CAAC;SAC3B,CAAC;QA2CG,6GAAM,CAAC,wEAAe,CAAC;OA1Cf,uBAAuB,CAoUnC;IAAD,8BAAC;CAAA;AApUmC;;;;;;;;;;;;ACvsBpC,mCAAmC,+BAA+B,GAAG,YAAY,oBAAoB,GAAG,mBAAmB,2CAA2C,GAAG,iBAAiB,2BAA2B,GAAG,+HAA+H,kBAAkB,GAAG,oEAAoE,mCAAmC,wBAAwB,GAAG,8DAA8D,qBAAqB,GAAG,qBAAqB,4BAA4B,GAAG,gCAAgC,4BAA4B,yBAAyB,uCAAuC,GAAG,aAAa,iCAAiC,GAAG,qBAAqB,qBAAqB,GAAG,QAAQ,iBAAiB,8BAA8B,GAAG,mBAAmB,gBAAgB,GAAG,UAAU,sBAAsB,GAAG,UAAU,4BAA4B,GAAG,UAAU,2BAA2B,GAAG,oBAAoB,gCAAgC,4BAA4B,gCAAgC,0BAA0B,GAAG,gBAAgB,gCAAgC,GAAG,WAAW,uBAAuB,+BAA+B,GAAG,YAAY,gBAAgB,GAAG,UAAU,eAAe,GAAG,kBAAkB,yCAAyC,GAAG,aAAa,0BAA0B,uBAAuB,sBAAsB,GAAG,gBAAgB,6BAA6B,uBAAuB,sBAAsB,GAAG,eAAe,4BAA4B,uBAAuB,sBAAsB,GAAG,WAAW,oBAAoB,GAAG,YAAY,qBAAqB,GAAG,iBAAiB,uBAAuB,eAAe,GAAG,YAAY,kCAAkC,GAAG,oBAAoB,gCAAgC,GAAG,oBAAoB,gCAAgC,4BAA4B,GAAG,cAAc,6BAA6B,qBAAqB,cAAc,oBAAoB,kBAAkB,GAAG,eAAe,6BAA6B,qBAAqB,gBAAgB,oBAAoB,kBAAkB,GAAG,cAAc,6BAA6B,qBAAqB,cAAc,eAAe,gCAAgC,uBAAuB,2BAA2B,GAAG,eAAe,6BAA6B,qBAAqB,gBAAgB,eAAe,gCAAgC,uBAAuB,2BAA2B,GAAG,UAAU,2BAA2B,GAAG,sBAAsB,eAAe,sBAAsB,GAAG,6CAA6C,m4S;;;;;;;;;;;;;;;;;;;;;;;;;;ACAzqF;AACJ;AACW;AAEJ;AACiD;AACC;AAC1C;AAC+C;AAC5C;AACJ;AAO5D;IA+BE,+BAAoB,OAA4B,EACtC,gBAA6C,EAC7C,cAA8B,EAC9B,MAAc,EACd,KAAqB,EACtB,MAAiB;QAL1B,iBAiBC;QAjBmB,YAAO,GAAP,OAAO,CAAqB;QACtC,qBAAgB,GAAhB,gBAAgB,CAA6B;QAC7C,mBAAc,GAAd,cAAc,CAAgB;QAC9B,WAAM,GAAN,MAAM,CAAQ;QACd,UAAK,GAAL,KAAK,CAAgB;QACtB,WAAM,GAAN,MAAM,CAAW;QAnC1B,oBAAe,GAAY,IAAI,CAAC;QAEhC,gBAAW,GAAQ,EAAE,CAAC;QAOtB,SAAI,GAAW,CAAC,CAAC;QACjB,oBAAe,GAA4B,EAAE,CAAC;QAI9C,kBAAa,GAAa,EAAE,CAAC;QAC7B,gBAAW,GAAa,CAAC,+DAAS,CAAC,OAAO,EAAE,+DAAS,CAAC,MAAM,CAAC,CAAC;QAE9D,qBAAgB,GAA4B,EAAE,CAAC;QAM/C,iBAAY,GAAG,EAAE,CAAC;QAClB,uBAAkB,GAAa,EAAE,CAAC;QAElC,sBAAiB,GAAa,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QACxE,qBAAgB,GAAY,KAAK,CAAC;QAClC,mBAAc,GAAG,EAAE,CAAC;QAQlB,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EACtC,EAAE,cAAc,EAAE,iBAAiB,EAAE,eAAe,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,CAAC;QAC1F,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,SAAS,CAAC,cAAI;YAC5C,IAAI,CAAC,IAAI,EAAE;gBACT,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC;gBACjD,OAAO;aACR;YACD,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,wCAAQ,GAAR;QAAA,iBA8CC;QA7CC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC;QACtC,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACxE,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC/D,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;YAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;SACzC;QACD,IAAI,CAAC,gBAAgB,CAAC,8BAA8B,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,cAAI;YAC7J,KAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC;YACrC,KAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC;YACvD,IAAI,KAAI,CAAC,SAAS,CAAC,aAAa,KAAK,sGAAiB,CAAC,UAAU,EAAE;gBACjE,KAAI,CAAC,mBAAmB,GAAG,KAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,aAAa,KAAK,sGAAiB,CAAC,UAAU,EAAlD,CAAkD,CAAC,CAAC;aACvH;YACD,IAAI,KAAI,CAAC,SAAS,CAAC,aAAa,KAAK,sGAAiB,CAAC,IAAI,EAAE;gBAC3D,KAAI,CAAC,mBAAmB,GAAG,KAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,MAAM,KAAK,KAAI,CAAC,SAAS,CAAC,MAAM,EAApC,CAAoC,CAAC,CAAC;gBACxG,KAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,MAAM,KAAK,KAAI,CAAC,SAAS,CAAC,MAAM,EAApC,CAAoC,CAAC,CAAC;aACnG;YACD,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC;YACzD,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;YACrD,IAAI,KAAI,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvC,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,UAAU,KAAK,IAAI,EAAvB,CAAuB,CAAC,CAAC;aACrF;YACD,IAAI,KAAI,CAAC,eAAe,CAAC,MAAM,IAAI,CAAC,EAAE;gBACpC,KAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAG;oBAC/B,GAAG,CAAC,UAAU,GAAG,KAAK,CAAC;oBACvB,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;oBAC/B,GAAG,CAAC,iBAAiB,GAAG,GAAG,CAAC,kBAAkB,GAAG,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC;oBAC5E,GAAG,CAAC,YAAY,GAAG,GAAG,CAAC,YAAY,GAAG,GAAG,CAAC,aAAa,GAAG,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC;oBACnF,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC;oBACvC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC;oBAC7E,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC;gBAC5G,CAAC,CAAC,CAAC;aACJ;YACD,IAAI,KAAI,CAAC,iBAAiB,IAAI,CAAC,EAAE;gBAC/B,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,EAAE,KAAK,KAAI,CAAC,iBAAiB,EAAjC,CAAiC,CAAC,CAAC;gBAC/F,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,KAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnF,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACjG,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,SAAS,IAAI,KAAI,CAAC,iBAAiB,EAAvC,CAAuC,CAAC,CAAC,WAAW,CAAC;gBACrG,KAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;gBACxD,IAAI,MAAM,GAAG,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,SAAS,KAAK,KAAI,CAAC,iBAAiB,EAAxC,CAAwC,CAAC,CAAC,aAAa,CAAC;gBAC/F,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,cAAc,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,KAAI,CAAC,gBAAgB,CAAC,EAAE,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;aACjK;YACD,KAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,2CAAW,GAAX,UAAY,cAAc;QAA1B,iBAgBC;QAfC,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,EAAE;YAC9B,OAAO;SACR;QACD,IAAI,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,SAAS,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,EAA5C,CAA4C,CAAC,CAAC,OAAO,CAAC;QACxH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;QAC7K,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAG;YACvB,KAAI,CAAC,WAAW,CAAC,IAAI,CACnB;gBACE,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,uFAAuF;gBACvF,aAAa,EAAE,KAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC;aACxD,CACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gDAAgB,GAAhB,UAAiB,QAAQ;QACvB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,QAAQ,CAAC,OAAO,CAAC,aAAG;YAClB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,4CAAY,GAAZ,UAAa,MAAM;QACjB,IAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,iBAAiB,IAAI,MAAM,EAAE;YACnE,MAAM,CAAC,iBAAiB,GAAG,IAAI,CAAC;SACjC;aAAM;YACL,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC;YAC3B,IAAI,MAAM,CAAC,iBAAiB,KAAK,KAAK;gBACpC,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC;iBACrB,IAAI,MAAM,CAAC,iBAAiB,KAAK,IAAI;gBACxC,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC;SAC3B;QACD,IAAI,CAAC,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,kBAAkB,IAAI,MAAM,EAAE;YACrE,MAAM,CAAC,kBAAkB,GAAG,IAAI,CAAC;SAClC;aAAM;YACL,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC;YAC5B,IAAI,MAAM,CAAC,kBAAkB,KAAK,KAAK;gBACrC,MAAM,CAAC,aAAa,GAAG,CAAC,CAAC;iBACtB,IAAI,MAAM,CAAC,kBAAkB,KAAK,IAAI;gBACzC,MAAM,CAAC,aAAa,GAAG,CAAC,CAAC;SAC5B;QACD,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,eAAe,IAAI,MAAM,EAAE;YAC/D,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC;SAC/B;aAAM;YACL,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;YACzB,IAAI,MAAM,CAAC,eAAe,KAAK,KAAK;gBAClC,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC;iBACnB,IAAI,MAAM,CAAC,eAAe,KAAK,IAAI;gBACtC,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC;SACzB;IACH,CAAC;IAGD,0CAAU,GAAV;QAAA,iBA+BC;QA9BC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC3B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;SAClD;QACD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;SAC/C;QAED,IAAI,IAAI,CAAC,iBAAiB,KAAK,CAAC,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC/E,IAAI,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,aAAG,IAAI,UAAG,CAAC,IAAI,KAAK,KAAI,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,GAAG,CAAC,SAAS,KAAK,KAAI,CAAC,iBAAiB,EAAxF,CAAwF,CAAC,GAAG,CAAC,CAAC,EAAE;gBAC5I,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;aACnF;SACF;QAED,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE;YAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4EAAyB,EAAE;gBAC1C,IAAI,EAAE;oBACJ,aAAa,EAAE,IAAI,CAAC,aAAa;iBAClC;aACF,CAAC,CAAC;YACH,OAAO;SACR;QAED,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,EAAE;YAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,SAAS,IAAI,KAAI,CAAC,iBAAiB,EAAvC,CAAuC,CAAC,CAAC,WAAW,CAAC;YACrG,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;YACxD,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,SAAS,KAAK,KAAI,CAAC,iBAAiB,EAAxC,CAAwC,CAAC,CAAC,aAAa,CAAC;YAC/F,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;SACjK;QACD,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,QAAQ;IACR,kDAAkB,GAAlB;QACE,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE;YACrC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;SAC7D;QAED,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE;YAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4EAAyB,EAAE;gBAC1C,IAAI,EAAE;oBACJ,aAAa,EAAE,IAAI,CAAC,aAAa;iBAClC;aACF,CAAC,CAAC;YACH,OAAO;SACR;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,QAAQ;IACR,6CAAa,GAAb;QACE,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QAExB,iGAAiG;QACjG,mDAAmD;QACnD,yCAAyC;QAEzC,mCAAmC;QACnC,qDAAqD;QACrD,IAAI;QACJ,IAAI,iBAAiB,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,aAAG,IAAI,QAAC,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,IAAI,MAAM,EAAzC,CAAyC,CAAC,CAAC;QACtG,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;YAChC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;SACpD;QAED,IAAI,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,aAAG,IAAI,QAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,EAA3B,CAA2B,CAAC,CAAC;QAClF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YAC1B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;SAC7C;QAED,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE;YAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4EAAyB,EAAE;gBAC1C,IAAI,EAAE;oBACJ,aAAa,EAAE,IAAI,CAAC,aAAa;iBAClC;aACF,CAAC,CAAC;YACH,OAAO;SACR;QACD,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,QAAQ;IACR,iDAAiB,GAAjB;QACE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,oDAAoB,GAApB,UAAqB,UAAiB;QAAtC,iBAqCC;QArCoB,8CAAiB;QACpC,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,EAAE;YAC/B,IAAI,CAAC,eAAe,GAAG;gBACrB,EAAE,EAAE,CAAC;gBACL,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa;gBAC3C,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY;gBACzC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM;gBAC7B,SAAS,EAAE,IAAI,CAAC,iBAAiB;gBACjC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;gBAC7C,aAAa,EAAE,IAAI,CAAC,gBAAgB,EAAE;gBACtC,SAAS,EAAE,IAAI,CAAC,WAAW;gBAC3B,SAAS,EAAE,IAAI,CAAC,WAAW;gBAC3B,WAAW,EAAE,EAAE;gBACf,WAAW,EAAE,EAAE;gBACf,cAAc,EAAE,EAAE;gBAClB,QAAQ,EAAE,EAAE;aACb;SACF;QACD,IAAI,CAAC,oBAAoB,GAAG,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,gBAAgB,EAAE,IAAI,CAAC,eAAe,EAAE,SAAS,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAClJ,IAAI,CAAC,gBAAgB,CAAC,+BAA+B,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,SAAS,CAAC,cAAI;YAC7F,IAAI,IAAI,CAAC,IAAI,EAAE;gBACb,KAAI,CAAC,eAAe,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;gBACvD,KAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;gBACtD,KAAI,CAAC,eAAe,GAAG,+CAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACvD,KAAI,CAAC,eAAe,CAAC,OAAO,CAAC,aAAG;oBAC9B,KAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAI,IAAI,UAAG,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,EAAhC,CAAgC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;gBACnF,CAAC,CAAC,CAAC;gBACH,IAAI,UAAU,EAAE;oBACd,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yEAAuB,EAAE;wBACxC,IAAI,EAAE;4BACJ,OAAO,EAAE,iBAAiB;yBAC3B;qBACF,CAAC,CAAC;iBACJ;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,4CAAY,GAAZ,UAAa,MAAM;QACjB,IAAI,MAAM,CAAC,UAAU,EAAE;YACrB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACnC;aACI;YACH,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,EAAjC,CAAiC,CAAC,CAAC;YAC7F,IAAI,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE;gBAClB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;aACzC;SACF;IACH,CAAC;IAED,aAAa;IACb,0CAAU,GAAV,UAAW,MAAM;QACf,kGAAkG;QAClG,gCAAgC;QAChC,IAAI;QACJ,qGAAqG;QACrG,iCAAiC;QACjC,IAAI;QACJ,4FAA4F;QAC5F,8BAA8B;QAC9B,IAAI;IACN,CAAC;IAED,uCAAO,GAAP,UAAQ,KAAa;QACnB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;IACpB,CAAC;IAED,wCAAQ,GAAR;QACE,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,wCAAQ,GAAR;QACE,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,QAAQ;IACR,oDAAoB,GAApB;QACE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QACrD,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,QAAQ;IACR,8CAAc,GAAd;QACE,IAAI,CAAC,eAAe,GAAG,+CAAI,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,kDAAkB,GAAlB;QACE,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,iBAAiB;IACT,gDAAgB,GAAxB;QAAA,iBAOC;QANC,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,KAAK,sGAAiB,CAAC,UAAU,EAAE;YACjE,OAAU,IAAI,CAAC,SAAS,CAAC,cAAc,SAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,SAAS,KAAK,KAAI,CAAC,iBAAiB,EAAxC,CAAwC,CAAC,CAAC,WAAW,SAAI,IAAI,CAAC,YAAY,CAAC,WAAW,EAAI,CAAC;SACpK;aACI;YACH,OAAU,IAAI,CAAC,SAAS,CAAC,cAAc,SAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,SAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,SAAS,KAAK,KAAI,CAAC,iBAAiB,EAAxC,CAAwC,CAAC,CAAC,WAAW,SAAI,IAAI,CAAC,YAAY,CAAC,WAAW,EAAI,CAAC;SAC/L;IACH,CAAC;IAEO,2CAAW,GAAnB;QAAA,iBAUC;QATC,IAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC;YACpD,OAAO,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC,GAAG,CAAC,WAAC;YACN,IAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzC,KAAI,CAAC,eAAe,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,EAAzB,CAAyB,CAAC,CAAC,MAAM,CAAC;YACrE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;YAC5B,OAAO,mDAAK,CAAC,IAAE,QAAQ,cAAG;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;;gBAzU4B,kEAAmB;gBACpB,kHAA2B;gBAC7B,wEAAc;gBACtB,sDAAM;gBACP,8DAAc;gBACd,2DAAS;;IApCf,qBAAqB;QALjC,+DAAS,CAAC;YACT,QAAQ,EAAE,oBAAoB;YAC9B,4KAA8C;;SAE/C,CAAC;OACW,qBAAqB,CA0WjC;IAAD,4BAAC;CAAA;AA1WiC;;;;;;;;;;;;;ACjBlC;AAAA;AAAA,IAAY,SAIX;AAJD,WAAY,SAAS;IACjB,iDAAoC;IACpC,gCAAmB;IACnB,8BAAiB;AACrB,CAAC,EAJW,SAAS,KAAT,SAAS,QAIpB;;;;;;;;;;;;;;;;;;;ACJyD;AACN;AAMpD;IAII,iCACoC,IAAS;QAAT,SAAI,GAAJ,IAAI,CAAK;IACzC,CAAC;IAEL,0CAAQ,GAAR;QACI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;IACrC,CAAC;;gDALI,oDAAM,SAAC,iEAAe;;IALlB,uBAAuB;QAJnC,+DAAS,CAAC;YACP,QAAQ,EAAE,iBAAiB;YAC3B,0JAAmC;SACtC,CAAC;QAMO,6GAAM,CAAC,iEAAe,CAAC;OALnB,uBAAuB,CAWnC;IAAD,8BAAC;CAAA;AAXmC;;;;;;;;;;;;;;;;;;;ACPsB;AACN;AAMpD;IAII,mCACoC,IAAS;QAAT,SAAI,GAAJ,IAAI,CAAK;QAH7C,kBAAa,GAAQ,EAAE,CAAC;IAIpB,CAAC;IAEL,4CAAQ,GAAR;QACI,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;IACjD,CAAC;;gDALI,oDAAM,SAAC,iEAAe;;IALlB,yBAAyB;QAJrC,+DAAS,CAAC;YACP,QAAQ,EAAE,mBAAmB;YAC7B,8JAAqC;SACxC,CAAC;QAMO,6GAAM,CAAC,iEAAe,CAAC;OALnB,yBAAyB,CAWrC;IAAD,gCAAC;CAAA;AAXqC;;;;;;;;;;;;;;;;;;;;ACPY;AACA;AACG;AAMrD;IA4BE,yBAAoB,aAA4B,EAAS,OAA4B;QAAjE,kBAAa,GAAb,aAAa,CAAe;QAAS,YAAO,GAAP,OAAO,CAAqB;QAjBrF,sBAAiB,GAAG,KAAK,CAAC;QAC1B,4BAAuB,GAAG,KAAK,CAAC;QAOhC,UAAK,GAAG,IAAI,CAAC;QACb,gBAAW,GAAG,IAAI,CAAC;QAMnB,UAAK,GAAG,KAAK,CAAC;QACd,WAAM,GAAG,KAAK,CAAC;QAEb,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACjD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAChE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAClE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC;IAED,kCAAQ,GAAR;QACE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,QAAQ,EAAlC,CAAkC,CAAC,CAAC;QACzE,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;SAC1C;IACH,CAAC;IAED,oCAAU,GAAV,UAAW,KAAK;QACd,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,OAAO,CAAC;QACvC,IAAI,IAAI,CAAC,iBAAiB,KAAK,IAAI,EAAE;YACnC,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;YACzB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;YACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SACpB;QACD,IAAI,IAAI,CAAC,iBAAiB,KAAK,KAAK,EAAE;YACpC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;YACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;SACnB;IACH,CAAC;IAED,0CAAgB,GAAhB,UAAiB,KAAK;QACpB,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC,OAAO,CAAC;QAC7C,IAAI,IAAI,CAAC,uBAAuB,KAAK,IAAI,EAAE;YACzC,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;YAC3B,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;YACzB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;SAC1B;QACD,IAAI,IAAI,CAAC,uBAAuB,KAAK,KAAK,EAAE;YAC1C,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;YAC3B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;SACzB;IACH,CAAC;IAED,wCAAc,GAAd;QAAA,iBA4DC;QA3DC,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,EAAE;YACpF,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,QAAQ,GAAG,+BAA+B,CAAC;YAChD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,OAAO;SACR;QACD,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE;YAClC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC7B,IAAI,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,KAAK,KAAK,KAAI,CAAC,UAAU,EAA3B,CAA2B,CAAC,CAAC;gBAC1E,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;oBAE1B,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,KAAK,IAAI,EAAE;wBACvC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;qBACtB;yBACI;wBACH,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;qBACtB;iBACF;aACF;SACF;QACD,IAAM,IAAI,GAAG;YACX,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,aAAa,EAAE,CAAC;YAChB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,SAAS,EAAE,IAAI,CAAC,WAAW;YAC3B,KAAK,EAAE,IAAI,CAAC,UAAU;YACtB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS,EAAE,IAAI,CAAC,WAAW;SAC5B,CAAC;QACF,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE;YAC3D,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;gBAEhC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,cAAI;oBACpD,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE;wBACvC,KAAI,CAAC,QAAQ,GAAG,sBAAsB,CAAC;wBACvC,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;wBACnB,KAAI,CAAC,cAAc,EAAE,CAAC;qBACvB;yBAAM;qBAEN;gBACH,CAAC,CAAC,CAAC;aACJ;SAEF;aAEI;YAEH,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,cAAI;gBACpD,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE;oBACvC,KAAI,CAAC,QAAQ,GAAG,oBAAoB,CAAC;oBACrC,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;oBAEnB,KAAI,CAAC,cAAc,EAAE,CAAC;iBACvB;qBAAM;iBACN;YACH,CAAC,CAAC,CAAC;SACJ;IAEH,CAAC;IAED,8CAAoB,GAApB;QAAA,iBAyDC;QAxDC,IAAI,IAAI,CAAC,WAAW,KAAK,EAAE,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,IAAI,CAAC,WAAW,KAAK,CAAC,EAAE;YACvF,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,GAAG,GAAG,+BAA+B,CAAC;YAC3C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,OAAO;SACR;QACD,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS,EAAE;YACxC,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;gBACnC,IAAI,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,KAAK,KAAK,KAAI,CAAC,SAAS,EAA1B,CAA0B,CAAC,CAAC;gBAChF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;oBAE3B,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,WAAW,KAAK,IAAI,EAAE;wBACxC,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;qBAC5B;yBACI;wBACH,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;qBAC5B;iBACF;aACF;SACF;QACD,IAAM,IAAI,GAAG;YACX,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,aAAa,EAAE,CAAC;YAChB,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,SAAS,EAAE,IAAI,CAAC,WAAW;YAC3B,KAAK,EAAE,IAAI,CAAC,SAAS;YACrB,WAAW,EAAE,IAAI,CAAC,iBAAiB;YACnC,SAAS,EAAE,IAAI,CAAC,WAAW;SAC5B,CAAC;QACF,IAAI,IAAI,CAAC,SAAS,KAAK,EAAE,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;YACzD,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;gBAEhC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,cAAI;oBACpD,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE;wBACvC,KAAI,CAAC,GAAG,GAAG,sBAAsB,CAAC;wBAClC,KAAI,CAAC,MAAM,GAAG,KAAK,CAAC;wBACpB,KAAI,CAAC,eAAe,EAAE,CAAC;qBACxB;yBAAM;qBAEN;gBACH,CAAC,CAAC,CAAC;aACJ;SACF;aAAM;YAEL,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,cAAI;gBACpD,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE;oBACvC,KAAI,CAAC,GAAG,GAAG,oBAAoB;oBAC/B,KAAI,CAAC,MAAM,GAAG,KAAK,CAAC;iBAErB;qBAAM;iBAEN;gBACD,KAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,CAAC,CAAC,CAAC;SACJ;IAEH,CAAC;IAED,wCAAc,GAAd;QAAA,iBAiBC;QAhBC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,iBAAO;YACnE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,SAAS,GAAG,OAAO,CAAC;YACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC9C,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;gBACnB,KAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;gBAC9B,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;gBAC/C,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBAC1C,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;gBACvD,IAAI,KAAI,CAAC,iBAAiB,KAAK,IAAI,EAAE;oBACnC,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;iBACpB;qBAAM;oBACL,KAAI,CAAC,KAAK,GAAG,IAAI,CAAC;iBACnB;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,yCAAe,GAAf;QAAA,iBAiBC;QAhBC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,iBAAO;YACnE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,eAAe,GAAG,OAAO,CAAC;YAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpD,KAAI,CAAC,WAAW,GAAG,KAAK,CAAC;gBACzB,KAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;gBACpC,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;gBACtD,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBAC/C,KAAI,CAAC,uBAAuB,GAAG,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;gBACnE,IAAI,KAAI,CAAC,uBAAuB,KAAK,IAAI,EAAE;oBACzC,KAAI,CAAC,WAAW,GAAG,KAAK,CAAC;iBAC1B;qBAAM;oBACL,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC;iBACzB;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,kCAAQ,GAAR,UAAS,KAAU;QACjB;QACE,+CAA+C;QAC/C,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAChD,CAAC,KAAK,CAAC,OAAO,KAAK,EAAE,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,gBAAgB;YACpE,CAAC,KAAK,CAAC,OAAO,KAAK,EAAE,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,gBAAgB;YACpE,CAAC,KAAK,CAAC,OAAO,KAAK,EAAE,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,gBAAgB;YACpE,CAAC,KAAK,CAAC,OAAO,KAAK,EAAE,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,gBAAgB;YACpE,CAAC,KAAK,CAAC,OAAO,KAAK,EAAE,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,cAAc;YAClE,CAAC,KAAK,CAAC,OAAO,KAAK,EAAE,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,cAAc;YAClE,CAAC,KAAK,CAAC,OAAO,KAAK,EAAE,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,cAAc;YAClE,CAAC,KAAK,CAAC,OAAO,KAAK,EAAE,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,cAAc;YAClE,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAE,yBAAyB;UACvE;YACA,OAAO;SACR;QAED,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,IAAI,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,IAAI,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC,EAAE;YACjH,KAAK,CAAC,cAAc,EAAE,CAAC;SACxB;IAIH,CAAC;IAED,6BAAG,GAAH,UAAI,KAAK;QACP,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE;YAC7C,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;SACtB;QACD,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE;YAC9C,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;SACvB;IACH,CAAC;;gBA9OkC,6DAAa;gBAAkB,kEAAmB;;IA5B1E,eAAe;QAJ3B,+DAAS,CAAC;YACT,QAAQ,EAAE,YAAY;YACtB,oJAAsC;SACvC,CAAC;OACW,eAAe,CA4Q3B;IAAD,sBAAC;CAAA;AA5Q2B;;;;;;;;;;;;;;;;;;;ACRqB;AACM;AAGvD,IAAM,MAAM,GAAW,EAAE,CAAC;AAM1B;IAAA;IAGA,CAAC;IAHY,gBAAgB;QAJ5B,8DAAQ,CAAC;YACR,OAAO,EAAE,CAAC,4DAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACvC,OAAO,EAAE,CAAC,4DAAY,CAAC;SACxB,CAAC;OACW,gBAAgB,CAG5B;IAAD,uBAAC;CAAA;AAH4B;;;;;;;;;;;;ACV7B,6DAA6D,iBAAiB,GAAG,0BAA0B,uCAAuC,kBAAkB,GAAG,+CAA+C,kBAAkB,2BAA2B,GAAG,oBAAoB,iBAAiB,kBAAkB,wBAAwB,GAAG,6BAA6B,sBAAsB,mBAAmB,KAAK,GAAG,iBAAiB,mBAAmB,GAAG,6BAA6B,mBAAmB,sBAAsB,aAAa,cAAc,iBAAiB,6BAA6B,KAAK,2CAA2C,wBAAwB,KAAK,GAAG,wDAAwD,mBAAmB,GAAG,iBAAiB,mBAAmB,iBAAiB,yBAAyB,GAAG,MAAM,gBAAgB,mCAAmC,qBAAqB,eAAe,GAAG,cAAc,gBAAgB,mBAAmB,mCAAmC,iBAAiB,uBAAuB,eAAe,GAAG,mCAAmC,kBAAkB,uBAAuB,iBAAiB,GAAG,sBAAsB,mBAAmB,GAAG,4BAA4B,qBAAqB,2BAA2B,oBAAoB,mBAAmB,qBAAqB,sBAAsB,uBAAuB,uBAAuB,iBAAiB,iBAAiB,GAAG,8BAA8B,kBAAkB,gBAAgB,qBAAqB,wBAAwB,uBAAuB,WAAW,GAAG,oCAAoC,2BAA2B,cAAc,kBAAkB,mBAAmB,iBAAiB,uBAAuB,WAAW,iBAAiB,eAAe,GAAG,mDAAmD,oBAAoB,GAAG,qDAAqD,mBAAmB,oBAAoB,qBAAqB,gBAAgB,GAAG,6BAA6B,QAAQ,kBAAkB,KAAK,kBAAkB,kBAAkB,KAAK,gCAAgC,qBAAqB,mBAAmB,KAAK,kCAAkC,kBAAkB,uBAAuB,KAAK,wCAAwC,6BAA6B,gBAAgB,oBAAoB,qBAAqB,mBAAmB,yBAAyB,aAAa,mBAAmB,KAAK,GAAG,gBAAgB,qBAAqB,oBAAoB,KAAK,GAAG,gBAAgB,WAAW,iBAAiB,kBAAkB,KAAK,mBAAmB,+BAA+B,KAAK,GAAG,gBAAgB,sBAAsB,+BAA+B,KAAK,GAAG,iBAAiB,qBAAqB,qBAAqB,KAAK,GAAG,WAAW,oCAAoC,GAAG,6CAA6C,+6W;;;;;;;;;;;;;;;;;;;ACA7yF;AACe;AACZ;AAQrD;IASE,sBAAoB,MAAc,EAAU,YAA4B,EAAU,OAA4B;QAA1F,WAAM,GAAN,MAAM,CAAQ;QAAU,iBAAY,GAAZ,YAAY,CAAgB;QAAU,YAAO,GAAP,OAAO,CAAqB;QAR9G,aAAQ,GAAG,KAAK,CAAC;QACjB,UAAK,GAAG,aAAa,CAAC;QACtB,mBAAc,GAAG,IAAI,CAAC;QACtB,UAAK,GAAG,CAAC,CAAC;QACV,kBAAa,GAAG,KAAK,CAAC;QACtB,cAAS,GAAG,EAAE,CAAC;QACf,eAAU,GAAG,EAAE,CAAC;QAGd,IAAI;IACN,CAAC;IACD,+BAAQ,GAAR;QACE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACxD,CAAC;IAED,8BAAO,GAAP,UAAQ,KAAK;QACX,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,EAAE;YACpB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,KAAK,EAAE,CAAC;SACd;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;SAChB;IAEH,CAAC;;gBAnB2B,sDAAM;gBAAwB,8DAAc;gBAAmB,kEAAmB;;IATnG,YAAY;QANxB,+DAAS,CAAC;YACT,QAAQ,EAAE,UAAU;YACpB,uIAAmC;;SAGpC,CAAC;OACW,YAAY,CA+BxB;IAAD,mBAAC;CAAA;AA/BwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACViC;AACjB;AACE;AAC2C;AAC9B;AACT;AACQ;AACwB;AACpC;AAQhB;AACuC;AACqB;AACI;AACZ;AACY;AACnC;AACwD;AACiB;AACtD;AACnB;AAC2B;AACI;AAClC;AACS;AACvB;AAEvC,kCAAkC;AACuC;AAC8B;AACU;AACA;AACmB;AAC1E;AAChB;AAC1C,gDAAgD;AACH;AACc;AAEkB;AACqB;AACH;AACH;AACS;AACZ;AAC1B;AACM;AACgB;AACK;AACrC;AACmB;AAC4C;AACO;AAE/D;AACY;AACM;AAC3B;AACoC;AACzC;AAC0B;AACvB;AACqD;AACxB;AACiE;AAChF;AACN;AACyB;AACH;AACM;AACV;AAC+B;AACpB;AACqB;AACjC;AACG;AACX;AACP;AACC;AAC5D,kDAAkD;AAClD,wEAAkB,CAAC,MAAM,CAAC,0CAAY,EAAE,8DAAM,EAAE,2EAAW,CAAC,CAAC;AAE7D,IAAM,SAAS,GAAW;IACxB,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,2DAAY,EAAE;IACjD,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,2EAAgB,EAAE;IAC/C,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,4EAAgB,EAAE;IAChD,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,+EAAiB,EAAE;IAClD,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,4EAAgB,EAAE;IAChD,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,+EAAiB,EAAE;IAClD,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,sEAAc,EAAE;IAC3C,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,uFAAmB,EAAE;IACtD,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,mEAAa,EAAE;IAC1C,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,yEAAe,EAAE;IAC9C,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,4EAAgB,EAAE;IAChD,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,mGAAuB,EAAE;IACtD,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,gGAAsB,EAAE;IAC5D,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,gGAAsB,EAAE;IAC5D,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,oHAA4B,EAAE;IACjE,EAAE,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,+GAA2B,EAAE;IACrE,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,4GAA0B,EAAE;IAClE,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,yGAAyB,EAAE;IAClE,EAAE,IAAI,EAAE,qBAAqB,EAAE,SAAS,EAAE,kHAA4B,EAAE;IACxE,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,sGAAwB,EAAE;IAChE,uDAAuD;IACvD,EAAE,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,kFAAkB,EAAE;IAC5D,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,4EAAgB,EAAE;IAChD,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,sEAAc,EAAE;IAC5C,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,uGAAyB,EAAE;IAClE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,yEAAe,EAAE;IAC9C,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,qFAAmB,EAAE;IACtD,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,qFAAmB,EAAE;IACtD,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,wFAAoB,EAAE;IACxD,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,sEAAc,EAAE;IAC5C,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,4EAAgB,EAAE;IAChD,EAAE,IAAI,EAAE,wBAAwB,EAAE,SAAS,EAAE,uHAA6B,EAAE;IAC5E,EAAE,IAAI,EAAE,4BAA4B,EAAE,SAAS,EAAE,+FAAqB,EAAE;IACxE,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,2FAAqB,EAAE;IAC1D,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,uFAAmB,EAAE;CAExD,CAAC;AAEK,IAAM,oBAAoB,GAC/B;IACE,CAAC,wEAAY,CAAC,QAAQ,CAAC;CACxB,CAAC;AAuIJ;IAAA;IAAyB,CAAC;IAAb,SAAS;QApIrB,8DAAQ,CAAC;YACR,YAAY,EAAE;gBACZ,2DAAY;gBACZ,4EAAgB;gBAChB,+EAAiB;gBACjB,sEAAc;gBACd,+EAAiB;gBACjB,2EAAgB;gBAChB,iFAAsB;gBACtB,kFAAsB;gBACtB,qFAAuB;gBACvB,qFAAuB;gBACvB,4EAAoB;gBACpB,4EAAgB;gBAChB,kFAAsB;gBACtB,mFAAuB;gBACvB,uFAAmB;gBACnB,6FAAyB;gBACzB,8FAA0B;gBAC1B,mEAAa;gBACb,yEAAmB;gBACnB,yEAAe,EAAE,+EAAqB,EAAE,4EAAgB;gBACxD,4EAAgB,EAAE,kFAAsB;gBACxC,oDAAQ;gBACR,mGAAuB;gBACvB,2FAAe;gBACf,gGAAsB;gBACtB,gGAAsB;gBACtB,sGAA4B;gBAC5B,sGAA4B;gBAC5B,oHAA4B;gBAC5B,mHAA2B;gBAC3B,+GAA2B;gBAC3B,4GAA0B;gBAC1B,yGAAyB;gBACzB,kHAA4B;gBAC5B,sGAAwB;gBACxB,kFAAkB;gBAClB,4EAAgB;gBAChB,sEAAc;gBACd,kFAA0B;gBAC1B,mGAAuB;gBACvB,sEAAc;gBACd,uFAA+B;gBAC/B,qFAAmB;gBACnB,kFAA0B;gBAC1B,uGAAyB;gBACzB,sGAAwB;gBACxB,yGAAyB;gBACzB,6GAA6B,EAAE,yEAAe;gBAC9C,qFAAmB;gBACnB,2FAAyB;gBACzB,0DAAS;gBACT,qFAAmB;gBACnB,wFAAoB;gBACpB,6FAAyB;gBACzB,sEAAc;gBACd,2EAAmB;gBACnB,uHAA6B;gBAC7B,4EAAgB;gBAChB,sEAAsB;gBACtB,+FAAqB;gBACrB,4FAAyB;gBACzB,kGAAsB;gBACtB,wFAAuB;gBACvB,uHAA6B;gBAC7B,2FAAqB;gBACrB,iGAA2B;gBAC3B,uFAAmB;gBACnB,6HAAmC;gBACnC,0FAAe;aAChB;YACD,OAAO,EAAE;gBACP,+DAAU,CAAC,OAAO,CAAC;oBACjB,QAAQ,EAAE,wEAAY,CAAC,QAAQ;oBAC/B,SAAS,EAAE,oCAAoC,GAAG,wEAAY,CAAC,QAAQ;oBACvE,oBAAoB,EAAE,oBAAoB;oBAC1C,WAAW,EAAE,wEAAY,CAAC,WAAW;iBACtC,CAAC;gBACF,4EAAkB,CAAC,OAAO,EAAE;gBAC5B,uEAAa;gBACb,oEAAgB;gBAChB,wDAAU;gBACV,4DAAY,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,wDAAU;gBAC3C,+DAAe;gBACf,gEAAa,EAAE,4FAAuB,EAAE,gEAAa,EAAE,gEAAa;gBACpE,2DAAW,EAAE,mEAAmB,EAAE,qEAAkB,EAAE,kEAAe;gBACrE,iEAAc,EAAE,sEAAgB,EAAE,kEAAe,EAAE,kEAAe;gBAClE,iEAAc,EAAE,sEAAmB,EAAE,sEAAmB,EAAE,kEAAe,EAAE,uEAAoB;gBAC/F,iEAAc,EAAE,qEAAkB,EAAE,sEAAc,EAAE,mEAAgB,EAAE,oEAAiB,EAAE,qEAAkB;gBAC3G,mEAAmB,EAAE,wEAAkB,EAAE,wDAAY,EAAE,mEAAmB,CAAC,OAAO,EAAE;gBACpF,gEAAa,EAAE,wDAAc,EAAE,mEAAgB,EAAE,iEAAY,EAAE,sEAAgB;gBAC/E,kEAAe,EAAE,gEAAa;aAC/B;YACD,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,iEAAgB,EAAE,QAAQ,EAAE,qEAAoB,EAAE;gBACvE,gEAAU;gBACV,yEAAe;gBACf;oBACE,OAAO,EAAE,uEAAiB,EAAE,QAAQ,EAAE,oEAAe,EAAE,KAAK,EAAE,IAAI;iBACnE,CAAC;YACJ,SAAS,EAAE,CAAC,sEAAc,CAAC;YAC3B,eAAe,EAAE;gBACf,iFAAsB;gBACtB,kFAAsB;gBACtB,qFAAuB;gBACvB,qFAAuB;gBACvB,4EAAoB;gBACpB,kFAAsB;gBACtB,mFAAuB;gBACvB,6FAAyB;gBACzB,8FAA0B;gBAC1B,yEAAmB;gBACnB,+EAAqB;gBACrB,kFAAsB;gBACtB,2FAAe;gBACf,sGAA4B;gBAC5B,sGAA4B;gBAC5B,mHAA2B;gBAC3B,uFAA+B;gBAC/B,kFAA0B;gBAC1B,sGAAwB;gBACxB,6GAA6B;gBAC7B,2FAAyB;gBACzB,6FAAyB;gBACzB,2EAAmB;gBACnB,sEAAsB;gBACtB,4FAAyB;gBACzB,wFAAuB;gBACvB,iGAA2B;gBAC3B,6HAAmC;aACpC;SACF,CAAC;OACW,SAAS,CAAI;IAAD,gBAAC;CAAA;AAAJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzQ2D;AAC/B;AACb;AAC+C;AACvC;AACH;AAEW;AACoC;AACjB;AACzB;AAO/C;IAgHE,uBAAoB,IAAU,EAAU,aAA4B,EAAS,MAAiB,EAAU,OAA4B,EAAU,QAAkB;QAA5I,SAAI,GAAJ,IAAI,CAAM;QAAU,kBAAa,GAAb,aAAa,CAAe;QAAS,WAAM,GAAN,MAAM,CAAW;QAAU,YAAO,GAAP,OAAO,CAAqB;QAAU,aAAQ,GAAR,QAAQ,CAAU;QA7GhK,cAAS,GAAG,KAAK,CAAC;QAClB,WAAM,GAAG,KAAK,CAAC;QAwBf,iBAAY,GAAG,EAAE,CAAC;QAClB,aAAQ,GAAG,EAAE,CAAC;QAGd,wBAAmB,GAAG,EAAE;QAGxB,eAAU,GAAG,KAAK,CAAC;QAEnB,YAAO,GAAG,EAAE,CAAC;QACb,gBAAW,GAAG,EAAE,CAAC;QACjB,kBAAa,GAAG,EAAE,CAAC;QACnB,gBAAW,GAAG,EAAE,CAAC;QAKjB,eAAU,GAAW,EAAE,CAAC;QACxB,eAAU,GAAG,EAAE,CAAC;QAChB,WAAM,GAAG,EAAE,CAAC;QACZ,UAAK,GAAG,EAAE,CAAC;QACX,gBAAW,GAAG,EAAE,CAAC;QACjB,gBAAW,GAAG,KAAK,CAAC;QACpB,iBAAY,GAAG,KAAK,CAAC;QAMrB,kBAAa,GAAG,KAAK,CAAC;QAGtB,eAAU,GAAG,EAAE,CAAC;QAEhB,kBAAa,GAAG,EAAE,CAAC;QAEnB,gBAAW,GAAG,EAAE,CAAC;QACjB,WAAM,GAAY,KAAK,CAAC;QACxB,WAAM,GAAG,EAAE,CAAC;QAEZ,UAAK,GAAG,IAAI,CAAC;QAEb,cAAS,GAAG,EAAE,CAAC;QACf,iBAAY,GAAG,EAAE,CAAC;QAClB,gBAAW,GAAG,KAAK,CAAC;QACpB,aAAQ,GAAG,KAAK,CAAC;QAIjB,eAAU,GAAG,KAAK,CAAC;QACnB,eAAU,GAAG,EAAE,CAAC;QAEhB,cAAS,GAAG,KAAK,CAAC;QAClB,kBAAa,GAAG,KAAK,CAAC;QACtB,kBAAa,GAAG,KAAK,CAAC;QAEtB,SAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAKlB,gBAAW,GAAG,IAAI,CAAC;QACnB,kBAAa,GAAG,KAAK,CAAC;QAMtB,qBAAgB,GAAG,IAAI,CAAC;QACxB,sBAAiB,GAAG,KAAK,CAAC;QAG1B,oBAAe,GAAG,EAAE,CAAC;QAOrB,cAAS,GAAG,aAAa,CAAC;QAC1B,iBAAY,GAAG,CAAC,CAAC;QACjB,kBAAa,GAAG,KAAK,CAAC;QACtB,gBAAW,GAAG,IAAI,CAAC;QACnB,gBAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QAEvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACjD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAChE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAClE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAChE,IAAI,CAAC,SAAS,EAAE,CAAC;IAEnB,CAAC;IAED,gCAAQ,GAAR;QACE,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,KAAK,cAAc,EAAtD,CAAsD,CAAC,CAAC;QAClG,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;SAC1C;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,OAAO,EAAE,CAAC;QAGf,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;IAC3B,CAAC;IAID,sCAAc,GAAd;QACE,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC;QACvB,IAAI,IAAI,CAAC,YAAY,GAAG,EAAE,EAAE;YAC1B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;SAC1B;aAAM;YACL,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;SACzB;IACH,CAAC;IACD,iCAAS,GAAT;QACE,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,kCAAU,GAAV;QACE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED,kCAAU,GAAV;QACE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC;QAC1B,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,SAAS,EAAE;YACvC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;SACvB;IACH,CAAC;IAED,gCAAQ,GAAR,UAAS,KAAK;QAAd,iBA6CC;QA5CC,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,EAAE;YAChC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,QAAQ,GAAG,uBAAuB,CAAC;YACxC,UAAU,CAAC;gBACT,KAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC/B,CAAC,EAAE,IAAI,CAAC,CAAC;SAEV;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,KAAK,CAAC,OAAO,EAAE;YACjB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC3B;aAAM;YACL,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;SACvB;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC;QAExB,IAAI,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QACrC,IAAI,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC;QAElC,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE;YACtB,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC;YACrD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC;SAE/C;aAAM;YACL,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;YACpB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC;SACjC;QAED,IAAI;YACF,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE;gBAEpD,IAAI,IAAI,CAAC,QAAQ,EAAE;oBACjB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;wBACtB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;wBAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;qBACzC;iBACF;qBAAM;oBACL,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;oBAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;iBACzC;aACF;SACF;QAAC,OAAO,KAAK,EAAE,GAAG;IACrB,CAAC;IAED,sCAAc,GAAd;QACE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC7C,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;gBACrB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,MAAM;aACP;iBAAM;gBACL,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;aAC5B;SACF;IAEH,CAAC;IAED,4BAAI,GAAJ,UAAK,QAAQ;QACX,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,sBAAsB;QAClD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IAGD,8BAAM,GAAN,UAAO,OAAO,EAAE,KAAK,EAAE,CAAC;QAAxB,iBAiCC;QAhCC,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;YACjC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,QAAQ,GAAG,uBAAuB,CAAC;YACxC,UAAU,CAAC;gBACT,KAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAE/B,CAAC,EAAE,KAAK,CAAC,CAAC;SAEX;QACD,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;YAElB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACjD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACnC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;gBAClC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;aAC5B;iBACI;gBACH,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;aAC3B;SAEF;aAAM;YACL,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAChC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;SAEzB;QACD,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;SAC1B;IAEH,CAAC;IAED,oCAAY,GAAZ;QACE,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAExD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC3C,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YAC5C,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;YACnD,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC;YACvD,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YAChD,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;YAC1C,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YAC5C,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YACpD,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;YAG1F,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAE7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;YACzC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC1B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAEhC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAEhC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACvC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;YAElC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACzB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAE3B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;YACvC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;YACrC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;SAGhC;QAED,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,GAAG,cAAc,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,WAAW,GAAG,IAAI,CAAC,gBAAgB,EAAE,EAAE,EAAE,oBAAoB,EAAE,2DAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IACvS,CAAC;IACD,6BAAK,GAAL;QACE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;IAC3B,CAAC;IACD,8BAAM,GAAN;QACE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC;QAC/B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IACD,+BAAO,GAAP;QAAA,iBA6FC;QA3FC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;;YAC1D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;YAExB,IAAI,YAAY,GAAG,KAAI,CAAC,QAAQ,CAAC;YACjC,IAAI,KAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC9B,KAAI,CAAC,UAAU,GAAG,KAAK,CAAC;gBACxB,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;aAC3B;iBACI;gBACH,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC5D,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAE3B,sFAAsF;gBACtF,oIAAoI;gBACpI,IAAI;gBACJ,SAAS;gBACT,OAAO;gBACP,8EAA8E;gBAC9E,IAAI;gBAEJ,IAAI,KAAI,CAAC,eAAe,EAAE;oBACxB,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,mFAAkB,CAAC,UAAU,EAAE;wBAC9E,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,iBAAO,IAAI,YAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAO,IAAI,cAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAhC,CAAgC,CAAC,EAA/D,CAA+D,CAAC,CAAC;qBAClH;yBACI,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,mFAAkB,CAAC,IAAI,EAAE;wBAC7E,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,MAAM,IAAI,KAAI,CAAC,eAAe,CAAC,MAAM,EAAzC,CAAyC,CAAC;qBACvF;yBACI;wBACH,IAAI,IAAI,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,KAAI,CAAC,SAAS,EAA9B,CAA8B,CAAC,CAAC;wBACrE,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;qBACtB;iBACF;gBAGD,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;gBACtB,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC;gBAExB,IAAI,KAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;oBAC9B,KAAI,CAAC,UAAU,GAAG,KAAK,CAAC;oBACxB,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;oBACtB,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;iBAC3B;qBACI;oBACH,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAC5D,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;oBACrC,KAAI,CAAC,iBAAiB,CAAC,KAAI,CAAC,QAAQ,CAAC;oBAErC,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC;oBACvB,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;oBACvB,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;iBAE5B;aAGF;YAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC/C,KAAI,CAAC,UAAU,GAAG,EAAE,CAAC;gBACrB,KAAI,CAAC,MAAM,GAAG,EAAE,CAAC;gBAEjB,4DAA4D;gBAE5D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAE7C,IAAI,KAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;wBAE7D,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;qBACxC;iBACF;gBACD,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;gBAClD,KAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,KAAI,CAAC,UAAU,CAAC;gBAC1C,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,KAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU;oBACnC,UAAU,EAAE,KAAI,CAAC,UAAU;oBAC3B,UAAU,EAAE,KAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ;oBACvC,OAAO,EAAE,KAAI,CAAC,UAAU,CAAC,MAAM;iBAChC,CAAC,CAAC;aACJ;;gBACD,KAAiB,6DAAI,CAAC,KAAK,6CAAE;oBAAxB,IAAI,IAAI;oBACX,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;iBAChC;;;;;;;;;YAAA,CAAC;YACF,KAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;IAGL,CAAC;IACD,yCAAiB,GAAjB,UAAkB,UAAU;QAE1B,OAAO,IAAI,CAAC,WAAW,GAAG,UAAU,EAAE;YACpC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;SAC1C;QACD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC;YAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClF,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;YACnC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE;gBAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;SAC3C;IACH,CAAC;IACD,uCAAe,GAAf;QAAA,iBAQC;QAPC,IAAI,IAAI,CAAC,UAAU,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE;YACrD,IAAI,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,IAAI,KAAI,CAAC,UAAU,EAA3B,CAA2B,CAAC,CAAC;YAC7E,IAAI,eAAe,CAAC,MAAM,IAAI,CAAC,EAAE;gBAC/B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;aAC3B;SACF;IACH,CAAC;IACD,kCAAU,GAAV;QAAA,iBAoEC;QAnEC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC;QAEhC,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CACjC,UAAC,IAAI;YACH,OAAO,CACL,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;mBAC7G,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;mBACxG,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;mBAChH,CAAC,IAAI,CAAC,UAAU,KAAK,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;mBAC9G,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;mBAChH,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;mBAC1G,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;mBAClH,CAAC,IAAI,CAAC,oBAAoB,KAAK,IAAI,IAAI,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;mBAClI,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACrF,CAAC,CAEF,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE;YAC7B,sBAAsB;YACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YACvB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;SAC1B;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE,EAAE;YAC1B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC;YAChC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YACrC,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE;gBACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;aAC1C;YACD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAC7C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAI,IAAI,CAAC,aAAa,EAAE;gBAEtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aACzC;YACD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;SAE5B;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;YAChC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE;gBACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;aAC1C;YACD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAC/C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvC,IAAI,IAAI,CAAC,aAAa;oBACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aAC3C;YAED,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;gBACnC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE;oBAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aAC3C;SACF;IACH,CAAC;IAED,4BAAI,GAAJ,UAAK,KAA4B,EAAE,QAAgB;QACjD,IAAI,KAAK,CAAC,iBAAiB,KAAK,KAAK,CAAC,SAAS,EAAE;YAC/C,8EAAe,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;SAEhF;aAAM;YACL,gFAAiB,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAC5C,KAAK,CAAC,SAAS,CAAC,IAAI,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,YAAY,CAAC,CAAC;YACtB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;SAElD;QACD,kBAAkB;IACpB,CAAC;IAED,mCAAW,GAAX,UAAY,QAAa,EAAE,QAAgB;QAA3C,iBAyCC;QAxCC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,EAAE,EAAE;YACvE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC;SAE7B;QACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YAEvB,IAAM,WAAW,GAAG;gBAClB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;gBAChC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU;gBAClC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC/B,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU;gBAClC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa;gBACxC,kBAAkB,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,kBAAkB;gBAClD,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY;gBACtC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM;gBAC1B,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU;gBAClC,QAAQ,EAAE,QAAQ;gBAClB,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO;gBAC5B,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW;gBACpC,SAAS,EAAE,IAAI,CAAC,WAAW;gBAC3B,SAAS,EAAE,IAAI,CAAC,WAAW;gBAC3B,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;aACjC,CAAC;YAEF,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,cAAI;gBAC9D,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE;oBACvC,KAAI,CAAC,KAAK,GAAG,EAAE,CAAC;oBAChB,KAAI,CAAC,UAAU,GAAG,EAAE,CAAC;oBACrB,KAAI,CAAC,MAAM,GAAG,EAAE,CAAC;oBACjB,KAAI,CAAC,OAAO,EAAE,CAAC;iBAChB;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,EAAE,CAAC;SAEhB;IACH,CAAC;IACD,kCAAU,GAAV;QAAA,iBAMC;QALC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAE7D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,mCAAW,GAAX;QAAA,iBAMC;QALC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAE9D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,YAAY,GAAG,OAAO,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,0CAAkB,GAAlB;QAAA,iBAMC;QALC,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAE1E,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,qCAAa,GAAb;QAAA,iBAKC;QAJC,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,iBAAO;YAClD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,mCAAW,GAAX;QAAA,iBAMC;QALC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC9D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC;QAE7B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,sCAAc,GAAd;QAAA,iBAKC;QAJC,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,iBAAO;YACnD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,eAAe,GAAG,OAAO,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,iCAAS,GAAT;QAAA,iBAKC;QAJC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,iBAAO;YAC9C,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,UAAU,GAAG,OAAO,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,mCAAW,GAAX;QAAA,iBAKC;QAJC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,iBAAO;YAChD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,YAAY,GAAG,OAAO,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,+BAAO,GAAP;QAAA,iBAkBC;QAjBC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC1D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;YACxB,IAAI,KAAI,CAAC,eAAe,EAAE;gBACxB,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,mFAAkB,CAAC,UAAU,EAAE;oBAC9E,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,IAAI,KAAI,CAAC,eAAe,CAAC,YAAY,EAArD,CAAqD,CAAC;iBACnG;qBACI,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,mFAAkB,CAAC,IAAI,EAAE;oBAC7E,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,IAAI,KAAI,CAAC,eAAe,CAAC,YAAY,IAAI,GAAG,CAAC,MAAM,IAAI,KAAI,CAAC,eAAe,CAAC,MAAM,EAAlG,CAAkG,CAAC;oBAC/I,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;iBAC3C;qBACI;oBACH,KAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;iBACzB;aACF;QAEH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,mCAAW,GAAX;QAAA,iBAKC;QAJC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC9D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,YAAY,GAAG,OAAO,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,kCAAU,GAAV;QAAA,iBAcC;QAbC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC7D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC;YAC3B,IAAI,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC;YACnC,KAAI,CAAC,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,CAAC,EAAd,CAAc,CAAC,CAAC;YAE3D,IAAI,KAAI,CAAC,UAAU,IAAI,GAAG,IAAI,KAAI,CAAC,SAAS,IAAI,GAAG,IAAI,KAAI,CAAC,UAAU,KAAK,IAAI,EAAE;gBAE/E,IAAI,IAAI,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,KAAI,CAAC,UAAU,EAA5B,CAA4B,CAAC,CAAC;gBACtE,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,KAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;aAC9B;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,kCAAU,GAAV,UAAW,GAAW;QAAtB,iBAsJC;QApJC,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE;YACtD,UAAU,EAAE,yBAAyB;YACrC,IAAI,EAAE,GAAG,GAAG,KAAK,GAAG,KAAK;SAC1B,CAAC,CAAC;QACH,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3D,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3D,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7D,SAAS,CAAC,iBAAiB,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QACjE,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7D,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACzD,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7D,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7D,SAAS,CAAC,iBAAiB,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QAC3E,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACrD,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAEvD,IAAI,GAAG,KAAK,MAAM,EAAE;YAClB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,KAAI,CAAC,MAAM,EAAxB,CAAwB,CAAC,CAAC;YAC7E,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,eAAe,CAAC;YAC1D,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YACzD,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YACvD,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YACzD,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YACvD,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YAC7D,SAAS,CAAC,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACjD,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YACrD,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YACzD,SAAS,CAAC,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YACnD,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YAC3D,SAAS,CAAC,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACjD,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YAC7D,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAErD,SAAS,CAAC,iBAAiB,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACvE,SAAS,CAAC,iBAAiB,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YAC/D,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YACvD,SAAS,CAAC,iBAAiB,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACvE,SAAS,CAAC,iBAAiB,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YAC/D,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YACvD,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YAE3D,6DAA6D;YAC7D,4EAA4E;SAG7E;QAED,IAAI,GAAG,KAAK,QAAQ,EAAE;YACpB,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YACvD,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YAC3D,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YACvD,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YAC7D,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YACrD,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;SAE5D;QACD,IAAI,GAAG,KAAK,KAAK,EAAE;YACjB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,OAAO,EAAE,CAAC;SAChB;QACD,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;YACtC,KAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC/B,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YACvB,KAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YACnB,KAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;YAC9B,KAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,KAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAChB,KAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,KAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,IAAI,KAAI,CAAC,UAAU,KAAK,EAAE,EAAE;gBAC1B,KAAI,CAAC,UAAU,EAAE,CAAC;aACnB;iBACI;gBACH,KAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBAChB,KAAI,CAAC,MAAM,GAAG,EAAE,CAAC;gBACjB,KAAI,CAAC,UAAU,GAAG,EAAE,CAAC;gBACrB,KAAI,CAAC,OAAO,EAAE,CAAC;aAChB;YAED,IAAI,GAAG,IAAI,uBAAuB,IAAI,KAAI,CAAC,UAAU,KAAK,EAAE,EAAE;gBAE5D,KAAI,CAAC,UAAU,EAAE,CAAC;aACnB;YAED,IAAI,MAAM,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE;gBAEhC,IAAI,SAAS,GAAG,EAAE,CAAC;gBACnB,IAAI,GAAG,KAAK,KAAK,EAAE;oBACjB,SAAS,GAAG,oBAAoB,CAAC;iBAElC;qBACI;oBAEH,SAAS,GAAG,sBAAsB,CAAC;oBAEnC,KAAI,CAAC,WAAW,GAAG,KAAK,CAAC;iBAC1B;gBACD,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;gBACtB,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC;gBACxB,KAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,KAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBAChB,KAAI,CAAC,MAAM,GAAG,EAAE,CAAC;gBACjB,KAAI,CAAC,UAAU,GAAG,EAAE,CAAC;gBACrB,KAAI,CAAC,OAAO,EAAE,CAAC;gBACf,IAAM,YAAY,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE;oBACzD,UAAU,EAAE,yBAAyB;oBACrC,IAAI,EAAE,SAAS,GAAG,KAAK,GAAG,KAAK;iBAEhC,CAAC,CAAC;gBAGH,UAAU,CAAC;oBACT,KAAI,CAAC,UAAU,EAAE,CAAC;oBAClB,KAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,CAAC,EAAE,GAAG,CAAC,CAAC;gBAER,YAAY,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,iBAAO;oBAC1C,KAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;oBAC/B,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;oBACvB,KAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;oBACnB,KAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;oBAC9B,KAAI,CAAC,KAAK,GAAG,EAAE,CAAC;oBAChB,KAAI,CAAC,MAAM,GAAG,EAAE,CAAC;oBACjB,KAAI,CAAC,UAAU,GAAG,EAAE,CAAC;oBAErB,IAAI,KAAI,CAAC,UAAU,KAAK,EAAE,EAAE;wBAC1B,KAAI,CAAC,UAAU,EAAE,CAAC;qBACnB;yBACI;wBAEH,KAAI,CAAC,UAAU,EAAE,CAAC;wBAClB,KAAI,CAAC,OAAO,EAAE,CAAC;qBAChB;oBAED,oBAAoB;oBACpB,sBAAsB;oBACtB,kBAAkB;gBACpB,CAAC,CAAC,CAAC;aAIJ;QAEH,CAAC,CAAC,CAAC;IACL,CAAC;IAID,uCAAe,GAAf,UAAgB,SAAiB;QAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjD,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,EAAE;gBACtF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;aAC9C;SACF;IACH,CAAC;IAGD,2CAAmB,GAAnB,UAAoB,aAAqB;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxD,IAAI,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,aAAa,KAAK,aAAa,EAAE;gBAC/D,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;aAC5D;SACF;IACH,CAAC;IAED,mCAAW,GAAX,UAAY,SAAiB;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC7C,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,EAAE;gBAC5C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;aACtC;SACF;IACH,CAAC;IAED,gCAAQ,GAAR,UAAS,OAAO,EAAE,IAAI;QAAtB,iBAmDC;QAlDC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,IAAI,SAAS,IAAI,CAAC,CAAC,SAAS,KAAK,KAAI,CAAC,SAAS,EAA1D,CAA0D,CAAC,CAAC;QAC5G,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/B,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,EAAE,EAAE;gBACvF,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC;aACrC;YACD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;YAChE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YAC3C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YACnD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;YACrD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YACzC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAE/C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YACvD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;YACjD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;YACjD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC7C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC/C,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,EAAE;gBACxC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC;aACtC;YACD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC7C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;SAClD;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjD,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE;gBAC1D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;aAE/C;SAEF;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,GAAG,EAAE;YACtD,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;YACrC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;SAChC;aAAM;YACL,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC;YACxC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC;SACjC;QAED,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IACD,+BAAO,GAAP,UAAQ,KAAK;QACX,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC;IAC/B,CAAC;IAGD,kCAAU,GAAV,UAAW,GAAW;QACpB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IACD,qCAAa,GAAb,UAAc,GAAW;QAAzB,iBAmDC;QAlDC,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,KAAI,CAAC,SAAS,EAA9B,CAA8B,CAAC,CAAC;QACxE,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;SACzC;QAGD,IAAI,GAAG,KAAK,QAAQ,EAAE;YACpB;gBACE,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,IAAI,GAAG,EAAE;oBAC5C,IAAI,CAAC,YAAY,GAAG,uBAAuB,CAAC;oBAC5C,OAAO;iBACR;qBACI;oBACH,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;oBACvB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;iBAC5B;gBAGD,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,GAAG,EAAE;oBACrC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;iBAC/C;gBAGD,IAAM,IAAI,GAAG;oBACX,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,WAAW,EAAE,IAAI,CAAC,YAAY;oBAC9B,SAAS,EAAE,IAAI,CAAC,WAAW;iBAE5B,CAAC;gBACF,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,cAAI;oBAC/E,IAAI,IAAI,CAAC,EAAE,EAAE;wBACX,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;wBACtB,KAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;wBACzC,KAAI,CAAC,SAAS,EAAE,CAAC;wBACjB,KAAI,CAAC,KAAK,GAAG,EAAE,CAAC;wBAChB,KAAI,CAAC,MAAM,GAAG,EAAE,CAAC;wBACjB,KAAI,CAAC,UAAU,GAAG,EAAE,CAAC;wBACrB,KAAI,CAAC,OAAO,EAAE,CAAC;wBACf,KAAI,CAAC,WAAW,EAAE,CAAC;wBACnB,KAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;wBACtB,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;wBACvB,KAAI,CAAC,SAAS,GAAG,EAAE,CAAC;qBACrB;gBAGH,CAAC,CAAC,CAAC;aACJ;SAEF;IACH,CAAC;IAGD,gCAAQ,GAAR;QAEE,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YAC3C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;SACvC;IACH,CAAC;IAED,kCAAU,GAAV,UAAW,OAAO;QAAlB,iBA0BC;QAzBC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE;YACtD,UAAU,EAAE,yBAAyB;YACrC,IAAI,EAAE,+CAA+C,GAAG,OAAO,CAAC,OAAO,GAAG,MAAM,GAAG,IAAI;SAExF,CAAC,CAAC;QACH,2BAA2B;QAE3B,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;YACtC,IAAI,MAAM,EAAE;gBACV,0BAA0B;gBAC1B,KAAI,CAAC,aAAa,CAAC,UAAU,CAAC,KAAI,CAAC,MAAM,EAAE,KAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,cAAI;oBAEvE,IAAI,IAAI,CAAC,EAAE,EAAE;wBACX,KAAI,CAAC,QAAQ,EAAE,CAAC;wBAChB,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;wBACvB,KAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;qBACzC;oBACD,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;oBACtB,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC;oBACxB,KAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,0CAAkB,GAAlB,UAAmB,UAAU;QAC3B,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,iCAAiC;QACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjD,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,EAAE;gBAChD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;aACjD;SACF;IACH,CAAC;;gBAr5ByB,kDAAI;gBAAyB,6DAAa;gBAAiB,kEAAS;gBAAmB,kEAAmB;gBAAoB,wDAAQ;;IANxH;QAAvC,+DAAS,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;iDAAoB;IA1GhD,aAAa;QANzB,+DAAS,CAAC;YACT,QAAQ,EAAE,aAAa;YACvB,8IAAoC;YACpC,uCAAuC;YACvC,SAAS,EAAE,CAAC,6DAAa,EAAE,wDAAQ,CAAC;SACrC,CAAC;OACW,aAAa,CAugCzB;IAAD,oBAAC;CAAA;AAvgCyB;AA8gC1B;IAoDE,6BACS,SAA4C,EACnB,IAAS,EAAS,aAA4B,EAAU,QAAkB;QADnG,cAAS,GAAT,SAAS,CAAmC;QACnB,SAAI,GAAJ,IAAI,CAAK;QAAS,kBAAa,GAAb,aAAa,CAAe;QAAU,aAAQ,GAAR,QAAQ,CAAU;QAnD5G,cAAS,GAAG,KAAK,CAAC;QAClB,WAAM,GAAG,KAAK,CAAC;QAWf,aAAQ,GAAG,EAAE,CAAC;QAad,iBAAY,GAAG,EAAE,CAAC;QAClB,aAAQ,GAAG,EAAE,CAAC;QACd,wBAAmB,GAAG,EAAE,CAAC;QAEzB,gBAAW,GAAG,IAAI,0DAAW,EAAE,CAAC;QAIhC,cAAS,GAAG,EAAE,CAAC;QACf,iBAAY,GAAG,EAAE,CAAC;QAClB,gBAAW,GAAG,KAAK,CAAC;QACpB,aAAQ,GAAG,KAAK,CAAC;QAKjB,sBAAiB,GAAG,KAAK,CAAC;QAE1B,oBAAe,GAAG,EAAE,CAAC;QACrB,sBAAiB,GAAG,EAAE,CAAC;QAEvB,gBAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QACzB,gBAAW,GAAG,KAAK,CAAC;QAKlB,gCAAgC;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE;YAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;aAAM,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE;YACnC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;aACI;YACH,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE;gBACvB,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;aACpC;iBAAM;gBACL,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC;aACrC;SAEF;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAED,sCAAQ,GAAR;QACE,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAC1C;IACH,CAAC;IAED,wCAAU,GAAV;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IACD,uCAAS,GAAT;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IACD,qCAAO,GAAP;QAAA,iBAgCC;QA/BC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAExB,UAAU,CAAC;YACT,KAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAC3B,CAAC,EAAE,IAAI,CAAC,CAAC;QACT,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAM,SAAS,GAAG,CAAC,CAAC;QAEpB,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,IAAI,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAC3F,IAAI,CAAC,UAAU,KAAK,EAAE,IAAI,IAAI,CAAC,QAAQ,KAAK,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC9E,IAAI,CAAC,QAAQ,GAAG,kCAAkC,CAAC;YACnD,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE;aAExB;YACD,KAAK,EAAE,CAAC;SACT;QAED,IAAI,KAAK,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YACnB,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE;gBAEvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACxB;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACxB;SACF;aAAM;SAEN;IAIH,CAAC;IAID,wCAAU,GAAV;QAAA,iBAMC;QALC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAE7D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,oCAAM,GAAN,UAAO,GAAW;QAAlB,iBAyDC;QAvDC,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC;SACtC;QACD,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE,IAAI,IAAI,CAAC,aAAa,KAAK,EAAE,EAAE;gBACvD,IAAI,CAAC,QAAQ,GAAG,kCAAkC,CAAC;gBACnD,OAAO;aACR;SAEF;QAED,IAAM,IAAI,GAAG;YACX,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,SAAS,EAAE,IAAI,CAAC,WAAW;SAC5B,CAAC;QAEF,IAAI,GAAG,KAAK,MAAM,EAAE;YAClB,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,cAAI;gBAC9C,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE;oBACvC,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC3B,IAAM,WAAW,GAAG;wBAClB,SAAS,EAAE,KAAI,CAAC,SAAS;wBACzB,SAAS,EAAE,KAAI,CAAC,SAAS;wBACzB,UAAU,EAAE,GAAG;wBACf,QAAQ,EAAE,KAAI,CAAC,SAAS;wBACxB,UAAU,EAAE,KAAI,CAAC,UAAU;wBAC3B,aAAa,EAAE,KAAI,CAAC,aAAa;wBACjC,kBAAkB,EAAE,KAAI,CAAC,iBAAiB;wBAC1C,YAAY,EAAE,GAAG;wBACjB,MAAM,EAAE,KAAI,CAAC,MAAM;wBACnB,UAAU,EAAE,KAAI,CAAC,UAAU;wBAC3B,QAAQ,EAAE,KAAI,CAAC,QAAQ;wBACvB,OAAO,EAAE,KAAI,CAAC,OAAO;wBACrB,WAAW,EAAE,KAAI,CAAC,WAAW;wBAC7B,SAAS,EAAE,KAAI,CAAC,SAAS;wBACzB,SAAS,EAAE,KAAI,CAAC,WAAW;wBAC3B,SAAS,EAAE,KAAI,CAAC,WAAW;qBAC5B,CAAC;oBAGF,KAAI,CAAC,aAAa,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,cAAI;wBAC9D,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE;4BAEvC,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;yBAC5B;6BAAM;4BACL,KAAI,CAAC,QAAQ,GAAG,aAAa,CAAC;yBAC/B;oBACH,CAAC,CAAC,CAAC;iBACJ;YACH,CAAC,CAAC,CAAC;SACJ;IAEH,CAAC;IAGD,mCAAK,GAAL;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IACD,sCAAQ,GAAR,UAAS,KAAK;QACZ,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;IAChC,CAAC;IACD,qCAAO,GAAP,UAAQ,KAAK;QACX,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC;QAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAChD,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,EAAE;gBACpD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;aAC1C;SACF;QACD,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QAErB,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;SACtB;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,qBAAqB;IACvB,CAAC;IACD,6CAAe,GAAf;QACE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAEjD,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,EAAE;gBAC5F,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;aAC9C;SACF;IACH,CAAC;IACD,sCAAQ,GAAR,UAAS,KAAK;QACZ,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;IACD,6CAAe,GAAf,UAAgB,KAAK;QACnB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,KAAK;IACtC,CAAC;IACD,iDAAmB,GAAnB;QACE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxD,IAAI,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,aAAa,KAAK,IAAI,CAAC,aAAa,EAAE;gBACpE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;aAC5D;SACF;IACH,CAAC;IAED,wCAAU,GAAV,UAAW,KAAK;QACd,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC;IAClC,CAAC;IAED,kCAAI,GAAJ,UAAK,KAAK;QACR,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;IAC5B,CAAC;IAED,sCAAQ,GAAR,UAAS,KAAK;QACZ,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;IAChC,CAAC;IAED,0CAAY,GAAZ,UAAa,KAAK;QAChB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC;IAC9B,CAAC;IAED,yCAAW,GAAX,UAAY,KAAK;QACf,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC;IACnC,CAAC;IAED,gDAAkB,GAAlB,UAAmB,UAAU;QAC3B,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjD,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,EAAE;gBAChD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;aACjD;SACF;IACH,CAAC;;gBAvNmB,qEAAY;gDAC7B,oDAAM,SAAC,wEAAe;gBAA0C,6DAAa;gBAAoB,wDAAQ;;IAtDjG,mBAAmB;QAN/B,+DAAS,CAAC;YACT,QAAQ,EAAE,YAAY;YACtB,8HAA0B;YAC1B,6BAA6B;YAC7B,SAAS,EAAE,CAAC,6DAAa,EAAE,wDAAQ,CAAC;SACrC,CAAC;QAuDG,6GAAM,CAAC,wEAAe,CAAC;OAtDf,mBAAmB,CA8Q/B;IAAD,0BAAC;CAAA;AA9Q+B;;;;;;;;;;;;;;;;;;AC/hCU;AAM1C;IAAA;IACA,CAAC;IADY,sBAAsB;QAJlC,+DAAS,CAAC;YACP,QAAQ,EAAE,gBAAgB;YAC1B,gIAA0B;SAC7B,CAAC;OACW,sBAAsB,CAClC;IAAD,6BAAC;CAAA;AADkC;;;;;;;;;;;;;;;;;;ACNwC;AAM3E;IAEI,yBAAoB,GAAe;QAAf,QAAG,GAAH,GAAG,CAAY;IAAI,CAAC;IAEL,uCAAa,GAAb,UAAc,KAAU;QACvD,IAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC;QACjD,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACnE,IAAI,WAAW,KAAK,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,EAAE;YAC9C,KAAK,CAAC,eAAe,EAAE,CAAC;SAC3B;IACL,CAAC;;gBARwB,wDAAU;;IAEA;QAAlC,kEAAY,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC;wDAMjC;IAVQ,eAAe;QAH3B,+DAAS,CAAC;YACP,QAAQ,EAAE,oBAAoB;SACjC,CAAC;OACW,eAAe,CAW3B;IAAD,sBAAC;CAAA;AAX2B;;;;;;;;;;;;;ACN5B;AAAA;AAAA,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC1B,yCAAmB;IACnB,+CAAyB;IACzB,mCAAa;AACjB,CAAC,EAJW,kBAAkB,KAAlB,kBAAkB,QAI7B;;;;;;;;;;;;ACJD,0BAA0B,qBAAqB,GAAG,iBAAiB,oBAAoB,qBAAqB,GAAG,kBAAkB,yCAAyC,iBAAiB,GAAG,iBAAiB,gBAAgB,kBAAkB,iBAAiB,wBAAwB,GAAG,gBAAgB,gCAAgC,GAAG,aAAa,sBAAsB,GAAG,WAAW,gBAAgB,uBAAuB,GAAG,YAAY,uBAAuB,uBAAuB,GAAG,QAAQ,iBAAiB,8BAA8B,iBAAiB,oBAAoB,GAAG,QAAQ,iBAAiB,oBAAoB,GAAG,WAAW,8BAA8B,GAAG,mBAAmB,8BAA8B,qBAAqB,0BAA0B,GAAG,iBAAiB,wBAAwB,GAAG,oBAAoB,qBAAqB,GAAG,mBAAmB,wBAAwB,GAAG,iBAAiB,mBAAmB,GAAG,gBAAgB,oBAAoB,GAAG,iBAAiB,uBAAuB,eAAe,GAAG,kCAAkC,oBAAoB,GAAG,eAAe,8BAA8B,+BAA+B,GAAG,kBAAkB,2BAA2B,4BAA4B,GAAG,6CAA6C,2vJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAhtC;AACnB;AACkC;AACzB;AACE;AACR;AACK;AACY;AAET;AAEmB;AAC7B;AACJ;AAU/C;IAoEE,0BAAoB,aAA4B,EACvC,MAAiB,EAChB,QAA0B,EAC1B,OAA4B,EAC5B,KAAqB,EACrB,mBAAwC,EACxC,cAA8B;QANpB,kBAAa,GAAb,aAAa,CAAe;QACvC,WAAM,GAAN,MAAM,CAAW;QAChB,aAAQ,GAAR,QAAQ,CAAkB;QAC1B,YAAO,GAAP,OAAO,CAAqB;QAC5B,UAAK,GAAL,KAAK,CAAgB;QACrB,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,mBAAc,GAAd,cAAc,CAAgB;QAxExC,uBAAkB,GAAY,KAAK,CAAC;QAEpC,oBAAe,GAAY,KAAK,CAAC;QAEjC,mBAAc,GAAW,EAAE,CAAC;QAE5B,gBAAW,GAA0B,EAAE,CAAC;QACxC,gBAAW,GAAW,EAAE,CAAC;QACzB,aAAQ,GAAG,EAAE,CAAC;QAGd,eAAU,GAAW,EAAE,CAAC;QACxB,iBAAiB;QACjB,mBAAmB;QACnB,sBAAsB;QACtB,iBAAiB;QACjB,oBAAoB;QACpB,WAAM,GAAY,KAAK,CAAC;QACxB,WAAM,GAAG,EAAE,CAAC;QAEZ,UAAK,GAAG,IAAI,CAAC;QACb,gBAAW,GAAG,KAAK,CAAC;QACpB,yBAAyB;QACzB,qBAAgB,GAAa,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAClD,eAAU,GAAG,IAAI,0EAAkB,EAAE,CAAC;QACtC,eAAU,GAA0B,EAAE,CAAC;QAGvC,cAAS,GAAG,KAAK,CAAC;QAClB,oBAAe,GAAG,KAAK,CAAC;QAYxB,eAAU,GAAG,EAAE,CAAC;QAChB,aAAQ,GAAG,EAAE,CAAC;QAKd,kBAAa,GAAG,EAAE,CAAC;QAInB,oBAAe,GAAY,KAAK,CAAC;QAIjC,iBAAY,GAAY,KAAK,CAAC;QAC9B,mBAAc,GAAW,CAAC,CAAC;QAE3B,kBAAa,GAAa,EAAE,CAAC;QAE7B,UAAK,GAAiB,SAAS,CAAC;QAa9B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAChE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACzD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACpD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACvD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QAC5D,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QAC9D,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;QACxE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC;QAC9D,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QACpE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC;QAE1D,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YACvB,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mCAAQ,GAAR;QACE,IAAI,CAAC,iCAAiC,EAAE,CAAC;QACzC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,KAAK,SAAS,EAAjD,CAAiD,CAAC,CAAC;YACtF,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;gBAC1C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;aACvC;SACF;QACD,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAC3C,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;SAC3D;aACI,IAAI,IAAI,CAAC,cAAc,EAAE;YAC5B,IAAI,CAAC,iCAAiC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;SAC7D;IAEH,CAAC;IAED,kCAAO,GAAP;QAAA,iBAQC;QAPC,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;gBAC1D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;gBACvC,KAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;YAE1B,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,wCAAa,GAAb;QAAA,iBAKC;QAJC,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,iBAAO;YAClD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,uDAA4B,GAA5B,UAA6B,SAAiB;QAA9C,iBA6BC;QA5BC,IAAI,CAAC,mBAAmB,CAAC,4BAA4B,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,cAAI;YAClG,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC;YAC7B,2BAA2B;YAC3B,yBAAyB;YACzB,IAAI,KAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;gBACjC,8BAA8B;gBAC9B,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;aAC7B;iBACI;gBACH,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC;gBAC/D,gCAAgC;gBAChC,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,KAAI,CAAC,eAAe,GAAG,KAAK,CAAC;gBAC7B,2CAA2C;gBAC3C,8DAA8D;gBAC9D,6CAA6C;gBAC7C,+CAA+C;gBAC/C,8CAA8C;gBAC9C,IAAI;gBACJ,mDAAmD;gBACnD,4CAA4C;gBAC5C,yCAAyC;gBACzC,qCAAqC;gBACrC,+CAA+C;gBAC/C,IAAI;aACL;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,4DAAiC,GAAjC,UAAkC,cAAsB;QAAxD,iBA6BC;QA5BC,IAAI,CAAC,mBAAmB,CAAC,iCAAiC,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,cAAI;YACvF,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC;YAC7B,2BAA2B;YAC3B,yBAAyB;YACzB,IAAI,KAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;gBACjC,8BAA8B;gBAC9B,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;aAC7B;iBACI;gBACH,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC;gBAC/D,6BAA6B;gBAC7B,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,KAAI,CAAC,eAAe,GAAG,KAAK,CAAC;gBAC7B,2CAA2C;gBAC3C,8DAA8D;gBAC9D,6CAA6C;gBAC7C,+CAA+C;gBAC/C,8CAA8C;gBAC9C,IAAI;gBACJ,mDAAmD;gBACnD,4CAA4C;gBAC5C,yCAAyC;gBACzC,qCAAqC;gBACrC,+CAA+C;gBAC/C,IAAI;aACL;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mCAAQ,GAAR;QAAA,iBAIC;QAHC,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,eAAK;YAC/C,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gDAAqB,GAArB;QAAA,iBAIC;QAHC,IAAI,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,SAAS,CAAC,mBAAS;YAC5D,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qCAAU,GAAV;QAAA,iBAuDC;QAtDC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CACvC,UAAC,IAAI;YACH,OAAO,CACL,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChH,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACpG,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CACvG,CAAC;QACJ,CAAC,CAEF,CAAC;QACF,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,EAAE;YAChC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE,EAAE;YAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC;YACnC,yBAAyB;YACzB,2BAA2B;YAC3B,2CAA2C;YAC3C,6CAA6C;YAC7C,+CAA+C;YAC/C,8CAA8C;YAC9C,IAAI;YACJ,mDAAmD;YACnD,4CAA4C;YAC5C,4BAA4B;YAE5B,6CAA6C;YAC7C,IAAI;YACJ,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;QACD,QAAQ;QAER,sCAAsC;QACtC,yBAAyB;QACzB,2BAA2B;QAC3B,6CAA6C;QAC7C,+CAA+C;QAC/C,8CAA8C;QAC9C,IAAI;QACJ,qDAAqD;QACrD,4CAA4C;QAC5C,4BAA4B;QAC5B,+CAA+C;QAC/C,IAAI;QAEJ,yCAAyC;QACzC,qCAAqC;QACrC,+CAA+C;QAC/C,IAAI;QACJ,GAAG;IACL,CAAC;IAED,uCAAY,GAAZ;QACE,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAC3D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YAC5C,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACxC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YACrC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC1B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACzB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC1B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;SAC9B;QACD,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,EAAE,QAAQ,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,WAAW,GAAG,IAAI,CAAC,aAAa,EAAE,EAAE,EAAE,gBAAgB,EAAE,2DAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAC9P,CAAC;IAED,gDAAqB,GAArB,UAAsB,KAA2B,EAAE,GAAG;QAAtD,iBAqBC;QApBC,IAAI,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QACrD,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE;YACzD,UAAU,EAAE,yBAAyB;YACrC,IAAI,EAAE,2BAA2B,GAAG,GAAG,GAAG,+BAA+B,GAAG,GAAG,CAAC,WAAW,GAAG,MAAM,GAAG,IAAI;SAC5G,CAAC,CAAC;QACH,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;YACtC,KAAI,CAAC,aAAa,GAAG,GAAG,CAAC;YACzB,IAAI,MAAM,EAAE;gBACV,KAAI,CAAC,aAAa,CAAC,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC;gBACnD,KAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,KAAI,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,cAAI;oBAC1E,IAAI,IAAI,CAAC,IAAI,EAAE;wBACb,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;wBACvB,KAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;qBACzC;gBACH,CAAC,CAAC,CAAC;aACJ;iBACI;gBACH,KAAI,CAAC,aAAa,CAAC,eAAe,GAAG,CAAC,KAAI,CAAC,aAAa,CAAC,eAAe,CAAC;aAC1E;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,4DAAiC,GAAjC;QAAA,iBAMC;QALC,IAAI,CAAC,mBAAmB,CAAC,iCAAiC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,cAAI;YAC5F,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACnC,KAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;YACjF,KAAI,CAAC,mBAAmB,CAAC,cAAc,GAAG,KAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;QAClG,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sCAAW,GAAX;QAAA,iBAiDC;QAhDC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,mBAAmB,CAAC,iCAAiC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,cAAI;YAC5F,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAEnC,IAAI,KAAI,CAAC,cAAc,CAAC,eAAe,IAAI,CAAC,EAAE;gBAC5C,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;gBAC7E,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4FAAyB,EAAE;oBAC1C,IAAI,EAAE;wBACJ,aAAa,EAAE,KAAI,CAAC,aAAa;qBAClC;iBACF,CAAC,CAAC;gBACH,OAAO;aACR;YACD,KAAI,CAAC,cAAc,CAAC,eAAe,GAAG,KAAI,CAAC,cAAc,CAAC,eAAe,GAAG,CAAC,CAAC;YAC9E,KAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;YACjF,KAAI,CAAC,mBAAmB,CAAC,cAAc,GAAG,KAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;YAChG,KAAI,CAAC,aAAa,GAAG;gBACnB,SAAS,EAAE,CAAC;gBACZ,WAAW,EAAE,EAAE;gBACf,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,EAAE;gBACZ,OAAO,EAAE,EAAE;gBACX,KAAK,EAAE,EAAE;gBACT,IAAI,EAAE,EAAE;gBACR,OAAO,EAAE,EAAE;gBACX,KAAK,EAAE,EAAE;gBACT,MAAM,EAAE,EAAE;gBACV,MAAM,EAAE,EAAE;gBACV,eAAe,EAAE,KAAK;gBACtB,kBAAkB,EAAE,KAAK;gBACzB,gBAAgB,EAAE,CAAC;gBACnB,cAAc,EAAE,KAAI,CAAC,cAAc;gBACnC,MAAM,EAAE,CAAC;gBACT,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,EAAE;gBACZ,SAAS,EAAE,EAAE;gBACb,QAAQ,EAAE,EAAE;gBACZ,UAAU,EAAE,CAAC;gBACb,SAAS,EAAE,KAAI,CAAC,WAAW;gBAC3B,SAAS,EAAE,KAAI,CAAC,WAAW;gBAC3B,KAAK,EAAE,CAAC;gBACR,MAAM,EAAE,CAAC;aACV;YACD,KAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,+BAAI,GAAJ,UAAK,QAAQ;QACX,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,sBAAsB;QAClD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,0DAA+B,GAA/B,UAAgC,SAAiB;QAC/C,IAAI,SAAS,EAAE;SAEd;IACH,CAAC;IAKD,0CAAe,GAAf,UAAgB,OAAO;QAAvB,iBA4BC;QA3BC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;QACpC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC;QACzC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QAC9C,IAAI,CAAC,cAAc,CAAC,+BAA+B,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,cAAI;YACnF,KAAI,CAAC,cAAc,CAAC,+BAA+B,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,eAAK;gBACpF,IAAI,0BAA0B,GAAG,CAAC,CAAC;gBACnC,IAAI,KAAK,CAAC,IAAI,EAAE;oBACd,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,aAAG;wBACpB,0BAA0B,GAAG,0BAA0B,GAAG,GAAG,CAAC,gBAAgB,CAAC;oBACjF,CAAC,CAAC,CAAC;iBACJ;gBACD,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;gBAC9D,KAAI,CAAC,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC;gBAC/C,KAAI,CAAC,uBAAuB,GAAG,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,eAAe,CAAC;gBAC1E,IAAI,KAAI,CAAC,cAAc,GAAG,CAAC,EAAE;oBAC3B,KAAI,CAAC,eAAe,GAAG,KAAK,CAAC;oBAC7B,KAAI,CAAC,UAAU,GAAG,EAAE,CAAC;oBACrB,UAAU,CAAC;wBACT,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;wBAC5B,KAAI,CAAC,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;oBACxC,CAAC,EAAE,GAAG,CAAC,CAAC;iBACT;qBAAM;oBACL,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;oBAC5B,KAAI,CAAC,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;iBACvC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mCAAQ,GAAR,UAAS,OAAO;QAAhB,iBAmBC;QAlBC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACtC,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,eAAK;YAC/C,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3C,IAAI,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,GAAG,EAA1F,CAA0F,CAAC,CAAC;YACrI,KAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC;YACnC,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,KAAI,CAAC,UAAU,CAAC,CAAC;YAClD,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC;YACxD,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC;YACxD,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,KAAI,CAAC,QAAQ,CAAC,CAAC;YAC9C,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;YAC5C,IAAI,UAAU,GAAG,KAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YACrD,IAAI,UAAU,EAAE;gBACd,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;aAC9C;YACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvB,KAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;aAC/E;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qCAAU,GAAV,UAAW,GAAW;QAAtB,iBA+DC;QA9DC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE;YACzD,UAAU,EAAE,yBAAyB;YACrC,IAAI,EAAE,GAAG,GAAG,KAAK,GAAG,KAAK;SAC1B,CAAC,CAAC;QACH,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3D,SAAS,CAAC,iBAAiB,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC;QAChE,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;QACzD,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3D,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7D,SAAS,CAAC,iBAAiB,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QACjE,SAAS,CAAC,iBAAiB,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAEjE,IAAI,GAAG,IAAI,KAAK,EAAE;YAChB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,iCAAiC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;SAC7D;QACD,IAAI,GAAG,KAAK,MAAM,EAAE;YAClB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;SACtB;QACD,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;YACtC,IAAI,KAAI,CAAC,UAAU,KAAK,EAAE,IAAI,KAAI,CAAC,UAAU,KAAK,SAAS,EAAE;gBAC3D,KAAI,CAAC,UAAU,EAAE,CAAC;aAEnB;iBACI;gBACH,KAAI,CAAC,iCAAiC,CAAC,KAAI,CAAC,cAAc,CAAC,CAAC;aAC7D;YACD,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE;gBAC1C,IAAI,SAAS,GAAG,EAAE,CAAC;gBACnB,IAAI,GAAG,KAAK,KAAK,EAAE;oBACjB,SAAS,GAAG,oBAAoB,CAAC;iBAClC;qBACI;oBACH,SAAS,GAAG,sBAAsB,CAAC;iBACpC;gBACD,yBAAyB;gBACzB,IAAM,YAAY,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE;oBAC5D,UAAU,EAAE,yBAAyB;oBACrC,IAAI,EAAE,SAAS,GAAG,KAAK,GAAG,KAAK;iBAChC,CAAC,CAAC;gBACH,UAAU,CAAC;oBACT,KAAI,CAAC,iCAAiC,CAAC,KAAI,CAAC,cAAc,CAAC,CAAC;oBAC5D,KAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,CAAC,EAAE,GAAG,CAAC,CAAC;gBAGR,YAAY,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,iBAAO;oBAE1C,KAAI,CAAC,iCAAiC,EAAE,CAAC;oBACzC,IAAI,KAAI,CAAC,UAAU,KAAK,EAAE,EAAE;wBAC1B,KAAI,CAAC,UAAU,EAAE,CAAC;qBACnB;yBACI;wBACH,KAAI,CAAC,iCAAiC,CAAC,KAAI,CAAC,cAAc,CAAC,CAAC;wBAC5D,KAAI,CAAC,QAAQ,EAAE,CAAC;qBACjB;gBACH,CAAC,CAAC,CAAC;aACJ;iBAAM;gBACL,KAAI,CAAC,iCAAiC,EAAE,CAAC;aAC1C;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sCAAW,GAAX,UAAY,UAAU;QACpB,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC;QAChC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC;QAC1D,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAC5D,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED,eAAe;IACf,sDAAsD;IACtD,6CAA6C;IAC7C,MAAM;IACN,IAAI;IAEJ,wCAAa,GAAb,UAAc,OAAO;QAArB,iBA4BC;QA3BC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,+BAA+B,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,cAAI;YACnF,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE;gBACjB,KAAI,CAAC,UAAU,CAAC,6CAA6C,CAAC,CAAC;gBAC/D,OAAO;aACR;iBAAM;gBACL,IAAM,SAAS,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE;oBACzD,UAAU,EAAE,yBAAyB;oBACrC,IAAI,EAAE,0CAA0C,GAAG,OAAO,CAAC,WAAW,GAAG,MAAM,GAAG,IAAI;iBACvF,CAAC,CAAC;gBACH,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;oBACtC,IAAI,MAAM,EAAE;wBACV,KAAI,CAAC,cAAc,CAAC,aAAa,CAAC,MAAM,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,cAAI;4BACtE,IAAI,IAAI,CAAC,IAAI,EAAE;gCACb,mBAAmB;gCACnB,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gCACvB,KAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;gCACxC,KAAI,CAAC,eAAe,GAAG,KAAK,CAAC;6BAC9B;4BACD,yBAAyB;4BACzB,2BAA2B;4BAC3B,KAAI,CAAC,iCAAiC,CAAC,KAAI,CAAC,cAAc,CAAC,CAAC;wBAC9D,CAAC,CAAC,CAAC;qBACJ;gBACH,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;gBAjekC,6DAAa;gBAC/B,kEAAS;gBACN,iEAAgB;gBACjB,kEAAmB;gBACrB,qEAAc;gBACA,kFAAmB;gBACxB,wEAAc;;IAnBG;QAA1C,+DAAS,CAAC,wEAAY,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;uDAAyB;IAvDxD,gBAAgB;QAR5B,+DAAS,CAAC;YACT,QAAQ,EAAE,aAAa;YACvB,uJAAuC;YAEvC,SAAS,EAAE,CAAC,6DAAa,CAAC;;SAE3B,CAAC;OAEW,gBAAgB,CAsiB5B;IAAD,uBAAC;CAAA;AAtiB4B;AA6iB7B;IA0BE,gCACS,SAA+C,EACtB,IAAS,EAClC,aAA4B,EAC3B,OAA4B,EAC5B,mBAAwC,EACxC,cAA8B,EAC/B,MAAiB;QANjB,cAAS,GAAT,SAAS,CAAsC;QACtB,SAAI,GAAJ,IAAI,CAAK;QAClC,kBAAa,GAAb,aAAa,CAAe;QAC3B,YAAO,GAAP,OAAO,CAAqB;QAC5B,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,mBAAc,GAAd,cAAc,CAAgB;QAC/B,WAAM,GAAN,MAAM,CAAW;QA/B1B,cAAS,GAAG,KAAK,CAAC;QAElB,aAAQ,GAAG,EAAE,CAAC;QAGd,gBAAW,GAA0B,EAAE,CAAC;QAMxC,gBAAW,GAAG,KAAK,CAAC;QAOpB,kBAAa,GAAa,EAAE,CAAC;QAK7B,oBAAe,GAAW,CAAC,CAAC;QAS1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE;YAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IAC1E,CAAC;IAED,yCAAQ,GAAR;QACE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAChE,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE;YACvB,IAAI,CAAC,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;SAC/C;QACD,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QACpD,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE;YACvB,IAAI,CAAC,+BAA+B,EAAE,CAAC;YACvC,IAAI,CAAC,iCAAiC,EAAE,CAAC;SAC1C;IACH,CAAC;IAED,kEAAiC,GAAjC;QAAA,iBAMC;QALC,IAAI,CAAC,mBAAmB,CAAC,iCAAiC,CAAC,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,cAAI;YAChH,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACnC,KAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;YACjF,KAAI,CAAC,mBAAmB,CAAC,cAAc,GAAG,KAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;QAClG,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gEAA+B,GAA/B;QAAA,iBAMC;QALC,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,cAAc,CAAC,+BAA+B,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,cAAI;gBAC/F,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC;YACnC,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,+CAAc,GAAd;QAAA,iBAqGC;QAlGC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,UAAU,CAAC;YACT,KAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAC3B,CAAC,EAAE,IAAI,CAAC,CAAC;QACT,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,EAAE;YACvC,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE;YACpC,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,EAAE;YACvC,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE;YACpC,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE;YACpC,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE;YACnC,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE;YACjC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE;YAChC,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO;YAC5B,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM;YAC3B,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ;YAC7B,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK;YAC1B,CAAC,IAAI,CAAC,cAAc,CAAC,kBAAkB;gBACrC,IAAI,CAAC,cAAc,CAAC,gBAAgB,KAAK,CAAC,CAC3C,EAAE;YACH,IAAI,CAAC,QAAQ,GAAG,kCAAkC,CAAC;YACnD,OAAO;SACR;aACI;YACH,IAAI,UAAU,GAAG,+CAA+C,CAAC;YACjE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE;gBAChD,IAAI,CAAC,QAAQ,GAAG,0BAA0B,CAAC;gBAC3C,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,OAAO;aACR;SACF;QACD,oCAAoC;QACpC,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,KAAK,CAAC,CAAC,EAAE;YAChG,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE;oBAC9E,IAAI,CAAC,QAAQ,GAAG,sDAAsD,CAAC;oBACvE,OAAO;iBACR;gBACD,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,eAAK;oBAC/C,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;oBAC/C,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,IAAI,CAAC,CAAC;gBAC9B,CAAC,CAAC,CAAC;aACJ;iBAAM;gBACL,IAAI,CAAC,cAAc,CAAC,+BAA+B,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,cAAI;oBAC/F,IAAI,0BAA0B,GAAG,CAAC,CAAC;oBACnC,IAAI,IAAI,CAAC,IAAI,EAAE;wBACb,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAG;4BACnB,0BAA0B,GAAG,0BAA0B,GAAG,GAAG,CAAC,gBAAgB,CAAC;wBACjF,CAAC,CAAC,CAAC;qBACJ;oBACD,IAAI,MAAM,GAAG,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC,eAAe,CAAC;oBACvE,IAAI,KAAI,CAAC,eAAe,GAAG,0BAA0B,GAAG,KAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE;wBAC5F,KAAI,CAAC,QAAQ,GAAG,sEAAsE,CAAC;wBACvF,OAAO;qBACR;yBACI,IAAI,KAAI,CAAC,cAAc,CAAC,gBAAgB,GAAG,MAAM,EAAE;wBACtD,KAAI,CAAC,QAAQ,GAAG,sDAAsD,CAAC;wBACvE,OAAO;qBACR;oBACD,KAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,eAAK;wBAC/C,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;wBAC/C,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,IAAI,CAAC,CAAC;oBAC9B,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;aACJ;SACF;aAAM,EAAE,mCAAmC;YAE1C,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE;gBACvB,IAAI,CAAC,cAAc,CAAC,+BAA+B,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,cAAI;oBAC/F,IAAI,0BAA0B,GAAG,CAAC,CAAC;oBACnC,IAAI,IAAI,CAAC,IAAI,EAAE;wBACb,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAG;4BACnB,0BAA0B,GAAG,0BAA0B,GAAG,GAAG,CAAC,gBAAgB,CAAC;wBACjF,CAAC,CAAC,CAAC;qBACJ;oBAED,IAAI,KAAI,CAAC,eAAe,GAAG,0BAA0B,GAAG,KAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE;wBAC5F,KAAI,CAAC,QAAQ,GAAG,sEAAsE,CAAC;wBACvF,OAAO;qBACR;yBAAM,IAAI,KAAI,CAAC,cAAc,CAAC,gBAAgB,GAAG,KAAI,CAAC,uBAAuB,EAAE;wBAC9E,KAAI,CAAC,QAAQ,GAAG,sDAAsD,CAAC;wBACvE,OAAO;qBACR;oBACD,KAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,eAAK;wBAC/C,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;wBAC/C,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,IAAI,CAAC,CAAC;oBAC9B,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;aACJ;iBAAM;gBACL,IAAI,IAAI,CAAC,cAAc,CAAC,gBAAgB,GAAG,IAAI,CAAC,uBAAuB,EAAE;oBACvE,IAAI,CAAC,QAAQ,GAAG,sDAAsD,CAAC;oBACvE,OAAO;iBACR;gBACD,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,eAAK;oBAC/C,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;oBAC/C,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,IAAI,CAAC,CAAC;gBAC9B,CAAC,CAAC,CAAC;aACJ;SACF;IACH,CAAC;IAED,mDAAkB,GAAlB,UAAmB,KAA2B,EAAE,OAAuB;QAErE,yEAAyE;QACzE,2IAA2I;QAC3I,IAAI;QACJ,wCAAwC;QACxC,kDAAkD;QAClD,cAAc;QACd,0CAA0C;QAC1C,QAAQ;QACR,QAAQ;QACR,iDAAiD;QACjD,6DAA6D;QAC7D,qCAAqC;QACrC,YAAY;QACZ,WAAW;QACX,0FAA0F;QAC1F,IAAI;QAEJ,OAAO,CAAC,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IACvF,CAAC;IAED,4CAAW,GAAX,UAAY,GAAW;QAAvB,iBAiEC;QAhEC,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YAC1C,IAAI,CAAC,QAAQ,GAAG,6BAA6B,CAAC;YAC9C,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,UAAU,CAAC;gBACT,KAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YACrB,CAAC,EAAE,IAAI,CAAC,CAAC;YACT,OAAO;SACR;QACD,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE;YACjC,IAAI,CAAC,cAAc,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC;SAClD;QACD,IAAI,GAAG,KAAK,KAAK,EAAE;YACjB,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,KAAI,CAAC,cAAc,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAA5F,CAA4F,CAAC,EAAE;gBAClJ,IAAI,CAAC,QAAQ,GAAG,2BAA2B,CAAC;gBAC5C,OAAO;aACR;YACD,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAtF,CAAsF,CAAC,EAAE;gBAC9I,IAAI,CAAC,QAAQ,GAAG,wBAAwB,CAAC;gBACzC,OAAO;aACR;YACD,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,cAAI;gBACjE,IAAI,IAAI,CAAC,IAAI,EAAE;oBACb,KAAI,CAAC,QAAQ,GAAG,oBAAoB,CAAC;oBACrC,UAAU,CAAC;wBACT,KAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;wBACnB,KAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,eAAK;4BAC/C,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;wBACjD,CAAC,CAAC,CAAC;oBACL,CAAC,EAAE,IAAI,CAAC,CAAC;oBACT,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;iBAC5B;qBAAM;oBACL,KAAI,CAAC,QAAQ,GAAG,aAAa,CAAC;iBAC/B;YACH,CAAC,CAAC;SACH;aAAM;YACL,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE;gBAChH,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,KAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAA3F,CAA2F,CAAC,CAAC;gBACvI,IAAI,IAAI,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,KAAI,CAAC,cAAc,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAA5F,CAA4F,CAAC,EAAE;oBAClH,IAAI,CAAC,QAAQ,GAAG,2BAA2B,CAAC;oBAC5C,OAAO;iBACR;aACF;YAED,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,KAAK,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;gBACnE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,MAAM,KAAK,KAAI,CAAC,cAAc,CAAC,MAAM,EAAzC,CAAyC,CAAC,CAAC;gBAC/F,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAtF,CAAsF,CAAC,EAAE;oBAC9I,IAAI,CAAC,QAAQ,GAAG,wBAAwB,CAAC;oBACzC,OAAO;iBACR;aACF;YACD,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,cAAI;gBACjE,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE;oBACtB,KAAI,CAAC,mBAAmB,CAAC,iCAAiC,CAAC,KAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,cAAI;wBAChH,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;wBACnC,KAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;wBACjF,KAAI,CAAC,mBAAmB,CAAC,cAAc,GAAG,KAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;oBAClG,CAAC,CAAC,CAAC;oBACH,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;iBAC5B;qBAAM;oBACL,KAAI,CAAC,QAAQ,GAAG,sBAAsB,CAAC;iBACxC;gBACD,KAAI,CAAC,iCAAiC,EAAE,CAAC;YAC3C,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,sCAAK,GAAL;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,yCAAQ,GAAR,UAAS,KAAK;QACZ,IAAI,CAAC,UAAU,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;IACD,2CAAU,GAAV;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IACD,0CAAS,GAAT;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,yCAAQ,GAAR,UAAS,KAAU;QACjB,IAAM,OAAO,GAAG,aAAa,CAAC;QAE9B,IAAI,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpD,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YAClD,KAAK,CAAC,cAAc,EAAE,CAAC;SACxB;IACH,CAAC;IAED,wCAAO,GAAP,UAAQ,GAAG;QACT,IAAI,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO;QACnD,IAAI,CAAC,OAAO,GAAG,EAAE,IAAI,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,IAAI,OAAO,GAAG,GAAG,CAAC,IAAI,OAAO,IAAI,EAAE;YACpF,OAAO,KAAK,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAED,8CAAa,GAAb,UAAc,KAAU;QACtB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,WAAW,IAAI,KAAK,CAAC,GAAG,IAAI,WAAW,IAAI,KAAK,CAAC,GAAG,IAAI,YAAY,EAAE;YACvF,OAAO;SACR;aAAM;YACL,IAAM,YAAY,GAAG,YAAY,CAAC;YAClC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE;gBAClC,KAAK,CAAC,cAAc,EAAE,CAAC;aACxB;SACF;IAEH,CAAC;IAED,8CAAa,GAAb,UAAc,KAAU;QACtB,IAAI,EAAE,GAAG,yJAAyJ,CAAC;QACnK,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;YAC9B,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE;gBACvB,KAAK,CAAC,cAAc,EAAE,CAAC;aACxB;SACF;IACH,CAAC;IAED,yCAAQ,GAAR;QAAA,iBAUC;QATC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;YAChC,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE;gBAChH,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,KAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAA3F,CAA2F,CAAC,CAAC;gBACvI,IAAI,IAAI,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,KAAI,CAAC,cAAc,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAA5F,CAA4F,CAAC,EAAE;oBAClH,IAAI,CAAC,QAAQ,GAAG,2BAA2B,CAAC;oBAC5C,OAAO;iBACR;aACF;IACL,CAAC;IAED,wCAAO,GAAP;QAAA,iBAuBC;QAtBC,IAAI,EAAE,GAAG,8BAA8B,CAAC;QACxC,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,EAAE,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;gBACzC,IAAI,CAAC,QAAQ,GAAG,sBAAsB,CAAC;gBACvC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,EAAE,CAAC;gBAEhC,UAAU,CAAC;oBACT,KAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;gBACrB,CAAC,EAAE,IAAI,CAAC,CAAC;aACV;SACF;QACD,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,EAAE,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;gBACzC,IAAI,CAAC,QAAQ,GAAG,sBAAsB,CAAC;gBACvC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,EAAE,CAAC;gBAChC,UAAU,CAAC;oBACT,KAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;gBACrB,CAAC,EAAE,IAAI,CAAC,CAAC;aACV;SACF;IACH,CAAC;;gBApUmB,qEAAY;gDAC7B,oDAAM,SAAC,wEAAe;gBACD,6DAAa;gBAClB,kEAAmB;gBACP,kFAAmB;gBACxB,wEAAc;gBACvB,kEAAS;;IAjCf,sBAAsB;QALlC,+DAAS,CAAC;YACT,QAAQ,EAAE,YAAY;YACtB,iIAA0B;YAC1B,SAAS,EAAE,CAAC,6DAAa,CAAC;SAC3B,CAAC;QA6BG,6GAAM,CAAC,wEAAe,CAAC;OA5Bf,sBAAsB,CAgWlC;IAAD,6BAAC;CAAA;AAhWkC;;;;;;;;;;;;;ACpkBnC;AAAA;AAAO,IAAM,SAAS,GAAG,+CAA+C,CAAC;;;;;;;;;;;;ACAzE,2BAA2B,kBAAkB,mCAAmC,wBAAwB,GAAG,gBAAgB,oBAAoB,GAAG,qBAAqB,iBAAiB,8BAA8B,sBAAsB,uBAAuB,oBAAoB,4BAA4B,uBAAuB,oBAAoB,2BAA2B,qBAAqB,iBAAiB,kCAAkC,uBAAuB,oBAAoB,GAAG,aAAa,kCAAkC,4BAA4B,GAAG,oGAAoG,aAAa,oBAAoB,6BAA6B,KAAK,kBAAkB,eAAe,kBAAkB,KAAK,yBAAyB,iBAAiB,yBAAyB,KAAK,eAAe,eAAe,kBAAkB,KAAK,GAAG,sHAAsH,2xI;;;;;;;;;;;;;;;;;;;;ACAh+B;AACA;AACG;AACI;AAOzD;IA2BE,4BAAoB,MAAqB,EAAU,OAA4B,EAAU,KAAqB,EACpG,MAAc;QADJ,WAAM,GAAN,MAAM,CAAe;QAAU,YAAO,GAAP,OAAO,CAAqB;QAAU,UAAK,GAAL,KAAK,CAAgB;QACpG,WAAM,GAAN,MAAM,CAAQ;QA3BxB,qBAAgB,GAAG,EAAE,CAAC;QAEtB,gBAAW,GAAG,EAAE,CAAC;QACjB,kBAAa,GAAG,EAAE,CAAC;QACnB,cAAS,GAAG,KAAK,CAAC;QAClB,oBAAe,GAAG,KAAK,CAAC;QACxB,qBAAgB,GAAG,KAAK,CAAC;QACzB,qBAAgB,GAAG,KAAK,CAAC;QAEzB,iBAAY,GAAG,KAAK,CAAC;QACrB,gBAAW,GAAG,KAAK,CAAC;QACpB,gBAAW,GAAG,KAAK,CAAC;QACpB,iBAAY,GAAG,KAAK,CAAC;QAGrB,sBAAiB,GAAG,KAAK,CAAC;QAU1B,iBAAY,GAAG,KAAK,CAAC;QAGnB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACrD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC;QAC7B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,EAAE,CAAC;QAChC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,EAAE,CAAC;QAC/B,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,EAAE,CAAC;QACrC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,EAAE,CAAC;QAGhC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAEpC,CAAC;IAED,qCAAQ,GAAR;QAAA,iBA2CC;QA1CC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;aACnC,SAAS,CAAC,UAAC,OAAO;YACjB,KAAI,CAAC,gBAAgB,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACvD,IAAI,YAAY,CAAC;YACjB,IAAI,KAAI,CAAC,EAAE,KAAK,CAAC,EAAE;gBACjB,YAAY,GAAG,KAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,aAAa,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,KAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAnE,CAAmE,CAAC,CAAC;aAEvH;iBACI;gBACH,YAAY,GAAG,KAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,aAAa,KAAK,CAAC,EAArB,CAAqB,CAAC;aACxE;YAED,KAAI,CAAC,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC;YACvC,KAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;gBAEtD,KAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAClD,IAAI,KAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC/B,WAAW;iBACZ;gBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAChD,IAAI,YAAY,GAAG,CAAC,CAAC;oBAAC,IAAI,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;oBAC3E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBAE5C,IAAI,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE;4BACrE,YAAY,EAAE,CAAC;yBAEhB;qBAEF;oBACD,IAAI,IAAI,GAAG;wBACT,OAAO,EAAE,WAAW;wBACpB,MAAM,EAAE,YAAY;qBACrB,CAAC;oBACF,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC9B,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,IAAI;wBAE1C,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;oBACnC,CAAC,CAAC,CAAC;iBACJ;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,uCAAU,GAAV;QAAA,iBAIC;QAHC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YACtD,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC;;gBA/D2B,6DAAa;gBAAmB,kEAAmB;gBAAiB,8DAAc;gBAC5F,sDAAM;;IA5Bb,kBAAkB;QAL9B,+DAAS,CAAC;YACT,QAAQ,EAAE,eAAe;YACzB,6JAAyC;;SAE1C,CAAC;OACW,kBAAkB,CA6F9B;IAAD,yBAAC;CAAA;AA7F8B;;;;;;;;;;;;ACV/B,+DAA+D,2J;;;;;;;;;;;;;;;;;;;;;;;;ACAL;AACmB;AACxB;AACH;AACiB;AAEK;AACzB;AAO/C;IAiCE,8BAAmB,MAAiB,EAC3B,iBAAoC,EACnC,aAA4B,EAC5B,OAA4B;QAHnB,WAAM,GAAN,MAAM,CAAW;QAC3B,sBAAiB,GAAjB,iBAAiB,CAAmB;QACnC,kBAAa,GAAb,aAAa,CAAe;QAC5B,YAAO,GAAP,OAAO,CAAqB;QAjCtC,MAAC,GAAW,CAAC,CAAC;QACd,eAAU,GAAG,EAAE,CAAC;QAChB,kBAAa,GAAG,EAAE,CAAC;QAEnB,gBAAW,GAAG,EAAE,CAAC;QAYjB,cAAS,GAAG,KAAK,CAAC;QAClB,kBAAa,GAAG,KAAK,CAAC;QACtB,qBAAgB,GAAG,KAAK,CAAC;QAEzB,eAAU,GAAG,EAAE,CAAC;QAChB,WAAM,GAAG,EAAE,CAAC;QAEZ,UAAK,GAAG,IAAI,CAAC;QACb,WAAM,GAAY,KAAK,CAAC;QAIxB,uBAAkB,GAAG,mFAAkB,CAAC;QAMtC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAClE,CAAC;IAED,uCAAQ,GAAR;QACE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAElE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAChE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,KAAK,aAAa,EAArD,CAAqD,CAAC,CAAC;QACjG,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;SAC1C;QACD,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED,uCAAQ,GAAR;QAAA,iBAKC;QAJC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,iBAAO;YACrE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,6CAAc,GAAd;QAAA,iBA0BC;QAzBC,4BAA4B;QAC5B,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,cAAI;YAClE,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC;YAChC,IAAI,KAAI,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;gBACpC,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;gBAC9B,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;aAC3B;iBACI;gBACH,IAAI,KAAI,CAAC,eAAe,EAAE;oBACxB,IAAI,CAAC,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,KAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,KAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE;wBACpK,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,KAAK,KAAI,CAAC,eAAe,CAAC,YAAY,EAAtD,CAAsD,CAAC,CAAC;qBACjH;yBACI,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,KAAK,KAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE;wBACtF,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC;qBAC3C;iBACF;gBACD,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC;gBAClE,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC;gBAC3C,KAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBAC7B,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,KAAI,CAAC,oBAAoB,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC;aAC1C;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,mCAAmC;IAEnC,mDAAoB,GAApB,UAAqB,QAAQ;QAC3B,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE;YACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;SAC1C;QACD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAC/C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;gBACnC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE;oBAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aAC3C;SACF;IACH,CAAC;IACD;;MAEE;IACF,yCAAU,GAAV;QAAA,iBA8BC;QA7BC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC;QACtC,IAAI,mBAAmB,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAClD,UAAC,IAAI;YACH,OAAO,CACL,CAAC,IAAI,CAAC,cAAc,KAAK,IAAI,IAAI,KAAI,CAAC,UAAU,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzI,CAAC,IAAI,CAAC,qBAAqB,KAAK,IAAI,IAAI,KAAI,CAAC,UAAU,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CACxJ,CAAC;QACJ,CAAC,CACF,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,mBAAmB,CAAC;QAC1C,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC,EAAE;YACnC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE,EAAE;YAC1B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC;YACtC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;YAC3C,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC1C;aACI;YACH,IAAI,CAAC,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC;YAC3C,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;gBACnC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE;oBAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aAC3C;SACF;IACH,CAAC;IAED,mCAAI,GAAJ,UAAK,QAAQ;QACX,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,sBAAsB;QAClD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,4CAAa,GAAb;QACE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED;;MAEE;IACF,yCAAU,GAAV,UAAW,GAAW;QAAtB,iBAwDC;QAvDC,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE;YAC5D,UAAU,EAAE,yBAAyB;YACrC,IAAI,EAAE,GAAG,GAAG,KAAK,GAAG,KAAK;SAC1B,CAAC,CAAC;QAEH,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3D,SAAS,CAAC,iBAAiB,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QACjE,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACvD,IAAI,GAAG,KAAK,KAAK,EAAE;YACjB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB;QACD,IAAI,GAAG,KAAK,MAAM,EAAE;YAClB,SAAS,CAAC,iBAAiB,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;YACjE,SAAS,CAAC,iBAAiB,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC;YAC/E,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YAC7D,SAAS,CAAC,iBAAiB,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;YACzE,iDAAiD;SAClD;QACD,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;YACtC,IAAI,KAAI,CAAC,UAAU,KAAK,EAAE,IAAI,KAAI,CAAC,UAAU,KAAK,SAAS,EAAE;gBAC3D,KAAI,CAAC,UAAU,EAAE,CAAC;aACnB;iBACI;gBACH,KAAI,CAAC,cAAc,EAAE,CAAC;aACvB;YACD,IAAI,MAAM,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE;gBAChC,IAAI,SAAS,GAAG,EAAE,CAAC;gBACnB,IAAI,GAAG,KAAK,KAAK,EAAE;oBACjB,SAAS,GAAG,oBAAoB,CAAC;iBAClC;qBACI;oBACH,SAAS,GAAG,sBAAsB,CAAC;iBACpC;gBACD,KAAI,CAAC,cAAc,EAAE,CAAC;gBAEtB,IAAM,YAAY,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE;oBAC/D,UAAU,EAAE,yBAAyB;oBACrC,IAAI,EAAE,SAAS,GAAG,KAAK,GAAG,KAAK;iBAEhC,CAAC,CAAC;gBACH,UAAU,CAAC;oBACT,KAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,CAAC,EAAE,GAAG,CAAC,CAAC;gBACR,YAAY,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,iBAAO;oBAC1C,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;oBACtB,IAAI,KAAI,CAAC,UAAU,KAAK,EAAE,IAAI,KAAI,CAAC,UAAU,KAAK,SAAS,EAAE;wBAC3D,KAAI,CAAC,UAAU,EAAE,CAAC;qBACnB;yBACI;wBACH,KAAI,CAAC,cAAc,EAAE,CAAC;qBACvB;gBACH,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;MAEE;IACF,6CAAc,GAAd,UAAe,aAAa;QAC1B,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC,YAAY,CAAC;QAC/C,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC,cAAc,CAAC;QACnD,IAAI,CAAC,kBAAkB,GAAG,aAAa,CAAC,cAAc,CAAC;QACvD,IAAI,CAAC,qBAAqB,GAAG,aAAa,CAAC,qBAAqB,CAAC;QACjE,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC;QACzC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED,uCAAQ,GAAR;QACE,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;YACjD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;SACvC;IACH,CAAC;IAED;;MAEE;IACF,+CAAgB,GAAhB,UAAiB,aAAkB;QAAnC,iBA6BC;QA5BC,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC,YAAY,CAAC;QAC/C,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE;YAC5D,UAAU,EAAE,yBAAyB;YACrC,IAAI,EAAE,8CAA8C,GAAG,aAAa,CAAC,cAAc,GAAG,MAAM,GAAG,IAAI;SAEpG,CAAC,CAAC;QACH,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;YACtC,IAAI,MAAM,EAAE;gBACV,IAAI,CAAC,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,IAAI,KAAI,CAAC,YAAY,EAArC,CAAqC,CAAC,EAAE;oBACrE,KAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,KAAI,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,cAAI;wBACvE,IAAI,IAAI,CAAC,IAAI,EAAE;4BACb,KAAI,CAAC,QAAQ,EAAE,CAAC;4BAChB,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;4BACtB,KAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;4BACxC,KAAI,CAAC,cAAc,GAAG,EAAE,CAAC;4BACzB,KAAI,CAAC,cAAc,EAAE,CAAC;yBACvB;6BAAM;4BACL,KAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;yBAClC;wBACD,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;wBACtB,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC;oBAC1B,CAAC,CAAC,CAAC;iBACJ;qBAAM;oBACL,KAAI,CAAC,UAAU,CAAC,yDAAyD,CAAC,CAAC;iBAC5E;aAEF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,2CAAY,GAAZ;QACE,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;QAC9D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,OAAO,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;YAC1D,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC;YAC7D,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;YACnC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;YAC1C,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;SAC/B;QACD,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,GAAG,cAAc,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,WAAW,GAAG,IAAI,CAAC,gBAAgB,EAAE,EAAE,EAAE,oBAAoB,EAAE,0DAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IACvS,CAAC;;gBA1P0B,2DAAS;gBACR,8EAAiB;gBACpB,6DAAa;gBACnB,kEAAmB;;IApC3B,oBAAoB;QALhC,+DAAS,CAAC;YACT,QAAQ,EAAE,iBAAiB;YAC3B,mKAA2C;;SAE5C,CAAC;OACW,oBAAoB,CA4RhC;IAAD,2BAAC;CAAA;AA5RgC;AAkSjC;IAWE,mCACS,SAAkD,EACzB,IAAS,EAAS,iBAAoC;QAD/E,cAAS,GAAT,SAAS,CAAyC;QACzB,SAAI,GAAJ,IAAI,CAAK;QAAS,sBAAiB,GAAjB,iBAAiB,CAAmB;QAZxF,cAAS,GAAG,KAAK,CAAC;QAOlB,gBAAW,GAAG,KAAK,CAAC;QAMlB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE;YAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAED,4CAAQ,GAAR;IACA,CAAC;IAED,8CAAU,GAAV;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,6CAAS,GAAT;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,sDAAkB,GAAlB;QACE,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE;YAC/B,IAAI,CAAC,QAAQ,GAAG,kCAAkC,CAAC;YACnD,OAAO;SACR;QACD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,kDAAc,GAAd,UAAe,GAAW;QAA1B,iBA0CC;QAzCC,IAAM,MAAM,GAAG;YACb,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,SAAS,EAAE,IAAI,CAAC,WAAW;YAC3B,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,WAAW;YAC3B,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;SAClD,CAAC;QACF,IAAI,GAAG,KAAK,KAAK,EAAE;YAEjB,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,KAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAnF,CAAmF,CAAC,EAAE;gBACxH,IAAI,CAAC,QAAQ,GAAG,gCAAgC,CAAC;gBACjD,OAAO;aACR;YACD,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,cAAI;gBAC1D,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE;oBACtB,KAAI,CAAC,QAAQ,GAAG,oBAAoB,CAAC;oBACrC,KAAI,CAAC,cAAc,GAAG,EAAE,CAAC;oBACzB,KAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC;oBAChC,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACjC,UAAU,CAAC;wBACT,KAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;oBACrB,CAAC,EAAE,IAAI,CAAC,CAAC;iBACV;qBAAM;oBACL,KAAI,CAAC,QAAQ,GAAG,aAAa,CAAC;iBAC/B;YACH,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,cAAc;gBAChD,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,KAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAnF,CAAmF,CAAC,EAAE;oBACxH,IAAI,CAAC,QAAQ,GAAG,gCAAgC,CAAC;oBACjD,OAAO;iBACR;YACH,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,cAAI;gBAC1D,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE;oBACtB,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;iBAC5B;qBAAM;oBACL,KAAI,CAAC,QAAQ,GAAG,sBAAsB,CAAC;iBACxC;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAGD,yCAAK,GAAL;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;;gBA9EmB,8DAAY;gDAC7B,oDAAM,SAAC,iEAAe;gBAA8C,8EAAiB;;IAb7E,yBAAyB;QAJrC,+DAAS,CAAC;YACT,QAAQ,EAAE,YAAY;YACtB,qIAA0B;SAC3B,CAAC;QAcG,6GAAM,CAAC,iEAAe,CAAC;OAbf,yBAAyB,CA4FrC;IAAD,gCAAC;CAAA;AA5FqC;;;;;;;;;;;;;;;;;;;;;;;;;;AChTK;AACoB;AACvB;AACX;AACM;AACF;AAC0B;AAC3D,IAAM,UAAU,GAAG,iFAAiF,CAAC;AACrG,IAAM,eAAe,GAAG,SAAS,CAAC;AAIlC;IAKE,sDAAsD;IACtD,4CAA4C;IAC5C,2CAA2C;IAC3C,2CAA2C;IAC3C,4CAA4C;IAE5C,uBAAoB,IAAU;QAAV,SAAI,GAAJ,IAAI,CAAM;QAPtB,YAAO,GAAW,wEAAW,CAAC,OAAO,CAAC;IAS9C,CAAC;IAEM,iDAAyB,GAAhC,UAAiC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,eAAgB,EAAE,aAAc;QAC/H,IAAM,MAAM,GAAG,EAAE,CAAC;QAClB,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACtB,IAAI,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC3B,KAAK,IAAI,GAAG,IAAI,SAAS,EAAE;gBACzB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAClB;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACvC,IAAI,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC3B,IAAI,SAAS,GAAG,EAAE,CAAC;gBACnB,KAAK,IAAI,GAAG,IAAI,SAAS,EAAE;oBACzB,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBACrE;gBACD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aACtB;SACF;QACD,IAAI,QAAQ,GAAG,IAAI,gDAAQ,EAAE,CAAC;QAC9B,IAAI,SAAS,GAAG,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,KAAK,IAAI,EAAE,EAAE;YACf,IAAI,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACzC,IAAI,MAAM,IAAI,EAAE,EAAE;gBAChB,IAAI,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC3C,SAAS,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;aAC3F;YACD,IAAI,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YAC3C,QAAQ,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;YACzF,SAAS,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;YAC1F,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACrB,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;SACtB;QACD,IAAI,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzC,SAAS,CAAC,QAAQ,CAAC,UAAC,IAAI,EAAE,MAAM;YAC9B,IAAI,CAAC,IAAI,GAAG;gBACV,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,OAAO;gBAChB,OAAO,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE;gBAClC,OAAO,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;aACjC;YACD,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QACxH,CAAC,CAAC;QACF,6CAA6C;QAC7C,yCAAyC;QACzC,qCAAqC;QACrC,6HAA6H;QAC7H,+DAA+D;QAC/D,sDAAsD;QACtD,sDAAsD;QACtD,oBAAoB;QACpB,yBAAyB;QACzB,0BAA0B;QAC1B,oCAAoC;QACpC,2DAA2D;QAC3D,QAAQ;QACR,OAAO;QACP,+CAA+C;QAC/C,yCAAyC;QACzC,MAAM;QACN,IAAI;QAEJ,IAAI,CAAC,OAAO,CAAC,WAAC;YACZ,IAAI,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC9B,GAAG,CAAC,QAAQ,CAAC,UAAC,IAAI,EAAE,MAAM;gBACxB,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBACtH,IAAI,CAAC,SAAS,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;gBACxD,IAAI,CAAC,IAAI,GAAG;oBACV,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,OAAO;oBAChB,OAAO,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE;oBAClC,OAAO,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;iBACjC;YACH,CAAC,CAAC;YACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE;gBACvC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;aACnC;QACH,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrB,IAAI,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;QAEnE,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,UAAC,IAAI;YACpC,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,mEAAmE,EAAE,CAAC,CAAC;YAC3G,iDAAS,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC;QACtC,CAAC,CAAC;IAEJ,CAAC;IAGM,qCAAa,GAApB,UAAqB,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,eAAgB,EAAE,aAAc;QACnH,IAAM,MAAM,GAAG,EAAE,CAAC;QAClB,IAAM,IAAI,GAAG,EAAE,CAAC;QAChB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACtB,IAAI,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC3B,KAAK,IAAI,GAAG,IAAI,SAAS,EAAE;gBACzB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAClB;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACvC,IAAI,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC3B,IAAI,SAAS,GAAG,EAAE,CAAC;gBACnB,KAAK,IAAI,GAAG,IAAI,SAAS,EAAE;oBACzB,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBACrE;gBACD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aACtB;SACF;QAED,IAAI,QAAQ,GAAG,IAAI,gDAAQ,EAAE,CAAC;QAC9B,IAAI,SAAS,GAAG,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,KAAK,IAAI,EAAE,EAAE;YACf,IAAI,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACzC,IAAI,MAAM,IAAI,EAAE,EAAE;gBAChB,IAAI,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC3C,SAAS,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;aAC3F;YAED,IAAI,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YAC3C,QAAQ,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;YAEzF,SAAS,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;YAG1F,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACrB,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;SAEtB;QAED,IAAI,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAEzC,SAAS,CAAC,QAAQ,CAAC,UAAC,IAAI,EAAE,MAAM;YAC9B,IAAI,CAAC,IAAI,GAAG;gBACV,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,OAAO;gBAChB,OAAO,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE;gBAClC,OAAO,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;gBAChC,iCAAiC;gBACjC,gCAAgC;aACjC;YACD,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QACxH,CAAC,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,WAAC;YACZ,IAAI,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC9B,GAAG,CAAC,QAAQ,CAAC,UAAC,IAAI,EAAE,MAAM;gBACxB,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBACtH,IAAI,CAAC,SAAS,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC1D,CAAC,CAAC;YACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE;gBACvC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;aACnC;QACH,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrB,IAAI,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;QAEnE,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,UAAC,IAAI;YACpC,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,mEAAmE,EAAE,CAAC,CAAC;YAC3G,iDAAS,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC;QACtC,CAAC,CAAC;IAEJ,CAAC;IAGM,2CAAmB,GAA1B,UAA2B,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,eAAgB,EAAE,aAAc;QAC1I,IAAM,MAAM,GAAG,EAAE,CAAC;QAClB,IAAM,IAAI,GAAG,EAAE,CAAC;QAChB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACtB,IAAI,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC3B,KAAK,IAAI,GAAG,IAAI,SAAS,EAAE;gBACzB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAClB;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACvC,IAAI,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC3B,IAAI,SAAS,GAAG,EAAE,CAAC;gBACnB,KAAK,IAAI,GAAG,IAAI,SAAS,EAAE;oBACzB,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBACrE;gBACD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aACtB;SACF;QAED,IAAM,OAAO,GAAG,EAAE,CAAC;QAEnB,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAM,KAAK,GAAG,EAAE,CAAC;QACjB,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YACvB,+BAA+B;YAC/B,0BAA0B;YAC1B,+BAA+B;YAC/B,iCAAiC;YACjC,uBAAuB;YACvB,IAAI;YACJ,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACxC,KAAK,GAAG,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;aACnC;YACD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtB,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACxC,IAAI,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAE5B,IAAI,UAAU,GAAG,EAAE,CAAC;gBACpB,+BAA+B;gBAE/B,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBAChC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBACnC,2EAA2E;gBAC3E,8EAA8E;gBAC9E,IAAI;gBACJ,0BAA0B;gBAC1B,0BAA0B;aAC3B;SAEF;QAED,IAAI,QAAQ,GAAG,IAAI,gDAAQ,EAAE,CAAC;QAC9B,IAAI,SAAS,GAAG,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,KAAK,IAAI,EAAE,EAAE;YACf,IAAI,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACzC,IAAI,MAAM,IAAI,EAAE,EAAE;gBAChB,IAAI,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC3C,SAAS,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;aAC3F;YAED,IAAI,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YAC3C,QAAQ,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;YAEzF,SAAS,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;YAG1F,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACrB,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;SAEtB;QAID,IAAI,cAAc,GAAG,QAAQ,CAAC;QAG9B,IAAI,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC9C,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrB,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrB,IAAI,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC;YAC3B,MAAM,EAAE,KAAK;YACb,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;QAEH,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACpC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrB,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrB,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrB,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrB,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrB,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrB,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrB,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrB,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrB,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrB,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrB,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrB,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrB,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAEhC,IAAI,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAEzC,UAAU,CAAC,QAAQ,CAAC,UAAC,IAAI,EAAE,MAAM;YAC/B,IAAI,CAAC,IAAI,GAAG;gBACV,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,OAAO;gBAChB,OAAO,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE;gBAClC,OAAO,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;aAIjC;YACD,IAAI,CAAC,SAAS,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC9E,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QACxH,CAAC,CAAC;QAEF,UAAU,CAAC,QAAQ,CAAC,UAAC,IAAI,EAAE,MAAM;YAC/B,IAAI,CAAC,IAAI,GAAG;gBACV,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,OAAO;gBAChB,OAAO,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE;gBAClC,OAAO,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;gBAChC,iCAAiC;gBACjC,gCAAgC;aACjC;YACD,IAAI,CAAC,SAAS,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;YAC9D,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QACxH,CAAC,CAAC;QAGF,SAAS,CAAC,QAAQ,CAAC,UAAC,IAAI,EAAE,MAAM;YAC9B,IAAI,CAAC,IAAI,GAAG;gBACV,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,OAAO;gBAChB,OAAO,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE;gBAClC,OAAO,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;gBAChC,iCAAiC;gBACjC,gCAAgC;aACjC;YACD,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QACxH,CAAC,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,WAAC;YACZ,IAAI,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC9B,GAAG,CAAC,QAAQ,CAAC,UAAC,IAAI,EAAE,MAAM;gBAExB,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBACtH,uCAAuC;gBACvC,IAAI,CAAC,SAAS,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAE1D,CAAC,CAAC;YACF,IAAI,GAAG,CAAC,SAAS,GAAG,QAAQ,CAAC,MAAM,EAAE;gBACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE;oBACvC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;iBACnC;aACF;iBAAM;gBACL,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACzC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;iBACnC;aACF;QAEH,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,OAAO,CAAC,WAAC;YACb,IAAI,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAI,CAAC,QAAQ,CAAC,UAAC,IAAI,EAAE,MAAM;gBACzB,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBACtH,IAAI,CAAC,SAAS,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAEtC,CAAC,CAAC;YACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE;gBACxC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;aACnC;QACH,CAAC,CAAC,CAAC;QAGH,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrB,IAAI,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;QAEnE,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,UAAC,IAAI;YACpC,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,mEAAmE,EAAE,CAAC,CAAC;YAC3G,iDAAS,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC;QACtC,CAAC,CAAC;IAEJ,CAAC;IAEM,yCAAiB,GAAxB,UAAyB,IAAW,EAAE,aAAqB;QACzD,IAAM,KAAK,GAAG,iBAAiB,CAAC;QAEhC,IAAM,SAAS,GAAmB,0CAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACjE,yCAAyC;QACzC,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,SAAS,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC;QACrC,IAAM,MAAM,GAAG,QAAQ,CAAC;QACxB,IAAM,QAAQ,GAAkB,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC;QAEnF,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAErC,+CAA+C;QAC/C,sFAAsF;QACtF,kEAAkE;QAClE,0BAA0B;QAC1B,2CAA2C;QAC3C,8CAA8C;QAC9C,8CAA8C;QAC9C,kCAAkC;QAClC,yCAAyC;QACzC,kBAAkB;QAClB,uBAAuB;QACvB,wBAAwB;QACxB,qCAAqC;QACrC,oCAAoC;QACpC,MAAM;QACN,2HAA2H;QAC3H,KAAK;QACL,oCAAoC;QACpC,IAAM,WAAW,GAAQ,0CAAU,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACnF,uFAAuF;QACvF,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACnD,CAAC;IAEO,yCAAiB,GAAzB,UAA0B,IAAqB;QAC7C,IAAM,sBAAsB,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;QACxD,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;IAClD,CAAC;IAEO,oCAAY,GAApB,UAAqB,IAAI,EAAE,KAAS;QAClC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC;IAGjB,CAAC;IAED,qDAAqD;IACrD,4HAA4H;IAC5H,qDAAqD;IACrD,IAAI;IAEJ,2DAA2D;IAC3D,oBAAoB;IAEpB,wBAAwB;IACxB,IAAI;IAEI,uCAAe,GAAvB,UAAwB,MAAW,EAAE,QAAgB;QACnD,IAAM,IAAI,GAAS,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE;YACpC,IAAI,EAAE,UAAU;SACjB,CAAC,CAAC;QACH,iDAAgB,CAAC,IAAI,EAAE,QAAQ,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,eAAe,CAAC,CAAC;IACvJ,CAAC;IAEM,sCAAc,GAArB;QACE,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,0BAA0B,CAAC;QACzD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,iCAAS,GAAT,UAAU,MAAc;QACtB,IAAM,MAAM,GAAG,IAAI,6DAAe,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,2CAA2C;IAC3C,6BAA6B;IAC7B,qCAAqC;IACrC,2EAA2E;IAC3E,+DAA+D;IAC/D,IAAI;IACJ,gCAAQ,GAAR,UAAS,MAAc,EAAE,IAAS;QAChC,IAAM,OAAO,GAAG,IAAI,qDAAO,EAAE,CAAC;QAC9B,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,mCAAmC,CAAC,CAAC;QACpE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,mCAAW,GAAX,UAAY,IAAS;QACnB,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,oBAAoB,CAAC;QACnD,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,8BAAM,GAAN,UAAO,IAAS,EAAE,QAAgB,EAAE,WAAmB,EAAE,QAAgB;QACvE,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,gCAAgC,GAAG,QAAQ,GAAG,eAAe,GAAG,WAAW,GAAG,YAAY,GAAG,QAAQ,CAAC;QACpI,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,uCAAe,GAAf,UAAgB,QAAgB,EAAE,QAAgB;QAChD,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,kCAAkC,GAAG,QAAQ,GAAG,YAAY,GAAG,QAAQ,CAAC;QACtG,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAIM,qCAAa,GAApB,UAAqB,SAAiB;QACpC,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,iCAAiC,GAAG,SAAS,CAAC;QAC5E,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,mCAAW,GAAX,UAAY,IAAS,EAAE,YAAoB;QACzC,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,kCAAkC,GAAG,YAAY,CAAC;QAChF,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;IACD,8CAA8C;IACvC,kCAAU,GAAjB,UAAkB,SAAiB;QACjC,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,8BAA8B,GAAG,SAAS,CAAC;QACzE,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAEM,qCAAa,GAApB,UAAqB,SAAiB,EAAE,SAAiB,EAAE,MAAc,EAAE,OAAe;QACxF,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,iCAAiC,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,GAAG,WAAW,GAAG,OAAO,CAAC;QACtJ,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,4CAA4C;IAC5C,iFAAiF;IACjF,mCAAmC;IACnC,IAAI;IACJ,oCAAY,GAAZ,UAAa,IAAS;QACpB,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,qBAAqB,CAAC;QACpD,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;IAEM,mCAAW,GAAlB,UAAmB,SAAiB;QAClC,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,+BAA+B,GAAG,SAAS,CAAC;QAC1E,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IACM,wCAAgB,GAAvB,UAAwB,SAAiB;QACvC,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,kCAAkC,GAAG,SAAS,CAAC;QAC7E,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAEM,sCAAc,GAArB,UAAsB,UAAkB;QACtC,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,mCAAmC,GAAG,UAAU,CAAC;QAC/E,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAEM,gCAAQ,GAAf,UAAgB,SAAS;QACvB,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,4BAA4B,GAAG,SAAS,CAAC;QACvE,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAEM,sCAAc,GAArB;QACE,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,uBAAuB,CAAC;QACtD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAEM,qCAAa,GAApB;QACE,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,sBAAsB,CAAC;QACrD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,oCAAY,GAAZ,UAAa,IAAS,EAAE,YAAoB;QAC1C,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,mCAAmC,GAAG,YAAY,CAAC;QACjF,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;IAEM,mCAAW,GAAlB,UAAmB,SAAiB;QAClC,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,+BAA+B,GAAG,SAAS,CAAC;QAC1E,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IACM,sCAAc,GAArB,UAAsB,UAAkB,EAAE,SAAiB,EAAE,MAAc,EAAE,OAAe,EAAE,SAAiB,EAAE,QAAgB;QAC/H,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,mCAAmC,GAAG,UAAU,GAAG,aAAa,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,GAAG,WAAW,GAAG,OAAO,GAAG,aAAa,GAAG,SAAS,GAAG,YAAY,GAAG,QAAQ,CAAC;QAC/M,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAEM,uCAAe,GAAtB;QACE,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,wBAAwB,CAAC;QACvD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,gCAAQ,GAAR,UAAS,IAAS;QAChB,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,iBAAiB,CAAC;QAChD,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;IAEM,+BAAO,GAAd,UAAe,SAAiB;QAC9B,IAAI,SAAS,EAAE;YACb,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,2BAA2B,GAAG,SAAS,CAAC;YACtE,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;SAC/B;IACH,CAAC;IACM,kCAAU,GAAjB,UAAkB,MAAc;QAC9B,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,2BAA2B,GAAG,MAAM,CAAC;QACnE,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IACM,sCAAc,GAArB;QACE,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,uBAAuB,CAAC;QACtD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IACM,0CAAkB,GAAzB,UAA0B,aAAa,EAAE,SAAS;QAChD,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,0CAA0C,GAAG,aAAa,GAAG,aAAa,GAAG,SAAS,CAAC;QACrH,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IACM,iCAAS,GAAhB;QACE,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,kBAAkB,CAAC;QACjD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IACM,wCAAgB,GAAvB;QACE,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,yBAAyB,CAAC;QACxD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IACM,mCAAW,GAAlB;QACE,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,oBAAoB,CAAC;QACnD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IACM,sCAAc,GAArB,UAAsB,SAAS,EAAE,SAAS;QACxC,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,kCAAkC,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,CAAC;QACzG,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAGD,mCAAW,GAAX,UAAY,IAAS,EAAE,YAAoB;QACzC,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,kCAAkC,GAAG,YAAY,CAAC;QAChF,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;IAEM,kCAAU,GAAjB,UAAkB,SAAiB;QACjC,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,8BAA8B,GAAG,SAAS,CAAC;QACzE,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IACM,qCAAa,GAApB,UAAqB,SAAiB;QACpC,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,iCAAiC,GAAG,SAAS,CAAC;QAC5E,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IACD,gCAAQ,GAAR,UAAS,IAAS;QAChB,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,iBAAiB,CAAC;QAChD,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;IACM,+BAAO,GAAd,UAAe,SAAiB;QAC9B,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,2BAA2B,GAAG,SAAS,CAAC;QACtE,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IACM,mCAAW,GAAlB,UAAmB,SAAiB,EAAE,UAAkB,EAAE,aAAqB,EAAE,SAAiB,EAAE,SAAS,EAAE,SAAS;QACtH,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,+BAA+B,GAAG,SAAS,GAAG,cAAc;YACxF,UAAU,GAAG,iBAAiB,GAAG,aAAa,GAAG,aAAa,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,CAAC;QACrI,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAEM,mCAAW,GAAlB,UAAmB,SAAiB,EAAE,MAAc;QAClD,UAAU;QACV,uBAAuB;QACvB,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,+BAA+B,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;QAChG,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAEM,8CAAsB,GAA7B,UAA8B,SAAiB,EAAE,SAAiB,EAAE,MAAM,EAAE,QAAgB;QAC1F,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,0CAA0C,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,GAAG,gBAAgB,GAAG,QAAQ,CAAC;QACrK,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IACM,qDAA6B,GAApC,UAAqC,SAAiB,EAAE,SAAiB,EAAE,MAAM,EAAE,SAAiB;QAClG,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,iDAAiD,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,GAAG,aAAa,GAAG,SAAS,CAAC;QAC1K,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAEM,sDAA8B,GAArC,UAAsC,SAAiB,EAAE,SAAiB,EAAE,MAAM,EAAE,SAAiB;QACnG,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,kDAAkD,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,GAAG,aAAa,GAAG,SAAS,CAAC;QAC3K,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IACD,oCAAY,GAAZ,UAAa,IAAS;QACpB,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,oBAAoB,CAAC;QACnD,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;IACM,mCAAW,GAAlB,UAAmB,SAAiB;QAClC,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,+BAA+B,GAAG,SAAS,CAAC;QAC1E,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IACM,sCAAc,GAArB,UAAsB,SAAiB;QACrC,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,kCAAkC,GAAG,SAAS,CAAC;QAC7E,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IACD,4CAAoB,GAApB,UAAqB,IAAS,EAAE,YAAoB,EAAE,QAAgB;QACpE,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,2CAA2C,GAAG,YAAY,GAAG,YAAY,GAAG,QAAQ,CAAC;QACnH,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;IAEM,yCAAiB,GAAxB,UAAyB,SAAiB;QACxC,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,oCAAoC,GAAG,SAAS,CAAC;QAC/E,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAEM,2CAAmB,GAA1B,UAA2B,SAAiB;QAC1C,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,mCAAmC,GAAG,SAAS,CAAC;QAC9E,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAEM,+CAAuB,GAA9B,UAA+B,SAAiB;QAC9C,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,2CAA2C,GAAG,SAAS,CAAC;QACtF,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAEM,gDAAwB,GAA/B,UAAgC,SAAiB;QAC/C,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,4CAA4C,GAAG,SAAS,CAAC;QACvF,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAEM,0CAAkB,GAAzB,UAA0B,SAAiB;QACzC,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,qCAAqC,GAAG,SAAS,CAAC;QAChF,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAEM,oCAAY,GAAnB;QACE,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,iBAAiB,CAAC;QAChD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IACM,iCAAS,GAAhB;QACE,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,kBAAkB,CAAC;QACjD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IACM,6CAAqB,GAA5B;QACE,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,8BAA8B,CAAC;QAC7D,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IACM,yCAAiB,GAAxB;QACE,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,0BAA0B,CAAC;QACzD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IACM,yCAAiB,GAAxB;QACE,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,0BAA0B,CAAC;QACzD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IACD,gCAAQ,GAAR,UAAS,IAAS;QAChB,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,iBAAiB,CAAC;QAChD,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;IACD,sCAAc,GAAd,UAAe,IAAS;QACtB,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,uBAAuB,CAAC;QACtD,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;IACD,gCAAQ,GAAR,UAAS,IAAS;QAChB,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,iBAAiB,CAAC;QAChD,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;IACM,4CAAoB,GAA3B,UAA4B,SAAiB,EAAE,MAAc,EAAE,YAAoB;QACjF,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,wCAAwC,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,GAAG,gBAAgB,GAAG,YAAY,CAAC;QAC3I,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAEM,oDAA4B,GAAnC,UAAoC,SAAiB,EAAE,MAAc,EAAE,YAAoB;QACzF,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,gDAAgD,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,GAAG,aAAa,GAAG,YAAY,CAAC;QAChJ,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IACM,qCAAa,GAApB;QACE,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,sBAAsB,CAAC;QACrD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAEM,kCAAU,GAAjB,UAAkB,KAAa;QAC7B,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,0BAA0B,GAAG,KAAK,CAAC;QACjE,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IACD,iCAAS,GAAT,UAAU,IAAS,EAAE,YAAoB;QACvC,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,gCAAgC,GAAG,YAAY,CAAC;QAC9E,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;IAEM,kCAAU,GAAjB,UAAkB,iBAAyB;QACzC,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,uCAAuC,GAAG,iBAAiB,CAAC;QAC1F,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAEM,yCAAiB,GAAxB,UAAyB,SAAiB;QACxC,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,qCAAqC,GAAG,SAAS,CAAC;QAChF,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAEM,kCAAU,GAAjB,UAAkB,OAAe,EAAE,SAAiB;QAClD,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,4BAA4B,GAAG,OAAO,GAAG,aAAa,GAAG,SAAS,CAAC;QACjG,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,sCAAc,GAAd,UAAe,IAAS;QACtB,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,wBAAwB,CAAC;QACvD,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;IAEM,qCAAa,GAApB,UAAqB,SAAiB,EAAE,SAAiB;QACvD,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,iCAAiC,GAAG,SAAS,GAAG,iBAAiB,GAAG,SAAS,CAAC;QAC5G,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAEM,kCAAU,GAAjB,UAAkB,SAAS;QACzB,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,8BAA8B,GAAG,SAAS,CAAC;QACzE,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAEM,iCAAS,GAAhB,UAAiB,SAAS;QACxB,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,6BAA6B,GAAG,SAAS,CAAC;QACxE,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IACD,sCAAc,GAAd,UAAe,IAAS,EAAE,YAAoB;QAC5C,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,qCAAqC,GAAG,YAAY,CAAC;QACnF,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;IACM,wCAAgB,GAAvB,UAAwB,cAAsB,EAAE,KAAa;QAC3D,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,yCAAyC,GAAG,cAAc,GAAG,SAAS,GAAG,KAAK,CAAC;QAC7G,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAEM,6CAAqB,GAA5B,UAA6B,IAAS;QACpC,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,wCAAwC,GAAG,IAAI,CAAC;QAC9E,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,6CAAqB,GAArB,UAAsB,IAAS;QAC7B,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,8BAA8B,CAAC;QAC7D,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;;gBAlwByB,kDAAI;;IAXnB,aAAa;QAHzB,gEAAU,CAAC;YACV,UAAU,EAAE,MAAM;SACnB,CAAC;OACW,aAAa,CA8wBzB;IAAD,oBAAC;CAAA;AA9wByB;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZgC;AACR;AACkC;AAEvC;AACF;AACU;AACmB;AACL;AAEpB;AAO/C;IAsEE,2BAAoB,aAA4B,EACvC,MAAiB,EAChB,iBAAoC,EACpC,OAA4B;QAHlB,kBAAa,GAAb,aAAa,CAAe;QACvC,WAAM,GAAN,MAAM,CAAW;QAChB,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,YAAO,GAAP,OAAO,CAAqB;QArEtC,cAAS,GAAG,KAAK,CAAC;QAelB,WAAM,GAAG,KAAK,CAAC;QACf,uBAAkB,GAAW,IAAI,CAAC;QAElC,SAAI,GAAG,IAAI,0DAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACnC,mBAAc,GAAG,IAAI,0DAAW,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAC7D,oBAAe,GAAG,IAAI,0DAAW,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAC9D,MAAC,GAAW,CAAC,CAAC;QACd,eAAU,GAAG,EAAE,CAAC;QAChB,kBAAa,GAAG,EAAE,CAAC;QAEnB,gBAAW,GAAG,EAAE,CAAC;QACjB,WAAM,GAAY,KAAK,CAAC;QACxB,WAAM,GAAG,EAAE,CAAC;QAEZ,UAAK,GAAG,IAAI,CAAC;QAEb,mBAAc,GAAG,KAAK,CAAC;QACvB,eAAU,GAAG,EAAE,CAAC;QAEhB,gBAAW,GAAG,KAAK,CAAC;QAGpB,cAAS,GAAG,KAAK,CAAC;QAClB,kBAAa,GAAG,KAAK,CAAC;QA0BtB,mBAAc,GAAY,KAAK,CAAC;QAM9B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACvD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAChE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAC3D,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAClE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAChE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAClE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QACtE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAChE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACtD,CAAC;IAED,oCAAQ,GAAR;QACE,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,KAAK,GAAG,EAAE;YAC3C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC;SACxC;aACI;YACH,wBAAwB;YACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;SAC9C;QACD,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,KAAK,UAAU,EAAlD,CAAkD,CAAC,CAAC;QACzF,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;SAC1C;QACD,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC5B,CAAC;IAED,wCAAY,GAAZ;QACE,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,6CAAiB,GAAjB;QAAA,iBAKC;QAJC,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,iBAAO;YACnD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iDAAqB,GAArB;QAAA,iBAkBC;QAjBC,IAAI,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,SAAS,CAAC,mBAAS;YAC5D,KAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;YAC7D,KAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,eAAK;gBACzD,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;gBAChD,IAAI,KAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,KAAK,GAAG,EAAE;oBAC3C,IAAI,KAAK,GAAG,KAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,KAAI,CAAC,SAAS,EAA3B,CAA2B,CAAC,CAAC;oBACjF,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;wBACpB,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;wBACjC,IAAI,QAAQ,GAAG,KAAI,CAAC,aAAa,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,KAAI,CAAC,SAAS,EAA3B,CAA2B,CAAC,CAAC;wBAC3E,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;4BACvB,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;yBACzD;qBAEF;iBACF;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mCAAO,GAAP;QAAA,iBAmBC;QAlBC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC1D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;YACxB,IAAI,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,KAAI,CAAC,UAAU,EAA5B,CAA4B,CAAC,CAAC;YACvE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;gBACrB,KAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YAE1C,IAAI,KAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,GAAG,IAAI,KAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,GAAG,EAAE;gBAC5E,IAAI,IAAI,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,KAAI,CAAC,UAAU,EAA5B,CAA4B,CAAC,CAAC;gBACnE,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,KAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBAC7B,2GAA2G;gBAC3G,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC,CAAC,KAAI,CAAC,cAAc,GAAG,KAAK;aACvE;iBAAM;gBACL,KAAI,CAAC,MAAM,GAAG,GAAG,CAAC;gBAClB,KAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;aACzB;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sCAAU,GAAV;QAAA,iBAsDC;QArDC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC;QACpC,IAAI,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CACzC,UAAC,IAAI;YACH,OAAO,CACL,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,KAAI,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACnI,CAAC,IAAI,CAAC,oBAAoB,KAAK,IAAI,IAAI,KAAI,CAAC,UAAU,IAAI,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACrJ,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,KAAI,CAAC,UAAU,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACrI,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,KAAI,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC3H,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC7H,CAAC,IAAI,CAAC,cAAc,KAAK,IAAI,IAAI,KAAI,CAAC,UAAU,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzI,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAC9H,CAAC;QACJ,CAAC,CAEF,CAAC;QACF,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,EAAE;YACjC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE,EAAE;YAC1B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC;YACpC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;YACzC,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE;gBACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;aAC1C;YACD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAC7C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAI,IAAI,CAAC,aAAa,EAAE;gBAEtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aACzC;YACD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC;YACpC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE;gBACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;aAC1C;YACD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAC7C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YACxC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;gBACnC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE;oBAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aAC3C;SACF;IACH,CAAC;IAED,uCAAW,GAAX;QAAA,iBA+CC;QA9CC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC9D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,YAAY,GAAG,OAAO,CAAC;YAC5B,IAAI,KAAI,CAAC,UAAU,KAAK,IAAI,IAAI,KAAI,CAAC,UAAU,KAAK,SAAS,EAAE;gBAC7D,KAAI,CAAC,UAAU,GAAG,GAAG,CAAC;aACvB;YACD,IAAI,KAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;gBAClC,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;gBAC5B,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;aAC3B;iBACI;gBACH,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC3B,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,4GAA4G;gBAC5G,IAAI,KAAI,CAAC,eAAe,EAAE;oBACxB,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,mFAAkB,CAAC,UAAU,EAAE;wBAC9E,KAAI,CAAC,YAAY,GAAG,+CAAI,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,KAAK,KAAI,CAAC,eAAe,CAAC,YAAY,EAApD,CAAoD,CAAC,CAAC,CAAC;qBAC9G;yBACI,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,mFAAkB,CAAC,IAAI,EAAE;wBAC7E,KAAI,CAAC,YAAY,GAAG,+CAAI,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,KAAI,CAAC,eAAe,CAAC,MAAM,EAAxC,CAAwC,CAAC,CAAC,CAAC;qBAClG;iBACF;gBACD,4GAA4G;gBAC5G,4BAA4B;gBAC5B,GAAG;gBACH,SAAS;gBACT,8EAA8E;gBAC9E,8BAA8B;gBAC9B,IAAI;gBACJ,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,YAAY,CAAC,CAAC,CAAC;gBAChE,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC;gBACxB,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;gBACtB,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC;gBACzC,OAAO,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,EAAE;oBACvC,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC;oBAC1C,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;iBAC1C;gBACD,IAAI,CAAC,KAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAI,CAAC,QAAQ,CAAC;oBAAE,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC;gBACxF,IAAI,KAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;oBACnC,IAAI,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE;wBAC7B,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;iBAC3C;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wCAAY,GAAZ;QACE,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QAC5D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;YAC9C,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YAC3C,OAAO,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC;YAC/D,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;YACrD,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YACtC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YAEtC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;YACnC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;YACzC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC1B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;YACpC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;YACnC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;YACpC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC1B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;YAClC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;YAClC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;YAClC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;YACpC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;YAClC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;YACrC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;YACrC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;YACtC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;YACnC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;YAClC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;YACnC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;YAClC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC1B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACzB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC1B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACxB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;SAC/B;QAED,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,GAAG,WAAW,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,WAAW,GAAG,IAAI,CAAC,gBAAgB,EAAE,EAAE,EAAE,iBAAiB,EAAE,0DAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAC9R,CAAC;IAED,gCAAI,GAAJ,UAAK,QAAQ;QACX,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,0BAA0B;QACtD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,oCAAQ,GAAR;QAAA,iBA2BC;QA1BC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC3D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,SAAS,GAAG,OAAO,CAAC;YACzB,IAAI,SAAS,GAAG,KAAI,CAAC,SAAS,CAAC;YAC/B,KAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,cAAI;gBAC/E,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;gBAC1B,IAAI,IAAI,GAAG,+CAAI,KAAI,CAAC,QAAQ,CAAC,CAAC;gBAC9B,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;oBACnB,KAAI,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,SAAS,CAAC,iBAAO;wBAC1D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;wBACvC,KAAI,CAAC,cAAc,GAAG,OAAO,CAAC;wBAC9B,IAAI,UAAU,GAAG,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAA3B,CAA2B,CAAC,CAAC;wBAC9E,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;4BACzB,IAAI,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,EAAhC,CAAgC,CAAC,CAAC;4BACpE,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;4BACvB,IAAI,KAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,KAAK,GAAG,IAAI,CAAC,KAAI,CAAC,eAAe,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,mFAAkB,CAAC,OAAO,CAAC,EAAE;gCAChJ,IAAI,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,KAAI,CAAC,eAAe,EAAjC,CAAiC,CAAC,CAAC;gCACrE,KAAI,CAAC,SAAS,GAAG,SAAS,CAAC;gCAC3B,KAAI,CAAC,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,KAAI,CAAC,SAAS,EAA3B,CAA2B,CAAC,CAAC;6BACrE;yBACF;oBACH,CAAC,CAAC,CAAC;iBACJ;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iDAAqB,GAArB;QAAA,iBAKC;QAJC,IAAI,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,SAAS,CAAC,iBAAO;YAC1D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB;IACrB,+DAA+D;IAC/D,8CAA8C;IAC9C,sCAAsC;IACtC,QAAQ;IACR,IAAI;IAEJ,oBAAoB;IACpB,8DAA8D;IAC9D,8CAA8C;IAC9C,qCAAqC;IACrC,QAAQ;IACR,IAAI;IAEJ,sCAAU,GAAV,UAAW,GAAW;QAAtB,iBAoHC;QAnHC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE;YAC1D,UAAU,EAAE,yBAAyB;YACrC,IAAI,EAAE,GAAG,GAAG,KAAK,GAAG,KAAK;SAC1B,CAAC,CAAC;QAEH,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC;QAC9D,SAAS,CAAC,iBAAiB,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QACnE,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3D,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3D,SAAS,CAAC,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACjD,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3D,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3D,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACrD,SAAS,CAAC,iBAAiB,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QACjE,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3D,SAAS,CAAC,iBAAiB,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;QACzE,IAAI,GAAG,KAAK,MAAM,EAAE;YAClB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YACvD,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YAC7D,SAAS,CAAC,iBAAiB,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YAC/C,SAAS,CAAC,iBAAiB,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YAC/C,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YACrD,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YACrD,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;SAC1D;QACD,IAAI,GAAG,KAAK,KAAK,EAAE;YACjB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB;QACD,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3D,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACvD,qEAAqE;QACrE,mEAAmE;QACnE,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACvD,SAAS,CAAC,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACjD,SAAS,CAAC,iBAAiB,CAAC,GAAG,GAAG,IAAI,CAAC;QACvC,SAAS,CAAC,iBAAiB,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QACjE,SAAS,CAAC,iBAAiB,CAAC,GAAG,GAAG,IAAI,CAAC;QACvC,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACrD,SAAS,CAAC,iBAAiB,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAEzE,IAAI,GAAG,KAAK,MAAM,EAAE;YAClB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,SAAS,CAAC,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACjD,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YACvD,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YACrD,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YACrD,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YACrD,SAAS,CAAC,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACjD,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YAC3D,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YAC7D,SAAS,CAAC,iBAAiB,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YAC/C,SAAS,CAAC,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACjD,SAAS,CAAC,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACjD,SAAS,CAAC,iBAAiB,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YAC/D,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YAC7D,SAAS,CAAC,iBAAiB,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YAC/C,SAAS,CAAC,iBAAiB,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;YACzE,+GAA+G;YAC/G,sDAAsD;YACtD,MAAM;YAEN,IAAI,IAAI,CAAC,GAAG;gBACV,SAAS,CAAC,iBAAiB,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;;gBAClD,SAAS,CAAC,iBAAiB,CAAC,GAAG,GAAG,IAAI,CAAC;YAC5C,IAAI,IAAI,CAAC,GAAG;gBACV,SAAS,CAAC,iBAAiB,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;;gBAClD,SAAS,CAAC,iBAAiB,CAAC,GAAG,GAAG,IAAI,CAAC;YAC5C,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YACzD,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;SACxD;QAED,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;YACtC,IAAI,KAAI,CAAC,UAAU,KAAK,EAAE,IAAI,KAAI,CAAC,UAAU,KAAK,SAAS,EAAE;gBAC3D,KAAI,CAAC,UAAU,EAAE,CAAC;aACnB;iBACI;gBAEH,KAAI,CAAC,WAAW,EAAE,CAAC;aACpB;YACD,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE;gBAC1C,IAAI,SAAS,GAAG,EAAE,CAAC;gBACnB,IAAI,GAAG,KAAK,KAAK,EAAE;oBACjB,SAAS,GAAG,oBAAoB,CAAC;iBAClC;qBAAM;oBACL,SAAS,GAAG,sBAAsB,CAAC;iBACpC;gBAED,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;gBACtB,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC;gBACxB,IAAM,YAAY,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE;oBAC7D,UAAU,EAAE,yBAAyB;oBACrC,IAAI,EAAE,SAAS,GAAG,KAAK,GAAG,KAAK;iBAChC,CAAC,CAAC;gBAEH,UAAU,CAAC;oBACT,KAAI,CAAC,WAAW,EAAE,CAAC;oBACnB,KAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,CAAC,EAAE,GAAG,CAAC,CAAC;gBACR,YAAY,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,iBAAO;oBAC1C,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;oBACvB,IAAI,KAAI,CAAC,UAAU,KAAK,EAAE,IAAI,KAAI,CAAC,UAAU,KAAK,SAAS,EAAE;wBAC3D,KAAI,CAAC,UAAU,EAAE,CAAC;qBACnB;yBACI;wBACH,KAAI,CAAC,WAAW,EAAE,CAAC;wBACnB,KAAI,CAAC,QAAQ,EAAE,CAAC;qBACjB;gBACH,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oCAAQ,GAAR;QAAA,iBAIC;QAHC,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,cAAI;YAC/E,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mCAAO,GAAP,UAAQ,OAAO;QAAf,iBAuBC;QAtBC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;QACxC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,KAAK,KAAI,CAAC,UAAU,EAAhC,CAAgC,CAAC,CAAC;QAC7E,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YACpD,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YACnC,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YACvC,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;SACxC;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;SACpB;QACD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAE1B,CAAC;IACD,wCAAY,GAAZ,UAAa,IAAI;QAAjB,iBA6BC;QA5BC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QACxC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC;QAC1B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC;QACtC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACpD,IAAI,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,KAAI,CAAC,SAAS,IAAI,CAAC,CAAC,UAAU,KAAK,KAAI,CAAC,UAAU,IAAI,CAAC,CAAC,KAAK,KAAK,KAAI,CAAC,KAAK,EAA5F,CAA4F,CAAC,CAAC;QACxI,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YAClD,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YACtC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACxC,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YACtC,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YACtC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;SACnC;aACI;YACH,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;YACpB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YACnB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;SAClB;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED,oCAAQ,GAAR;QACE,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;YAC/C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;SACvC;IACH,CAAC;IAED,0CAAc,GAAd,UAAe,OAAO;QAAtB,iBAmBC;QAlBC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE;YAC1D,IAAI,EAAE,4CAA4C,GAAG,OAAO,CAAC,WAAW,GAAG,MAAM,GAAG,IAAI;SACzF,CAAC,CAAC;QACH,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;YACtC,IAAI,MAAM,EAAE;gBACV,KAAI,CAAC,aAAa,CAAC,cAAc,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,cAAI;oBAC/D,IAAI,IAAI,CAAC,EAAE,EAAE;wBACX,KAAI,CAAC,QAAQ,EAAE,CAAC;wBAChB,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;wBACvB,KAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;qBACzC;oBACD,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;oBACtB,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC;oBACxB,KAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;gBA1jBkC,6DAAa;gBAC/B,kEAAS;gBACG,8EAAiB;gBAC3B,kEAAmB;;IAzE3B,iBAAiB;QAL7B,+DAAS,CAAC;YACT,QAAQ,EAAE,cAAc;YACxB,0JAAwC;YACxC,SAAS,EAAE,CAAC,6DAAa,CAAC;SAC3B,CAAC;OACW,iBAAiB,CAioB7B;IAAD,wBAAC;CAAA;AAjoB6B;AAyoB9B;IA+CE,iCACS,SAAgD,EACvB,IAAS,EAClC,aAA4B,EAC3B,iBAAoC,EACpC,QAAkB,EAClB,OAA4B;QAL7B,cAAS,GAAT,SAAS,CAAuC;QACvB,SAAI,GAAJ,IAAI,CAAK;QAClC,kBAAa,GAAb,aAAa,CAAe;QAC3B,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,aAAQ,GAAR,QAAQ,CAAU;QAClB,YAAO,GAAP,OAAO,CAAqB;QAhDtC,gBAAW,GAAG,KAAK,CAAC;QAQpB,QAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACjB,QAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QAMjB,aAAQ,GAAG,EAAE,CAAC;QAKd,uBAAuB;QACvB,sBAAsB;QACtB,cAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,cAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,YAAO,GAAG,IAAI,IAAI,EAAE,CAAC;QASrB,gBAAW,GAAG,KAAK,CAAC;QACpB,2BAAsB,GAAa,CAAC,mFAAkB,CAAC,OAAO,EAAE,mFAAkB,CAAC,UAAU,EAAE,mFAAkB,CAAC,IAAI,CAAC,CAAC;QACxH,uBAAkB,GAAW,IAAI,CAAC;QAClC,mBAAc,GAAsB,EAAE,CAAC;QACvC,iBAAY,GAAW,CAAC,CAAC;QACzB,uBAAkB,GAAG,mFAAkB,CAAC;QACxC,aAAQ,GAAe,EAAE,CAAC;QAUxB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE;YAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,IAAI,CAAC,IAAI,IAAI,KAAK,EAAE;YACtB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;YAChB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;SACjB;IACH,CAAC;IAED,0CAAQ,GAAR;QAAA,iBA0BC;QAzBC,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,cAAI;gBAC1E,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;oBACxB,KAAI,CAAC,sBAAsB,EAAE,CAAC;oBAC9B,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC;oBAChC,IAAI,KAAI,CAAC,eAAe,EAAE;wBACxB,2GAA2G;wBAC3G,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,mFAAkB,CAAC,UAAU,EAAE;4BAC9E,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,KAAK,KAAI,CAAC,eAAe,CAAC,YAAY,EAApD,CAAoD,CAAC,CAAC;4BAC5G,KAAI,CAAC,sBAAsB,GAAG,CAAC,mFAAkB,CAAC,IAAI,CAAC,CAAC;yBACzD;6BACI,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,mFAAkB,CAAC,IAAI,EAAE;4BAC7E,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,KAAI,CAAC,eAAe,CAAC,MAAM,EAAxC,CAAwC,CAAC,CAAC;4BACpF,KAAI,CAAC,sBAAsB,GAAG,CAAC,mFAAkB,CAAC,IAAI,CAAC,CAAC;yBACzD;6BACI;4BACH,KAAI,CAAC,sBAAsB,GAAG,CAAC,mFAAkB,CAAC,UAAU,EAAE,mFAAkB,CAAC,IAAI,CAAC,CAAC;yBAGxF;qBACF;iBACF;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,kDAAgB,GAAhB;QACE,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE;YACvB,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;YAClB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;SACvB;QACD,IAAI,IAAI,CAAC,kBAAkB,IAAI,mFAAkB,CAAC,OAAO,EAAE;YACzD,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;SACnB;aACI,IAAI,IAAI,CAAC,kBAAkB,IAAI,mFAAkB,CAAC,UAAU,EAAE;YACjE,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;SACnB;IACH,CAAC;IAED,kDAAgB,GAAhB;QACE,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAChC,CAAC;IAED,wDAAsB,GAAtB;QAAA,iBAQC;QAPC,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,SAAS,EAAE;YACvC,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,cAAI;gBACrG,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;oBACxB,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;iBAC3B;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,4CAAU,GAAV;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IACD,2CAAS,GAAT;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,0CAAQ,GAAR;QACE,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAM,SAAS,GAAG,CAAC,CAAC;QACpB,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC5H,IAAI,CAAC,QAAQ,GAAG,kCAAkC,CAAC;YACnD,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE;aAExB;YACD,KAAK,EAAE,CAAC;SACT;QAED,IAAI,KAAK,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YACnB,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE;gBAGvB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACnC;iBAAM;gBACL,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACnC;SACF;IACH,CAAC;IAGD,mDAAiB,GAAjB,UAAkB,GAAW;QAA7B,iBAwCC;QAvCC,IAAM,IAAI,GAAG;YACX,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,aAAa,EAAE,IAAI,CAAC,WAAW;YAC/B,IAAI,EAAE,IAAI,CAAC,YAAY;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,KAAK;YAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,aAAa,EAAE,IAAI,CAAC,WAAW;YAC/B,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB;QAGD,IAAI,GAAG,KAAK,KAAK,EAAE;YACjB,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,cAAI;gBAE9C,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,GAAG,EAAE;oBAEpC,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;iBAC5B;qBAAM;oBACL,KAAI,CAAC,QAAQ,GAAG,aAAa,CAAC;iBAC/B;YAEH,CAAC,CAAC,CAAC;SACJ;aAAM;YAEL,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,cAAI;gBAE9C,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,GAAG,EAAE;oBAEpC,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;iBAC5B;qBAAM;oBACL,KAAI,CAAC,QAAQ,GAAG,sBAAsB,CAAC;iBACxC;YACH,CAAC,CAAC,CAAC;SACJ;IAEH,CAAC;IAED,6CAAW,GAAX;QAAA,iBAgDC;QA/CC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,UAAU,CAAC;YACT,KAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAC3B,CAAC,EAAE,IAAI,CAAC,CAAC;QACT,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAM,SAAS,GAAG,CAAC,CAAC;QACpB,IAAI,IAAI,CAAC,SAAS,IAAI,SAAS;YAC7B,IAAI,CAAC,QAAQ,KAAK,SAAS;YAC3B,IAAI,CAAC,QAAQ,KAAK,SAAS;YAC3B,IAAI,CAAC,MAAM,KAAK,SAAS;YACzB,CAAC,IAAI,CAAC,kBAAkB;YACxB,IAAI,CAAC,KAAK,KAAK,SAAS;YACxB,IAAI,CAAC,QAAQ,KAAK,SAAS;YAC3B,IAAI,CAAC,MAAM,KAAK,EAAE;YAClB,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE;YAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE;YAC3B,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE;YAC3B,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE;YACxB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC7B,IAAI,CAAC,QAAQ,GAAG,kCAAkC,CAAC;YACnD,KAAK,EAAE,CAAC;SACT;QACD,IAAI,IAAI,CAAC,kBAAkB,KAAK,IAAI,CAAC,kBAAkB,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACxF,IAAI,CAAC,QAAQ,GAAG,kCAAkC,CAAC;YACnD,OAAO;SACR;QAED,IAAI,IAAI,CAAC,kBAAkB,KAAK,IAAI,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACrG,IAAI,CAAC,QAAQ,GAAG,kCAAkC,CAAC;YACnD,OAAO;SACR;QACD,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,UAAU,GAAG,+CAA+C,CAAC;YACjE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE;gBACjC,IAAI,CAAC,QAAQ,GAAG,0BAA0B,CAAC;gBAC3C,OAAO;aACR;SACF;QAED,IAAI,KAAK,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YACnB,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE;gBACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACxB;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACxB;SACF;IACH,CAAC;IAED,iDAAe,GAAf;QAAA,iBAKC;QAJC,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,iBAAO;YACjD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,YAAY,GAAG,OAAO,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wCAAM,GAAN,UAAO,GAAW;QAAlB,iBA+DC;QA9DC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;SACnB;QACD,IAAI,GAAG,KAAK,KAAK,EAAE;YACjB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;SACtB;QACD,IAAM,IAAI,GAAG;YACX,YAAY,EAAE,IAAI,CAAC,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ;YAClD,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,KAAK;YACnB,aAAa,EAAE,IAAI,CAAC,WAAW;YAC/B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS,EAAE,IAAI,CAAC,WAAW;YAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,SAAS,EAAE,IAAI,CAAC,WAAW;YAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,aAAa,EAAE,IAAI,CAAC,WAAW;YAC/B,aAAa,EAAE,IAAI,CAAC,WAAW;YAC/B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;SAC5C,CAAC;QAGF,IAAI,GAAG,KAAK,KAAK,EAAE;YACjB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,IAAI,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,KAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAA5F,CAA4F,CAAC,CAAC;YAC5I,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;gBACxB,IAAI,CAAC,QAAQ,GAAG,wBAAwB,CAAC;gBACzC,OAAO;aACR;YACD,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,cAAI;gBAClD,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE;oBACvC,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;iBAC5B;qBAAM;oBACL,KAAI,CAAC,QAAQ,GAAG,aAAa,CAAC;iBAC/B;YACH,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;gBACpD,IAAI,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,KAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAA5F,CAA4F,CAAC,CAAC;gBAC5I,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;oBACxB,IAAI,CAAC,QAAQ,GAAG,wBAAwB,CAAC;oBACzC,OAAO;iBACR;aACF;YACD,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,cAAI;gBAClD,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE;oBACvC,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;iBAC5B;qBAAM;oBACL,KAAI,CAAC,QAAQ,GAAG,sBAAsB,CAAC;iBAExC;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,uCAAK,GAAL;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IACD,yCAAO,GAAP,UAAQ,KAAK;QACX,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC;IAC/B,CAAC;IAED,sCAAI,GAAJ,UAAK,KAAK;QACR,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;IAC5B,CAAC;IAED,6CAAW,GAAX,UAAY,KAAK;QACf,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC;IACnC,CAAC;IAED,qCAAG,GAAH,UAAI,IAAY,EAAE,KAAoC;QACpD,IAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;QAChB,IAAI,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QAClE,IAAI,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC;IACnC,CAAC;IAED,qCAAG,GAAH,UAAI,IAAY,EAAE,KAAoC;QACpD,IAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;QAChB,IAAI,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QAClE,IAAI,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC;QACjC,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QAClC,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAChC,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;IAChC,CAAC;IAED,yCAAO,GAAP,UAAQ,GAAG;QACT,IAAI,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;QACpD,IAAI,CAAC,OAAO,GAAG,EAAE,IAAI,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,IAAI,OAAO,GAAG,GAAG,CAAC,IAAI,OAAO,IAAI,EAAE;YACpF,OAAO,KAAK,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAED,4CAAU,GAAV,UAAW,KAAU;QACnB;QACE,+CAA+C;QAC/C,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAChD,CAAC,KAAK,CAAC,OAAO,KAAK,EAAE,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,gBAAgB;YACpE,CAAC,KAAK,CAAC,OAAO,KAAK,EAAE,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,gBAAgB;YACpE,CAAC,KAAK,CAAC,OAAO,KAAK,EAAE,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,gBAAgB;YACpE,CAAC,KAAK,CAAC,OAAO,KAAK,EAAE,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,gBAAgB;YACpE,CAAC,KAAK,CAAC,OAAO,KAAK,EAAE,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,cAAc;YAClE,CAAC,KAAK,CAAC,OAAO,KAAK,EAAE,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,cAAc;YAClE,CAAC,KAAK,CAAC,OAAO,KAAK,EAAE,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,cAAc;YAClE,CAAC,KAAK,CAAC,OAAO,KAAK,EAAE,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,cAAc;YAClE,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAE,yBAAyB;UACvE;YACA,OAAO;SACR;QAED,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,IAAI,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,IAAI,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC,EAAE;YACjH,KAAK,CAAC,cAAc,EAAE,CAAC;SACxB;IACH,CAAC;IAED,+CAAa,GAAb,UAAc,KAAU;QACtB,IAAI,EAAE,GAAG,yJAAyJ,CAAC;QACnK,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE,EAAE;YACjD,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE;gBACvB,KAAK,CAAC,cAAc,EAAE,CAAC;aACxB;SACF;IACH,CAAC;IAED,0CAAQ,GAAR,UAAS,QAAwB;QAC/B,IAAI,QAAQ,GAAmB,QAAQ,CAAC,MAAM,CAAC;IACjD,CAAC;IAGD,sCAAI,GAAJ,UAAK,KAAK;QACR,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;IAC5B,CAAC;IAED,6CAAW,GAAX,UAAY,KAAU;QAAtB,iBAcC;QAbC,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,iBAAO;YACjD,6CAA6C;YAC7C,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,YAAY,GAAG,OAAO,CAAC;QAC9B,CAAC,CAAC,CAAC;QACH,IAAI,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,KAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAA5F,CAA4F,CAAC,CAAC;QAC5I,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YACxB,IAAI,CAAC,QAAQ,GAAG,wBAAwB,CAAC;YACzC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAChB,UAAU,CAAC;gBACT,KAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YACrB,CAAC,EAAE,IAAI,CAAC,CAAC;SACV;IACH,CAAC;IAED,yCAAO,GAAP;QAAA,iBAWC;QAVC,IAAI,EAAE,GAAG,8BAA8B,CAAC;QACxC,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;gBACzB,IAAI,CAAC,QAAQ,GAAG,sBAAsB,CAAC;gBACvC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBAChB,UAAU,CAAC;oBACT,KAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;gBACrB,CAAC,EAAE,IAAI,CAAC,CAAC;aACV;SACF;IACH,CAAC;;gBA3XmB,qEAAY;gDAC7B,oDAAM,SAAC,wEAAe;gBACD,6DAAa;gBACR,8EAAiB;gBAC1B,wDAAQ;gBACT,kEAAmB;;IArD3B,uBAAuB;QANnC,+DAAS,CAAC;YACT,QAAQ,EAAE,YAAY;YACtB,kIAA0B;YAC1B,6BAA6B;YAC7B,SAAS,EAAE,CAAC,6DAAa,EAAE,wDAAQ,CAAC;SACrC,CAAC;QAkDG,6GAAM,CAAC,wEAAe,CAAC;OAjDf,uBAAuB,CA4anC;IAAD,8BAAC;CAAA;AA5amC;;;;;;;;;;;;;;;;;;;;;;AC1pBc;AACA;AAEG;AACmB;AACzB;AAM/C;IAiCE,sCAAoB,aAA4B,EAAU,OAA4B;QAAlE,kBAAa,GAAb,aAAa,CAAe;QAAU,YAAO,GAAP,OAAO,CAAqB;QAhCtF,cAAS,GAAW,0DAAS,CAAC;QAI9B,WAAM,GAAY,KAAK,CAAC;QACxB,WAAM,GAAG,EAAE,CAAC;QAEZ,UAAK,GAAG,IAAI,CAAC;QACb,MAAC,GAAW,CAAC,CAAC;QACd,eAAU,GAAG,EAAE,CAAC;QAChB,kBAAa,GAAG,EAAE,CAAC;QAEnB,gBAAW,GAAG,EAAE,CAAC;QACjB,kBAAa,GAAG,KAAK,CAAC;QACtB,gBAAW,GAAG,EAAE,CAAC;QACjB,oBAAe,GAAG,EAAE,CAAC;QACrB,aAAQ,GAAG,EAAE,CAAC;QACd,eAAU,GAAG,EAAE,CAAC;QAEhB,cAAS,GAAG,KAAK,CAAC;QAClB,kBAAa,GAAG,KAAK,CAAC;QAMtB,eAAU,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,aAAQ,GAAG,EAAE,CAAC;IAK4E,CAAC;IAE3F,+CAAQ,GAAR;QACE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAC7D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACtD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAChE,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAChC,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;YAClD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;SAC3C;aACI;YACH,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;YACtB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;SACjB;QACD,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7C,CAAC;IAED,wDAAiB,GAAjB,UAAkB,KAAK;QAAvB,iBAQC;QAPC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1B,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,KAAI,CAAC,MAAM,EAAxB,CAAwB,CAAC;QAC/D,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;SACnC;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,8CAAO,GAAP;QAAA,iBAyBC;QAxBC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC1D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,aAAa,CAAC,wBAAwB,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;gBAC3E,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;gBACvC,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC;gBAC3B,KAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;gBACxB,IAAI,KAAI,CAAC,eAAe,EAAE;oBACxB,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,mFAAkB,CAAC,UAAU,EAAE;wBAC9E,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,KAAK,KAAI,CAAC,eAAe,CAAC,YAAY,EAAtD,CAAsD,CAAC,CAAC;qBACrG;yBACI,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,mFAAkB,CAAC,IAAI,EAAE;wBAC7E,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,KAAK,KAAI,CAAC,eAAe,CAAC,YAAY,IAAI,GAAG,CAAC,MAAM,IAAI,KAAI,CAAC,eAAe,CAAC,MAAM,EAAnG,CAAmG,CAAC,CAAC;wBACjJ,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;wBACtC,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;qBAC3C;iBACF;gBACD,IAAI,KAAI,CAAC,MAAM,IAAI,CAAC,EAAE;oBACpB,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,iBAAO,IAAI,YAAI,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAO,IAAI,cAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAhC,CAAgC,CAAC,EAAlE,CAAkE,CAAC,CAAC;iBACrH;gBACD,IAAI,KAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAI,CAAC,MAAM,EAAE;oBAAE,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;iBAAE;gBAC1H,KAAI,CAAC,eAAe,EAAE,CAAC;YACzB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sDAAe,GAAf;QAAA,iBAiEC;QAhEC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC;YAClB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,iBAAO,IAAI,YAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAO,IAAI,cAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAhC,CAAgC,CAAC,EAA/D,CAA+D,CAAC,CAAC;aACnH;YACH,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,iBAAO,IAAI,cAAO,CAAC,MAAM,IAAI,KAAI,CAAC,MAAM,EAA7B,CAA6B,CAAC,CAAC;SACrF;QACD,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC/C,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;gBACtB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;gBAC1B,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,EAAE;oBAEvC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACzD,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;wBAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BAEhD,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gCAChD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;6BAChD;yBACF;qBACF;iBACF;gBACD,IAAI,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;oBAE1C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;wBACjB,SAAS,EAAE,IAAI,CAAC,eAAe;wBAC/B,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,oBAAoB;wBAC/C,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM;wBACnC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ;qBACxC,CAAC,CAAC;iBACJ;aACF;SACF;aACI;YACH,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;YAChC,OAAO;SACR;QACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC;QAChC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;SACjC;aACI;YACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YACrC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE;gBACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;aAC1C;YACD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACxF,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;gBACjC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE;oBAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aAC3C;SACF;IACH,CAAC;IAED,+DAAwB,GAAxB;QAAA,iBAOC;QANC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,aAAa,CAAC,wBAAwB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC3E,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,iDAAU,GAAV;QAAA,iBA6DC;QA5DC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAC5D,IAAI,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CACpC,UAAC,IAAI;YACH,OAAO,CACL,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACjG,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzG,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAC3C,UAAC,EAAE;oBACD,OAAO,CACL,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAClF;gBACH,CAAC,CACF,CACA,CACA,CAAC,MAAM,CACT;QACH,CAAC,CAAC,CAAC;QACL,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;QAC5B,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE;YAC7B,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;YAChC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,OAAO;SACR;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE,EAAE;YAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC;YAChC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YACrC,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE;gBACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;aAC1C;YACD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAC7C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAI,IAAI,CAAC,aAAa,EAAE;gBAEtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aACzC;YACD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC;YACnC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE;gBACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;aAC1C;YACD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAC/C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvC,IAAI,IAAI,CAAC,aAAa;oBACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aAC3C;YAED,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;gBACnC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE;oBAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aAC3C;SACF;IACH,CAAC;IAGD,2CAAI,GAAJ,UAAK,QAAQ;QACX,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,0BAA0B;QACtD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IACD,mDAAY,GAAZ;QACE,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YACtC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACzC,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,IAAI,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YAC9B,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAC,EAAE,EAAE;gBACpC,OAAO,GAAG,OAAO,GAAG,IAAI,CAAC,GAAC,CAAC,GAAG,IAAI,CAAC;aACpC;YACD,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC;YAC7B,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACvB,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YAC1B,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC3B,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;SAC1B;QACD,IAAI,IAAS,CAAC;QACd,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;SACtB;aACI;YACH,IAAI,GAAG,kBAAkB,CAAC;SAC3B;QACD,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,GAAG,2BAA2B,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,0BAA0B,EAAE,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,GAAG,IAAI,EAAE,iCAAiC,EAAE,0DAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IACjV,CAAC;;gBAtOkC,6DAAa;gBAAmB,kEAAmB;;IAjC3E,4BAA4B;QAJxC,+DAAS,CAAC;YACT,QAAQ,EAAE,0BAA0B;YACpC,8LAAoD;SACrD,CAAC;OACW,4BAA4B,CAwQxC;IAAD,mCAAC;CAAA;AAxQwC;;;;;;;;;;;;;;;;;;;;;;ACXS;AACA;AACG;AACmB;AACzB;AAO/C;IA+BE,qCAAmB,aAA4B,EAAU,OAA4B;QAAlE,kBAAa,GAAb,aAAa,CAAe;QAAU,YAAO,GAAP,OAAO,CAAqB;QA9BrF,cAAS,GAAW,0DAAS,CAAC;QAG9B,WAAM,GAAY,KAAK,CAAC;QACxB,WAAM,GAAG,EAAE,CAAC;QAEZ,UAAK,GAAG,IAAI,CAAC;QACb,MAAC,GAAW,CAAC,CAAC;QACd,eAAU,GAAG,EAAE,CAAC;QAChB,kBAAa,GAAG,EAAE,CAAC;QAEnB,gBAAW,GAAG,EAAE,CAAC;QACjB,kBAAa,GAAG,KAAK,CAAC;QACtB,eAAU,GAAG,EAAE,CAAC;QAEhB,cAAS,GAAG,KAAK,CAAC;QAClB,kBAAa,GAAG,KAAK,CAAC;QAItB,eAAU,GAAG,EAAE,CAAC;QAGhB,aAAQ,GAAG,EAAE,CAAC;QAGd,eAAU,GAAG,IAAI,IAAI,EAAE,CAAC;QAKtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACtD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAC7D,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAChE,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,GAAG,EAAE;SAEvC;aACI;YACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;SAC/C;IACH,CAAC;IAED,8CAAQ,GAAR;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAC3C,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;YAClD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;SAC3C;aACI;YACH,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;YACtB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;SACjB;IACH,CAAC;IAED,uDAAiB,GAAjB,UAAkB,KAAK;QAAvB,iBAQC;QAPC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1B,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,KAAI,CAAC,MAAM,EAAxB,CAAwB,CAAC;QAC/D,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;SACnC;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,6CAAO,GAAP;QAAA,iBA6BC;QA3BC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC1D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YAEvC,KAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;gBACpE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;gBACvC,KAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC;gBAClC,KAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;gBAExB,IAAI,KAAI,CAAC,eAAe,EAAE;oBACxB,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,mFAAkB,CAAC,UAAU,EAAE;wBAC9E,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,KAAK,KAAI,CAAC,eAAe,CAAC,YAAY,EAAtD,CAAsD,CAAC,CAAC;qBAErG;yBACI,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,mFAAkB,CAAC,IAAI,EAAE;wBAC7E,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,KAAK,KAAI,CAAC,eAAe,CAAC,YAAY,IAAI,GAAG,CAAC,MAAM,IAAI,KAAI,CAAC,eAAe,CAAC,MAAM,EAAnG,CAAmG,CAAC,CAAC;wBACjJ,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;wBACtC,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;qBAC3C;iBACF;gBACD,IAAI,KAAI,CAAC,MAAM,IAAI,CAAC,EAAE;oBACpB,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,iBAAO,IAAI,YAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,iBAAO,IAAI,cAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAhC,CAAgC,CAAC,EAAzE,CAAyE,CAAC,CAAC;iBAC5H;gBACD,IAAI,KAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAI,CAAC,MAAM,EAAE;oBAAE,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;iBAAE;gBAC1H,KAAI,CAAC,eAAe,EAAE,CAAC;YACzB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IACD,qDAAe,GAAf;QAAA,iBAsCC;QApCC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YACpE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC;YAClC,IAAI,KAAI,CAAC,MAAM,IAAI,CAAC;gBAClB,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,iBAAO,IAAI,YAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAO,IAAI,cAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAhC,CAAgC,CAAC,EAA/D,CAA+D,CAAC,CAAC;iBAC1H;gBACH,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,iBAAO,IAAI,cAAO,CAAC,MAAM,IAAI,KAAI,CAAC,MAAM,EAA7B,CAA6B,CAAC,CAAC;aAC5F;YAED,IAAI,KAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;gBAChC,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;aAC3B;iBACI;gBACH,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;gBACtB,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC;gBACxB,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC,CAAC;gBAE9D,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,UAAU,CAAC,MAAM,CAAC;gBACvC,OAAO,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,EAAE;oBACvC,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC;oBAC1C,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;iBAC1C;gBACD,IAAI,CAAC,KAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAI,CAAC,QAAQ,CAAC;oBAC7C,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC;gBACzC,IAAI,KAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;oBACjC,IAAI,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE;wBAC7B,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;iBAC3C;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,uDAAiB,GAAjB;QAAA,iBAOC;QALC,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YACpE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC;QAEpC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gDAAU,GAAV;QAAA,iBAyDC;QAxDC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,sBAAsB,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CACjD,UAAC,IAAI;YACH,OAAO,CACL,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChH,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChH,CAAC,IAAI,CAAC,kBAAkB,KAAK,IAAI,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC9H,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAC3G,CAAC;QACJ,CAAC,CAEF,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,sBAAsB,CAAC;QACzC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE;YAC/B,sBAAsB;YACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE,EAAE;YAC1B,2BAA2B;YAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YAClC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YACvC,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE;gBACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;aAC1C;YACD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAC7C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAI,IAAI,CAAC,aAAa,EAAE;gBAEtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aACzC;YACD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;aAAM;YAEL,IAAI,CAAC,QAAQ,GAAG,sBAAsB,CAAC,MAAM,CAAC;YAC9C,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE;gBACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;aAC1C;YACD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAC/C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvC,IAAI,IAAI,CAAC,aAAa;oBACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aAC3C;YAED,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;gBACnC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE;oBAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aAC3C;SACF;IACH,CAAC;IAGD,kDAAY,GAAZ;QACE,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAE1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YAC5C,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YACtC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YAC5C,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;YAEvD,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;YACvC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;SAG5B;QACD,IAAI,IAAS,CAAC;QACd,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;SACtB;aACI;YACH,IAAI,GAAG,kBAAkB,CAAC;SAC3B;QAGD,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,GAAG,+BAA+B,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,8BAA8B,EAAE,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,GAAG,IAAI,EAAE,qCAAqC,EAAE,0DAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAC7V,CAAC;IAED,0CAAI,GAAJ,UAAK,QAAQ;QACX,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,0BAA0B;QACtD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;;gBArNiC,6DAAa;gBAAmB,kEAAmB;;IA/B1E,2BAA2B;QALvC,+DAAS,CAAC;YACT,QAAQ,EAAE,yBAAyB;YACnC,2LAAmD;SAEpD,CAAC;OACW,2BAA2B,CAuPvC;IAAD,kCAAC;CAAA;AAvPuC;;;;;;;;;;;;;;;;;;;;;;;ACXkB;AAC0B;AAClC;AACG;AACN;AAM/C;IAsCE,mCAAoB,aAA4B,EAAS,MAAiB,EAAS,OAA4B;QAA3F,kBAAa,GAAb,aAAa,CAAe;QAAS,WAAM,GAAN,MAAM,CAAW;QAAS,YAAO,GAAP,OAAO,CAAqB;QAnC/G,cAAS,GAAG,KAAK,CAAC;QAClB,kBAAa,GAAG,KAAK,CAAC;QACtB,gBAAW,GAAG,KAAK,CAAC;QACpB,MAAC,GAAW,CAAC,CAAC;QACd,eAAU,GAAG,EAAE,CAAC;QAChB,kBAAa,GAAG,EAAE,CAAC;QAEnB,gBAAW,GAAG,EAAE,CAAC;QACjB,WAAM,GAAY,KAAK,CAAC;QACxB,eAAU,GAAW,EAAE,CAAC;QACxB,eAAU,GAAG,EAAE,CAAC;QAGhB,cAAS,GAAG,KAAK,CAAC;QAKlB,WAAM,GAAG,EAAE,CAAC;QAEZ,UAAK,GAAG,IAAI,CAAC;QAcb,UAAK,GAAG,KAAK,CAAC;QAEZ,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACjD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAChE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAClE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAEtD,CAAC;IAED,4CAAQ,GAAR;QACE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,kBAAkB,EAA5C,CAA4C,CAAC,CAAC;QACnF,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;SAC1C;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;IAEjB,CAAC;IACD,yDAAqB,GAArB;QAAA,iBAkBC;QAjBC,IAAI,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,SAAS,CAAC,mBAAS;YAC5D,KAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;YAC7D,KAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,eAAK;gBACzD,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC5C,IAAI,KAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,GAAG,EAAE;oBACjC,IAAI,KAAK,GAAG,KAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,KAAI,CAAC,MAAM,EAAxB,CAAwB,CAAC,CAAC;oBAC9E,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;wBACpB,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;wBACjC,IAAI,QAAQ,GAAG,KAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,KAAI,CAAC,SAAS,EAA3B,CAA2B,CAAC,CAAC;wBACvE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;4BACvB,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;yBACzD;qBAEF;iBACF;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wCAAI,GAAJ,UAAK,QAAQ;QACX,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,sBAAsB;QAClD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,sDAAkB,GAAlB;QAAA,iBAkCC;QAjCC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC1E,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,aAAa,GAAG,OAAO,CAAC;YAC7B,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,aAAa,CAAC,MAAM,CAAC;YAC1C,IAAI,KAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;gBACnC,KAAI,CAAC,WAAW,GAAG,KAAK,CAAC;gBACzB,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;aAC3B;iBACI;gBACH,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC;gBACjE,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAE3B,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;gBACtB,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC;gBAExB,OAAO,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,EAAE;oBACvC,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC;oBAC1C,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;iBAC1C;gBACD,IAAI,CAAC,KAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAI,CAAC,QAAQ,CAAC;oBAC7C,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC;gBACzC,IAAI,KAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;oBACnC,IAAI,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE;wBAC7B,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;iBAC3C;aACF;QACH,CAAC,CAAC,CAAC;IAGL,CAAC;IAED,8CAAU,GAAV;QAAA,iBAqDC;QApDC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAC3C,UAAC,IAAI;YACH,OAAO,CACL,CAAC,IAAI,CAAC,oBAAoB,KAAK,IAAI,IAAI,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAClI,CAAC,IAAI,CAAC,uBAAuB,KAAK,IAAI,IAAI,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAEzI,CAAC;QACJ,CAAC,CACF,CAAC;QACF,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE;YAClC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE,EAAE;YAC1B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC;YACrC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;YAC1C,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE;gBACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;aAC1C;YACD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAC7C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAI,IAAI,CAAC,aAAa,EAAE;gBAEtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aACzC;YACD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;aAAM;YAEL,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC;YACrC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE;gBACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;aAC1C;YACD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAC/C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvC,IAAI,IAAI,CAAC,aAAa;oBACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aAC3C;YAED,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;gBACnC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE;oBAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aAC3C;SACF;IACH,CAAC;IAID,gDAAY,GAAZ;QACE,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;QAC7D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,OAAO,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC;YAClE,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC;YAC/D,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;YACvC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,oBAAoB,CACtC,CAAC;YACF,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC;YAC5C,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAEhC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAE7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;YAClC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;SAC/B;QAED,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,GAAG,oBAAoB,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,mBAAmB,EAAE,WAAW,GAAG,IAAI,CAAC,gBAAgB,EAAE,EAAE,EAAE,0BAA0B,EAAE,0DAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IACzT,CAAC;IAED,2CAAO,GAAP;QAAA,iBAUC;QATC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC1D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;YACxB,IAAI,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,KAAI,CAAC,UAAU,EAA5B,CAA4B,CAAC,CAAC;YACvE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvB,KAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;aACtC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iDAAa,GAAb;QACE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,8CAAU,GAAV,UAAW,GAAW;QAAtB,iBAsEC;QArEC,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE;YAC3D,UAAU,EAAE,yBAAyB;YACrC,IAAI,EAAE,GAAG,GAAG,KAAK,GAAG,KAAK;SAC1B,CAAC,CAAC;QACH,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3D,SAAS,CAAC,iBAAiB,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QAC/D,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACvD,IAAI,GAAG,KAAK,KAAK,EAAE;YACjB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC3B;QACD,IAAI,GAAG,KAAK,MAAM,EAAE;YAElB,SAAS,CAAC,iBAAiB,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC;YAC7E,SAAS,CAAC,iBAAiB,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;YACzE,SAAS,CAAC,iBAAiB,CAAC,uBAAuB,GAAG,IAAI,CAAC,uBAAuB,CAAC;YACnF,SAAS,CAAC,iBAAiB,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;SAEhD;QAED,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;YAEtC,IAAI,KAAI,CAAC,UAAU,KAAK,EAAE,IAAI,KAAI,CAAC,UAAU,KAAK,SAAS,EAAE;gBAC3D,KAAI,CAAC,UAAU,EAAE,CAAC;aACnB;iBACI;gBACH,KAAI,CAAC,kBAAkB,EAAE,CAAC;aAC3B;YAED,IAAI,MAAM,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE;gBAEhC,IAAI,SAAS,GAAG,EAAE,CAAC;gBACnB,IAAI,GAAG,KAAK,KAAK,EAAE;oBACjB,SAAS,GAAG,oBAAoB,CAAC;iBAClC;qBACI;oBAEH,SAAS,GAAG,sBAAsB,CAAC;iBACpC;gBACD,KAAI,CAAC,kBAAkB,EAAE,CAAC;gBAE1B,IAAM,YAAY,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE;oBAC9D,UAAU,EAAE,yBAAyB;oBACrC,IAAI,EAAE,SAAS,GAAG,KAAK,GAAG,KAAK;iBAEhC,CAAC,CAAC;gBAEH,UAAU,CAAC;oBACT,KAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC5B,CAAC,EAAE,GAAG,CAAC,CAAC;gBACR,YAAY,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,iBAAO;oBAC1C,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;oBACtB,0BAA0B;oBAE1B,IAAI,KAAI,CAAC,UAAU,KAAK,EAAE,EAAE;wBAC1B,KAAI,CAAC,UAAU,EAAE,CAAC;qBACnB;yBACI;wBACH,KAAI,CAAC,kBAAkB,EAAE,CAAC;qBAC3B;gBAGH,CAAC,CAAC,CAAC;aAIJ;QAEH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iDAAa,GAAb,UAAc,OAAO;QAArB,iBA4BC;QA1BC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;QAErD,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC;QACzD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACxD,IAAI,CAAC,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAC;QAE/D,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,UAAU,CAAC;YAET,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAEhD,IAAI,KAAI,CAAC,kBAAkB,IAAI,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,kBAAkB,EAAE;oBACrE,UAAU,EAAE,CAAC;iBACd;aACF;YACD,IAAI,CAAC,UAAU,EAAE;gBACf,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;gBACnB,KAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;aAEzB;iBAAM;gBACL,KAAI,CAAC,KAAK,GAAG,IAAI,CAAC;gBAClB,KAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;aACzB;QACH,CAAC,EAAE,GAAG,CAAC,CAAC;QACR,0BAA0B;IAC5B,CAAC;IAED,8CAAU,GAAV;QAAA,iBAMC;QALC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC7D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,4CAAQ,GAAR;QAEE,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;YAChD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;SACvC;IACH,CAAC;IAED,mDAAe,GAAf,UAAgB,OAAO;QAAvB,iBAyDC;QAxDC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;QACrD,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,UAAU,CAAC;YAET,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAEhD,IAAI,KAAI,CAAC,kBAAkB,IAAI,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,kBAAkB,EAAE;oBACrE,UAAU,EAAE,CAAC;iBACd;aACF;YAED,IAAI,UAAU,EAAE;gBACd,KAAI,CAAC,UAAU,CAAC,iCAAiC,CAAC,CAAC;aACpD;iBACI;gBAGH,IAAM,SAAS,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE;oBAC3D,UAAU,EAAE,yBAAyB;oBACrC,IAAI,EAAE,oDAAoD,GAAG,OAAO,CAAC,oBAAoB,GAAG,MAAM,GAAG,IAAI;iBAE1G,CAAC,CAAC;gBACH,2BAA2B;gBAE3B,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;oBACtC,IAAI,MAAM,EAAE;wBAEV,0BAA0B;wBAE1B,IAAI,CAAC,UAAU,EAAE;4BACf,KAAI,CAAC,aAAa,CAAC,UAAU,CAAC,KAAI,CAAC,kBAAkB,CAAC,CAAC,SAAS,CAAC,cAAI;gCAEnE,IAAI,IAAI,CAAC,EAAE,EAAE;oCACX,KAAI,CAAC,QAAQ,EAAE,CAAC;oCAChB,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;oCACtB,KAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;oCACxC,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC;oCACxB,KAAI,CAAC,kBAAkB,EAAE,CAAC;iCAC3B;gCACD,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;gCACtB,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC;4BAG1B,CAAC,CAAC,CAAC;yBACJ;6BAAM;4BACL,qDAAqD;yBACtD;qBAIF;gBACH,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,EAAE,IAAI,CAAC,CAAC;IAEX,CAAC;;gBAxWkC,6DAAa;gBAAiB,kEAAS;gBAAkB,kEAAmB;;IAtCpG,yBAAyB;QAJrC,+DAAS,CAAC;YACT,QAAQ,EAAE,sBAAsB;YAChC,kLAAgD;SACjD,CAAC;OACW,yBAAyB,CAgZrC;IAAD,gCAAC;CAAA;AAhZqC;AAyZtC;IAaE,kCACS,SAAiD,EACxB,IAAS,EAAS,aAA4B,EAAU,OAA4B;QAD7G,cAAS,GAAT,SAAS,CAAwC;QACxB,SAAI,GAAJ,IAAI,CAAK;QAAS,kBAAa,GAAb,aAAa,CAAe;QAAU,YAAO,GAAP,OAAO,CAAqB;QAbtH,cAAS,GAAG,KAAK,CAAC;QAQlB,eAAU,GAAG,EAAE,CAAC;QAEhB,gBAAW,GAAG,KAAK,CAAC;QAIlB,gCAAgC;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE;YAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IACD,2CAAQ,GAAR;IAIA,CAAC;IACD,6CAAU,GAAV;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IACD,4CAAS,GAAT;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IACD,0CAAO,GAAP,UAAQ,KAAK;QACX,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;IAChC,CAAC;IACD,+CAAY,GAAZ;QAAA,iBA0BC;QAzBC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAExB,UAAU,CAAC;YACT,KAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAC3B,CAAC,EAAE,IAAI,CAAC,CAAC;QACT,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAM,SAAS,GAAG,CAAC,CAAC;QAEpB,IAAI,IAAI,CAAC,oBAAoB,IAAI,SAAS;YACxC,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACzC,IAAI,CAAC,QAAQ,GAAG,kCAAkC,CAAC;YACnD,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE;aACxB;YACD,KAAK,EAAE,CAAC;SACT;QAED,IAAI,KAAK,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YACnB,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE;gBACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACxB;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACxB;SACF;aAAM;SACN;IACH,CAAC;IAGD,qDAAkB,GAAlB;QAAA,iBAOC;QANC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC1E,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,aAAa,GAAG,OAAO,CAAC;QAE/B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,yCAAM,GAAN,UAAO,GAAW;QAAlB,iBAqEC;QAjEC,IAAM,IAAI,GAAG;YAEX,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,SAAS,EAAE,IAAI,CAAC,WAAW;YAC3B,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,aAAa,EAAE,CAAC;YAChB,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;SAEtD,CAAC;QACF,IAAI,GAAG,KAAK,KAAK,EAAE;YAEjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAClD,IAAI,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE;oBAEtH,IAAI,CAAC,QAAQ,GAAG,iCAAiC,CAAC;oBAClD,OAAO;oBACP,UAAU,CAAC;wBACT,KAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;wBACnB,OAAO;oBACT,CAAC,EAAE,IAAI,CAAC,CAAC;oBACT,wBAAwB;iBACzB;aACF;YAED,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,cAAI;gBAIrD,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE;oBACvC,KAAI,CAAC,QAAQ,GAAG,oBAAoB,CAAC;oBACrC,KAAI,CAAC,kBAAkB,EAAE,CAAC;oBAC1B,6BAA6B;oBAC7B,KAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;oBAC/B,UAAU,CAAC;wBACT,KAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;oBACrB,CAAC,EAAE,IAAI,CAAC,CAAC;iBACV;qBAAM;oBACL,KAAI,CAAC,QAAQ,GAAG,aAAa,CAAC;iBAC/B;YAEH,CAAC,CAAC,CAAC;SACJ;aAAM;YAEL,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAClD,IAAI,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE;oBAEjO,IAAI,CAAC,QAAQ,GAAG,iCAAiC,CAAC;oBAClD,OAAO;oBACP,UAAU,CAAC;wBACT,KAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;wBACnB,OAAO;oBACT,CAAC,EAAE,IAAI,CAAC,CAAC;oBACT,wBAAwB;iBACzB;aACF;YAED,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,cAAI;gBACrD,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE;oBACvC,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;iBAC5B;qBAAM;oBACL,KAAI,CAAC,QAAQ,GAAG,sBAAsB,CAAC;iBACxC;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IACD,wCAAK,GAAL;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;;gBAtImB,qEAAY;gDAC7B,oDAAM,SAAC,wEAAe;gBAA0C,6DAAa;gBAAmB,kEAAmB;;IAf3G,wBAAwB;QANpC,+DAAS,CAAC;YACT,QAAQ,EAAE,YAAY;YACtB,0IAA0B;YAC1B,6BAA6B;YAC7B,SAAS,EAAE,CAAC,6DAAa,CAAC;SAC3B,CAAC;QAgBG,6GAAM,CAAC,wEAAe,CAAC;OAff,wBAAwB,CAqJpC;IAAD,+BAAC;CAAA;AArJoC;;;;;;;;;;;;ACnarC,+DAA+D,2I;;;;;;;;;;;;;;;;;;;;;;;ACAL;AAC0B;AAC7B;AACL;AACG;AACN;AAO/C;IAyCE,wBAAoB,aAA4B,EACvC,MAAiB,EACjB,OAA4B,EAC3B,WAAwB;QAHd,kBAAa,GAAb,aAAa,CAAe;QACvC,WAAM,GAAN,MAAM,CAAW;QACjB,YAAO,GAAP,OAAO,CAAqB;QAC3B,gBAAW,GAAX,WAAW,CAAa;QArClC,cAAS,GAAG,KAAK,CAAC;QAClB,kBAAa,GAAG,KAAK,CAAC;QACtB,eAAU,GAAG,KAAK,CAAC;QACnB,MAAC,GAAW,CAAC,CAAC;QACd,eAAU,GAAG,EAAE,CAAC;QAChB,kBAAa,GAAG,EAAE,CAAC;QAEnB,gBAAW,GAAG,EAAE,CAAC;QACjB,WAAM,GAAY,KAAK,CAAC;QAExB,eAAU,GAAG,EAAE,CAAC;QAChB,cAAS,GAAG,KAAK,CAAC;QAIlB,WAAM,GAAG,EAAE,CAAC;QAEZ,UAAK,GAAG,IAAI,CAAC;QAeb,UAAK,GAAG,KAAK,CAAC;QAMZ,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACjD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAChE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAClE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACtD,CAAC;IAED,iCAAQ,GAAR;QACE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,OAAO,EAAjC,CAAiC,CAAC,CAAC;QAC7E,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;SAC1C;QACD,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED,mCAAU,GAAV;QAAA,iBAMC;QALC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC7D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,UAAU,GAAG,OAAO,CAAC;YAC1B,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,UAAU,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,aAAa,IAAI,IAAI,IAAI,CAAC,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,GAAG,EAA7D,CAA6D,CAAC,CAAC;QAC/G,CAAC,CAAC,CAAC;IACL,CAAC;IAED,6BAAI,GAAJ,UAAK,QAAQ;QACX,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,sBAAsB;QAClD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IACD;;MAEE;IACF,gCAAO,GAAP;QACE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IACD;;IAEA;IACA,iCAAQ,GAAR;QAAA,iBAqBC;QApBC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,cAAI;YAChE,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC;YAC3B,KAAI,CAAC,aAAa,GAAG,KAAI,CAAC,SAAS,CAAC;YACpC,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YACtC,IAAI,KAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC/B,KAAI,CAAC,UAAU,GAAG,KAAK,CAAC;gBACxB,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;aAC3B;iBACI;gBACH,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,SAAS,CAAC;gBACjC,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,KAAI,CAAC,cAAc,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC;aACpC;QACH,CAAC,CAAC,CAAC;IAGL,CAAC;IACD,6BAA6B;IAE7B,uCAAc,GAAd,UAAe,QAAQ;QACrB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE;YACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;SAC1C;QACD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAC/C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;gBACnC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE;oBAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aAC3C;SACF;IACH,CAAC;IACD;;MAEE;IAEF,mCAAU,GAAV;QAAA,iBAgCC;QA/BC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;QACjC,IAAI,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CACvC,UAAC,IAAI;YACH,OAAO,CACL,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC1G,CAAC,IAAI,CAAC,eAAe,KAAK,IAAI,IAAI,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAEzH,CAAC;QACJ,CAAC,CACF,CAAC;QACF,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC;QAC/B,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE;YAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE,EAAE;YAC1B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;YACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YACtC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACpC;aACI;YACH,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC;YACrC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACnC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;gBACnC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE;oBAE7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aAC3C;SACF;IACH,CAAC;IAED;;MAEE;IACF,mCAAU,GAAV,UAAW,GAAW;QAAtB,iBAyDC;QAxDC,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE;YACtD,UAAU,EAAE,yBAAyB;YACrC,IAAI,EAAE,GAAG,GAAG,KAAK,GAAG,KAAK;SAE1B,CAAC,CAAC;QACH,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3D,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACvD,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACvD,IAAI,GAAG,KAAK,KAAK,EAAE;YACjB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC/C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC;SACrC;QACD,IAAI,GAAG,KAAK,MAAM,EAAE;YAClB,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YACrD,SAAS,CAAC,iBAAiB,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;YACnE,SAAS,CAAC,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACjD,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;SAC9D;QAED,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;YACtC,IAAI,KAAI,CAAC,UAAU,KAAK,EAAE,IAAI,KAAI,CAAC,UAAU,KAAK,SAAS,EAAE;gBAC3D,KAAI,CAAC,UAAU,EAAE,CAAC;aACnB;iBACI;gBACH,KAAI,CAAC,QAAQ,EAAE,CAAC;aACjB;YACD,IAAI,MAAM,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE;gBAChC,IAAI,SAAS,GAAG,EAAE,CAAC;gBACnB,IAAI,GAAG,KAAK,KAAK,EAAE;oBACjB,SAAS,GAAG,oBAAoB,CAAC;iBAClC;qBACI;oBACH,SAAS,GAAG,sBAAsB,CAAC;iBACpC;gBACD,KAAI,CAAC,QAAQ,EAAE,CAAC;gBAChB,IAAM,YAAY,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE;oBACzD,UAAU,EAAE,yBAAyB;oBACrC,IAAI,EAAE,SAAS,GAAG,KAAK,GAAG,KAAK;iBAEhC,CAAC,CAAC;gBAEH,UAAU,CAAC;oBACT,KAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,CAAC,EAAE,GAAG,CAAC,CAAC;gBACR,YAAY,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,iBAAO;oBAC1C,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;oBACtB,IAAI,KAAI,CAAC,UAAU,KAAK,EAAE,EAAE;wBAC1B,KAAI,CAAC,UAAU,EAAE,CAAC;qBACnB;yBACI;wBACH,KAAI,CAAC,QAAQ,EAAE,CAAC;qBACjB;gBACH,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;MAEE;IACF,iCAAQ,GAAR,UAAS,OAAO;QACd,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED,iCAAQ,GAAR;QACE,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YAC5C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;SACvC;IACH,CAAC;IAED;;MAEE;IACF,mCAAU,GAAV,UAAW,OAAY;QAAvB,iBAuBC;QAtBC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE;YACtD,UAAU,EAAE,yBAAyB;YACrC,IAAI,EAAE,wCAAwC,GAAG,OAAO,CAAC,QAAQ,GAAG,MAAM,GAAG,IAAI;SAElF,CAAC,CAAC;QACH,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;YACtC,IAAI,MAAM,EAAE;gBACV,IAAI,KAAI,CAAC,UAAU,IAAI,CAAC,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,MAAM,IAAI,KAAI,CAAC,MAAM,EAAzB,CAAyB,CAAC,EAAE;oBAC9E,KAAI,CAAC,WAAW,CAAC,UAAU,CAAC,KAAI,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,cAAI;wBACrD,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;4BACrB,KAAI,CAAC,QAAQ,EAAE,CAAC;4BAChB,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;4BACtB,KAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;4BACxC,KAAI,CAAC,QAAQ,EAAE,CAAC;yBACjB;oBACH,CAAC,CAAC,CAAC;iBACJ;qBAAM;oBACL,KAAI,CAAC,UAAU,CAAC,qDAAqD,CAAC,CAAC;iBACxE;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qCAAY,GAAZ;QACE,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QACzD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC9C,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;YACvD,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;YACpC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;SAC/B;QAGD,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,GAAG,QAAQ,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC,gBAAgB,EAAE,EAAE,EAAE,cAAc,EAAE,0DAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAErR,CAAC;;gBA9PkC,6DAAa;gBAC/B,kEAAS;gBACR,kEAAmB;gBACd,kEAAW;;IA5CvB,cAAc;QAL1B,+DAAS,CAAC;YACT,QAAQ,EAAE,WAAW;YACrB,iJAAqC;;SAEtC,CAAC;OACW,cAAc,CAwS1B;IAAD,qBAAC;CAAA;AAxS0B;AA8S3B;IAWE,6BACS,SAA4C,EACnB,IAAS,EAAU,WAAwB,EAAU,OAA4B;QAD1G,cAAS,GAAT,SAAS,CAAmC;QACnB,SAAI,GAAJ,IAAI,CAAK;QAAU,gBAAW,GAAX,WAAW,CAAa;QAAU,YAAO,GAAP,OAAO,CAAqB;QAXnH,cAAS,GAAG,KAAK,CAAC;QAIlB,cAAS,GAAQ,EAAE,CAAC;QAQlB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE;YAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAED,sCAAQ,GAAR;IACA,CAAC;IAED,wCAAU,GAAV;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,uCAAS,GAAT;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,0CAAY,GAAZ;QACE,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE;YACzB,IAAI,CAAC,QAAQ,GAAG,kCAAkC,CAAC;YACnD,OAAO;SACR;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,sCAAQ,GAAR,UAAS,GAAW;QAApB,iBAyCC;QAxCC,IAAM,MAAM,GAAG;YACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,IAAI,CAAC,WAAW;YAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,WAAW;YAC3B,eAAe,EAAE,IAAI,CAAC,eAAe;SACtC,CAAC;QACF,IAAI,GAAG,KAAK,KAAK,EAAE;YACjB,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,KAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAxE,CAAwE,CAAC,EAAE;gBACxG,IAAI,CAAC,QAAQ,GAAG,0BAA0B,CAAC;gBAC3C,OAAO;aACR;YACD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,cAAI;gBAC9C,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE;oBACtB,KAAI,CAAC,QAAQ,GAAG,oBAAoB,CAAC;oBACrC,KAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;oBACnB,KAAI,CAAC,eAAe,GAAG,EAAE,CAAC;oBAC1B,UAAU,CAAC;wBACT,KAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;oBACrB,CAAC,EAAE,IAAI,CAAC,CAAC;iBACV;qBAAM;oBACL,KAAI,CAAC,QAAQ,GAAG,aAAa,CAAC;iBAC/B;YACH,CAAC,CAAC,CAAC;SACJ;aACI;YACH,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ;gBACpC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,KAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAxE,CAAwE,CAAC,EAAE;oBACxG,IAAI,CAAC,QAAQ,GAAG,0BAA0B,CAAC;oBAC3C,OAAO;iBACR;YACH,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,cAAI;gBAC9C,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE;oBACtB,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;iBAC5B;qBAAM;oBACL,KAAI,CAAC,QAAQ,GAAG,sBAAsB,CAAC;iBACxC;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,mCAAK,GAAL;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;;gBA5EmB,qEAAY;gDAC7B,oDAAM,SAAC,wEAAe;gBAAyC,kEAAW;gBAAmB,kEAAmB;;IAbxG,mBAAmB;QAJ/B,+DAAS,CAAC;YACT,QAAQ,EAAE,YAAY;YACtB,+HAA0B;SAC3B,CAAC;QAcG,6GAAM,CAAC,wEAAe,CAAC;OAbf,mBAAmB,CAyF/B;IAAD,0BAAC;CAAA;AAzF+B;;;;;;;;;;;;;;;;;;;;;AC1TkB;AACA;AACG;AACN;AAO/C;IAwBE,6BAAoB,MAAqB,EAAU,OAA4B;QAA3D,WAAM,GAAN,MAAM,CAAe;QAAU,YAAO,GAAP,OAAO,CAAqB;QAvB/E,cAAS,GAAW,0DAAS,CAAC;QAG9B,cAAS,GAAG,KAAK,CAAC;QAClB,kBAAa,GAAG,KAAK,CAAC;QACtB,eAAU,GAAG,EAAE,CAAC;QAEhB,kBAAa,GAAG,KAAK,CAAC;QAEtB,MAAC,GAAW,CAAC,CAAC;QACd,eAAU,GAAG,EAAE,CAAC;QAChB,kBAAa,GAAG,EAAE,CAAC;QACnB,gBAAW,GAAG,EAAE,CAAC;QAEjB,eAAU,GAAG,IAAI,IAAI,EAAE,CAAC;QAGxB,WAAM,GAAY,KAAK,CAAC;QACxB,WAAM,GAAG,EAAE,CAAC;QAEZ,UAAK,GAAG,IAAI,CAAC;QAIX,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAC7D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACtD,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,GAAG,EAAE;SAEvC;aACI;YACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;SAC/C;IAEH,CAAC;IAED,sCAAQ,GAAR;QACE,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7C,CAAC;IACD,yCAAW,GAAX;QAAA,iBA6BC;QA5BC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,cAAI;YACpD,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YAC7C,IAAI,gBAAgB,GAAG,KAAI,CAAC,WAAW,CAAC;YACxC,KAAI,CAAC,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,KAAK,CAAC,EAAhB,CAAgB,CAAC,CAAC;YAClE,IAAI,KAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;gBACjC,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;aAC3B;iBACI;gBACH,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC;gBAC/D,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC;gBACxC,OAAO,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,EAAE;oBACvC,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC;oBAC1C,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;iBAC1C;gBACD,IAAI,CAAC,KAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAI,CAAC,QAAQ,CAAC;oBAC7C,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC;gBACzC,IAAI,KAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;oBACnC,IAAI,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE;wBAC7B,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;iBAC3C;aAEF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,kCAAI,GAAJ,UAAK,QAAQ;QACX,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,sBAAsB;QAClD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,wCAAU,GAAV;QAAA,iBAsDC;QArDC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CACxC,UAAC,IAAI;YACH,OAAO,CACL,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChH,CAAC,IAAI,CAAC,kBAAkB,KAAK,IAAI,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC9H,CAAC,IAAI,CAAC,iBAAiB,KAAK,IAAI,IAAI,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC5H,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;mBACvG,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CACtH,CAAC;QACJ,CAAC,CACF,CAAC;QACF,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC;QAChC,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,EAAE;YAChC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE,EAAE;YAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC;YACnC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;YACxC,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE;gBACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;aAC1C;YACD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAC7C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAI,IAAI,CAAC,aAAa,EAAE;gBAEtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aACzC;YACD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC;YACpC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE;gBACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;aAC1C;YACD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAC/C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvC,IAAI,IAAI,CAAC,aAAa;oBACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aAC3C;YAED,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;gBACnC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE;oBAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aAC3C;SACF;IACH,CAAC;IAGD,0CAAY,GAAZ;QAEE,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAC3D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YACtC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YAC5C,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;YACvD,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;YACjD,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;YAEtD,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;YACtC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;YACvC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAE7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC1B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;YAEpC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAEhC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAE9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YAEjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;YACvC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;YAEnC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;YACpC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;SAC/B;QACD,IAAI,IAAS,CAAC;QACd,IAAI,GAAG,EAAE,CAAC;QACV;;;;;;;;SAQC;QACD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,GAAG,uBAAuB,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,sBAAsB,EAAE,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,6BAA6B,EAAE,0DAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IACnT,CAAC;;gBAlL2B,6DAAa;gBAAmB,kEAAmB;;IAxBpE,mBAAmB;QAL/B,+DAAS,CAAC;YACT,QAAQ,EAAE,gBAAgB;YAC1B,gKAA0C;SAE3C,CAAC;OACW,mBAAmB,CA4M/B;IAAD,0BAAC;CAAA;AA5M+B;;;;;;;;;;;;;ACVhC;AAAA;AAAO,IAAM,YAAY,GAAG;IACxB,OAAO,EAAE,oCAAoC;IAC7C,QAAQ,EAAE,sCAAsC;IAChD,QAAQ,EAAE,sCAAsC;IAChD,WAAW,EAAE,+BAA+B;IAC5C,QAAQ,EAAE,CAAC,qCAAqC,EAAC,CAAC,WAAW,CAAC,CAAC;CAChE,CAAC;;;;;;;;;;;;ACNJ,iEAAiE,wBAAwB,wBAAwB,SAAS,OAAO,oCAAoC,mBAAmB,uBAAuB,qBAAqB,wBAAwB,0BAA0B,wBAAwB,0BAA0B,0BAA0B,eAAe,iBAAiB,KAAK,KAAK,qBAAqB,uBAAuB,qBAAqB,wBAAwB,0BAA0B,wBAAwB,0BAA0B,0BAA0B,eAAe,iBAAiB,KAAK,mDAAmD,20C;;;;;;;;;;;ACAnqB,6BAA6B,eAAe,GAAG,eAAe,wBAAwB,GAAG,YAAY,wBAAwB,GAAG,gBAAgB,0BAA0B,GAAG,eAAe,wBAAwB,GAAG,eAAe,uBAAuB,GAAG,+BAA+B,mBAAmB,wBAAwB,sBAAsB,GAAG,6BAA6B,mBAAmB,wBAAwB,sBAAsB,GAAG,6BAA6B,mBAAmB,8BAA8B,oDAAoD,oBAAoB,oBAAoB,GAAG,cAAc,mBAAmB,8BAA8B,oDAAoD,sBAAsB,oBAAoB,GAAG,mEAAmE,8BAA8B,uCAAuC,GAAG,uCAAuC,8BAA8B,uCAAuC,GAAG,qEAAqE,8BAA8B,8BAA8B,GAAG,wCAAwC,sBAAsB,GAAG,YAAY,wBAAwB,GAAG,kBAAkB,wBAAwB,GAAG,WAAW,iBAAiB,uBAAuB,2BAA2B,GAAG,0DAA0D,iBAAiB,gBAAgB,GAAG,gBAAgB,eAAe,GAAG,iBAAiB,+BAA+B,GAAG,sDAAsD,gCAAgC,GAAG,eAAe,gBAAgB,qBAAqB,0BAA0B,GAAG,kCAAkC,eAAe,GAAG,uDAAuD,sBAAsB,uBAAuB,cAAc,GAAG,wDAAwD,qBAAqB,iBAAiB,yBAAyB,GAAG,uEAAuE,sBAAsB,GAAG,qBAAqB,kBAAkB,GAAG,yCAAyC,uBAAuB,GAAG,wBAAwB,eAAe,GAAG,4CAA4C,6CAA6C,GAAG,6BAA6B,uBAAuB,eAAe,GAAG,gCAAgC,2BAA2B,oBAAoB,KAAK,GAAG,oBAAoB,kBAAkB,iBAAiB,wBAAwB,mCAAmC,GAAG,cAAc,YAAY,GAAG,0BAA0B,eAAe,GAAG,kBAAkB,kBAAkB,gBAAgB,2BAA2B,GAAG,mBAAmB,kBAAkB,GAAG,gBAAgB,YAAY,kBAAkB,GAAG,iBAAiB,YAAY,GAAG,eAAe,oBAAoB,iBAAiB,GAAG,kBAAkB,YAAY,uBAAuB,qBAAqB,GAAG,gBAAgB,YAAY,kBAAkB,8BAA8B,GAAG,4FAA4F,oBAAoB,kBAAkB,KAAK,GAAG,4IAA4I,oBAAoB,oBAAoB,6BAA6B,kBAAkB,kBAAkB,0BAA0B,qCAAqC,KAAK,gBAAgB,kBAAkB,KAAK,qBAAqB,kBAAkB,oBAAoB,KAAK,kBAAkB,cAAc,oBAAoB,KAAK,mBAAmB,gBAAgB,KAAK,iBAAiB,sBAAsB,mBAAmB,KAAK,oBAAoB,kBAAkB,oBAAoB,yBAAyB,4BAA4B,KAAK,kBAAkB,kBAAkB,KAAK,GAAG,sDAAsD,iBAAiB,GAAG,0BAA0B,uCAAuC,kBAAkB,4BAA4B,oBAAoB,6BAA6B,KAAK,GAAG,oBAAoB,iBAAiB,iDAAiD,kBAAkB,wBAAwB,iCAAiC,mBAAmB,KAAK,GAAG,iBAAiB,mBAAmB,GAAG,iCAAiC,mBAAmB,sBAAsB,aAAa,cAAc,iBAAiB,6BAA6B,KAAK,2CAA2C,qBAAqB,KAAK,GAAG,0DAA0D,mBAAmB,GAAG,mBAAmB,mBAAmB,iBAAiB,yBAAyB,GAAG,QAAQ,gBAAgB,mCAAmC,qBAAqB,eAAe,GAAG,gBAAgB,gBAAgB,mBAAmB,mCAAmC,iBAAiB,uBAAuB,eAAe,GAAG,qCAAqC,kBAAkB,uBAAuB,iBAAiB,GAAG,wBAAwB,mBAAmB,GAAG,8BAA8B,qBAAqB,2BAA2B,oBAAoB,mBAAmB,qBAAqB,sBAAsB,uBAAuB,uBAAuB,iBAAiB,iBAAiB,GAAG,gCAAgC,kBAAkB,gBAAgB,qBAAqB,wBAAwB,uBAAuB,WAAW,GAAG,sCAAsC,2BAA2B,cAAc,kBAAkB,mBAAmB,iBAAiB,uBAAuB,WAAW,iBAAiB,eAAe,GAAG,qDAAqD,oBAAoB,GAAG,uDAAuD,mBAAmB,oBAAoB,qBAAqB,gBAAgB,GAAG,+BAA+B,QAAQ,kBAAkB,KAAK,kBAAkB,kBAAkB,KAAK,gCAAgC,qBAAqB,mBAAmB,KAAK,kCAAkC,kBAAkB,uBAAuB,KAAK,wCAAwC,6BAA6B,gBAAgB,oBAAoB,qBAAqB,mBAAmB,yBAAyB,aAAa,mBAAmB,KAAK,GAAG,kBAAkB,qBAAqB,oBAAoB,KAAK,GAAG,kBAAkB,WAAW,iBAAiB,kBAAkB,KAAK,mBAAmB,+BAA+B,KAAK,GAAG,kBAAkB,sBAAsB,+BAA+B,KAAK,GAAG,mBAAmB,qBAAqB,qBAAqB,KAAK,GAAG,aAAa,oCAAoC,GAAG,OAAO,mBAAmB,GAAG,QAAQ,qBAAqB,GAAG,qCAAqC,mBAAmB,8BAA8B,GAAG,kCAAkC,oBAAoB,GAAG,kBAAkB,qBAAqB,GAAG,qBAAqB,8BAA8B,GAAG,gBAAgB,uBAAuB,GAAG,mBAAmB,gBAAgB,GAAG,sBAAsB,qBAAqB,GAAG,wBAAwB,mBAAmB,8BAA8B,0BAA0B,GAAG,qCAAqC,8BAA8B,8BAA8B,GAAG,eAAe,8BAA8B,uCAAuC,GAAG,iBAAiB,8BAA8B,8BAA8B,GAAG,iKAAiK,0BAA0B,mBAAmB,GAAG,wHAAwH,mBAAmB,GAAG,+BAA+B,+BAA+B,gCAAgC,8BAA8B,wBAAwB,mCAAmC,wBAAwB,KAAK,GAAG,+BAA+B,gBAAgB,oBAAoB,KAAK,GAAG,gDAAgD,mBAAmB,8BAA8B,GAAG,oHAAoH,2BAA2B,GAAG,oBAAoB,uBAAuB,oBAAoB,uBAAuB,uBAAuB,8BAA8B,GAAG,mBAAmB,kBAAkB,cAAc,sBAAsB,yBAAyB,eAAe,mCAAmC,GAAG,iBAAiB,YAAY,GAAG,iBAAiB,YAAY,GAAG,sBAAsB,kBAAkB,4BAA4B,GAAG,yBAAyB,eAAe,GAAG,6CAA6C,u9hC;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAv2R;AACR;AACT;AACY;AAC+B;AAE3B;AACc;AACxB;AACO;AACO;AAO7D;IAqDE,wBAAoB,MAAqB,EAC/B,MAAc,EACd,OAA4B,EAC5B,mBAAwC,EACxC,MAAiB,EACzB,kBAAsC,EAC9B,cAA8B,EAC9B,WAA4B;QAPtC,iBA0BC;QA1BmB,WAAM,GAAN,MAAM,CAAe;QAC/B,WAAM,GAAN,MAAM,CAAQ;QACd,YAAO,GAAP,OAAO,CAAqB;QAC5B,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,WAAM,GAAN,MAAM,CAAW;QAEjB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,gBAAW,GAAX,WAAW,CAAiB;QA3DtC,cAAS,GAAW,0DAAS,CAAC;QAC9B,aAAQ,GAAG,EAAE,CAAC;QACd,aAAQ,GAAG,EAAE,CAAC;QACd,eAAU,GAAG,EAAE,CAAC;QAGhB,kBAAa,GAAG,EAAE,CAAC;QACnB,mBAAc,GAAG,EAAE,CAAC;QACpB,sBAAsB;QACtB,iBAAY,GAAG,EAAE,CAAC;QAClB,UAAK,GAAG,KAAK,CAAC;QAOd,mBAAc,GAAG,IAAI,CAAC;QACtB,UAAK,GAAG,CAAC,CAAC;QACV,aAAQ,GAAG,KAAK,CAAC;QAGjB,eAAU,GAAG,CAAC,CAAC;QAGf,gBAAW,GAAW,EAAE,CAAC;QAGzB,qBAAgB,GAAG,KAAK,CAAC;QAGzB,mBAAc,GAAG,KAAK,CAAC;QACvB,SAAI,GAAG,CAAC,CAAC;QACT,gBAAW,GAAG,KAAK,CAAC;QACpB,cAAS,GAAG,KAAK,CAAC;QAClB,gBAAW,GAAG,KAAK,CAAC;QACpB,aAAQ,GAAG,KAAK,CAAC;QACjB,YAAO,GAAG,KAAK,CAAC;QAChB,iBAAY,GAAG,KAAK,CAAC;QACrB,SAAI,GAAG,KAAK,CAAC;QACb,qBAAgB,GAAW,EAAE,CAAC;QAI9B,aAAQ,GAAG,KAAK,CAAC;QACjB,cAAS,GAAG,KAAK,CAAC;QAClB,iBAAY,GAAY,KAAK,CAAC;QAG9B,sBAAiB,GAAY,KAAK,CAAC;QACnC,iBAAY,GAAY,KAAK,CAAC;QAU5B,IAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC;YAC5C,qBAAqB;SACtB,CAAC,CAAC,SAAS,CAAC,gBAAM;YACjB,IAAI,MAAM,CAAC,OAAO,EAAE;gBAClB,KAAI,CAAC,MAAM,GAAG,KAAK,CAAC;gBACpB,KAAI,CAAC,WAAW,GAAG,MAAM,CAAC;gBAC1B,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;aACvB;iBAAM;gBACL,KAAI,CAAC,MAAM,GAAG,IAAI,CAAC;gBACnB,KAAI,CAAC,WAAW,GAAG,MAAM,CAAC;gBAC1B,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;aACxB;QACH,CAAC,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;YACrF,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACnC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SACpB;IAEH,CAAC;IACD,gCAAO,GAAP,UAAQ,KAAa;QACnB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;IACpB,CAAC;IAED,iCAAQ,GAAR;QACE,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,iCAAQ,GAAR;QACE,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,wCAAe,GAAf;QACE,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE;YACjC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;SAC5B;IACH,CAAC;IAED,kCAAS,GAAT,UAAU,GAAG,EAAE,GAAG;QAChB,IAAI,aAAa,GAAG,QAAQ,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAC3D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC7C,aAAa,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YACpD,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;SACrE;QACD,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACjD,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAC9D,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,iCAAQ,GAAR;QAAA,iBAwBC;QAtBC,IAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAC;YACjD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAC1B;QACD,IAAG,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,EAAC;YACxC,IAAI,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7F,IAAI,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxD,oBAAoB;YACpB,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,cAAI;gBAC3E,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;oBACzB,KAAI,CAAC,UAAU,GAAG,eAAe,CAAC;oBAClC,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;oBACrB,OAAO;iBACR;gBACD,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;gBACtC,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;gBACtC,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBAClC,KAAI,CAAC,YAAY,EAAE,CAAC;YACtB,CAAC,CAAC;SACH;aAAI;YACJ,IAAI,CAAC,YAAY,EAAE,CAAC;SACpB;QACD,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7C,CAAC;IAED,qCAAY,GAAZ;QAAA,iBAmCC;QAlCC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;YAClC,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;YAChE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;YAChE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAClD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YAC5D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACpD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;YAClE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YACxD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAC9D,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;YACpE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YACxD,IAAI,IAAI,CAAC,gBAAgB,EAAE;gBACzB,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChB,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC7B,IAAI,IAAI,CAAC,SAAS,IAAI,GAAG,EAAE;oBACzB,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,cAAI;wBACzC,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;wBAC7C,IAAI,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,KAAI,CAAC,SAAS,EAA9B,CAA8B,CAAC,CAAC;wBAC/E,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;4BAC1B,KAAI,CAAC,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;yBAC/C;oBACH,CAAC,CAAC,CAAC;oBACH,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;iBACrD;aACF;YACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;SACnB;aAAM;YACL,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;IACH,CAAC;IAED,uCAAc,GAAd;QACE,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED,sCAAa,GAAb;QAAA,iBAKC;QAJC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,iBAAO;YAC3C,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iCAAQ,GAAR;QAAA,iBAIC;QAHC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,eAAK;YACxC,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC;IACD,8CAAqB,GAArB;QAAA,iBAIC;QAHC,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC,SAAS,CAAC,mBAAS;YACrD,KAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qCAAY,GAAZ;QAAA,iBASC;QARC,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;gBACnD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;gBACvC,KAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;YAE1B,CAAC,CAAC,CAAC;SACJ;IAEH,CAAC;IAED,gCAAO,GAAP,UAAQ,SAAS;QAAjB,iBAOC;QANC,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;gBAC9C,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;gBACvC,KAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;YAC1B,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,iCAAQ,GAAR,UAAS,SAAS;QAAlB,iBAMC;QALC,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,eAAK;gBAC7C,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAC9C,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,oCAAW,GAAX,UAAY,SAAiB;QAA7B,iBAMC;QALC,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,cAAI;gBAC/C,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YAChD,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,yCAAgB,GAAhB,UAAiB,QAAQ,EAAE,QAAQ,EAAE,GAAG;QACtC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;QACrB,IAAI,GAAG,IAAI,CAAC,EAAE;YACZ,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;SACzB;aACI;YACH,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;SAC1B;QACD,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAChD,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QACjD,IAAI,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QACtD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,KAAK,EAAE,CAAC;IAEf,CAAC;IACD,2CAAkB,GAAlB;QACE,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,0CAA0C;IAC5C,CAAC;IAED,oCAAW,GAAX;QACE,4BAA4B;QAC5B,gCAAgC;QAChC,mBAAmB;QACnB,gCAAgC;QAChC,uBAAuB;QACvB,2BAA2B;QAC3B,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QACvD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACtD,IAAI,IAAI,CAAC,UAAU,IAAI,YAAY,EAAE;YACnC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;SACrD;aAAM,IAAI,IAAI,CAAC,UAAU,IAAI,cAAc,EAAE;YAC5C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;SACnD;aAAM,IAAI,IAAI,CAAC,UAAU,IAAI,QAAQ,EAAE;YACtC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;SACtD;QAED,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC7C,cAAc,CAAC,KAAK,EAAE,CAAC;QACvB,cAAc,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;QAC9C,cAAc,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QACzC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAID,8BAAK,GAAL;QAAA,iBA0UC;QAzUC,IAAI,QAAgB,CAAC;QACrB,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;SACpD;QACD,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,eAAK;YACxC,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAC5C,IAAI,IAAI,GAAG,KAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAE3C,IAAI,IAAI,KAAK,EAAE,EAAE;gBACf,IAAI,UAAU,GAAG,KAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,IAAI,EAAjB,CAAiB,CAAC,CAAC;gBAC/D,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;oBACzB,KAAI,CAAC,WAAW,GAAG,UAAU,CAAC;oBAC9B,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC;iBACrD;aACF;YACD,KAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,KAAI,CAAC,QAAQ,IAAI,CAAC,KAAI,CAAC,QAAQ,EAAE;gBACpC,KAAI,CAAC,UAAU,GAAG,oCAAoC,CAAC;gBACvD,OAAO;aACR;iBAAM,IAAI,CAAC,KAAI,CAAC,QAAQ,EAAE;gBACzB,KAAI,CAAC,UAAU,GAAG,uBAAuB,CAAC;gBAC1C,OAAO;aACR;iBAAM,IAAI,CAAC,KAAI,CAAC,QAAQ,EAAE;gBACzB,KAAI,CAAC,UAAU,GAAG,uBAAuB,CAAC;gBAC1C,OAAO;aACR;iBAAM,IAAI,KAAI,CAAC,QAAQ,IAAI,EAAE,IAAI,KAAI,CAAC,QAAQ,IAAI,EAAE,EAAE;gBAErD,IAAI,YAAU,GAAG,KAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,KAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,QAAQ,KAAK,KAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,UAAU,KAAK,KAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,KAAK,KAAI,CAAC,QAAQ,CAAC,CAAC,EAA9J,CAA8J,CAAC,CAAC;gBAC5M,IAAI,YAAU,CAAC,MAAM,KAAK,CAAC,EAAE;oBAC3B,KAAI,CAAC,UAAU,GAAG,gCAAgC,CAAC;oBACnD,OAAO;iBACR;gBACD,KAAI,CAAC,WAAW,GAAG,YAAU,CAAC;gBAC9B,KAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,YAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,kBAAQ;oBACtE,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;oBAC1D,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAClD,IAAI,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;oBAChE,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;gBACnD,CAAC,CAAC,CAAC;gBAEH,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC;gBACpD,IAAI,YAAU,CAAC,MAAM,GAAG,CAAC,EAAE;oBACzB,KAAI,CAAC,QAAQ,GAAG,YAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;oBACvC,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,YAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oBAEnD,IAAI,KAAI,CAAC,gBAAgB,EAAE;wBACzB,KAAI,CAAC,aAAa,GAAG,KAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;wBAC5D,KAAI,CAAC,SAAS,GAAG,YAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;wBACzC,IAAI,QAAQ,GAAG,KAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;wBACtD,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;qBACtC;yBACI;wBACH,KAAI,CAAC,aAAa,GAAG,YAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;wBAC5C,KAAI,CAAC,SAAS,GAAG,YAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;wBACzC,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,YAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;qBACpD;oBACD,KAAI,CAAC,cAAc,GAAG,YAAU,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;oBACnD,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,eAAK;wBAClD,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;wBAC5C,KAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC,SAAS,CAAC,cAAI;4BAChD,KAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;4BACxD,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,YAAU,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAnD,CAAmD,CAAC,CAAC;4BACjH,KAAI,CAAC,mBAAmB,GAAG,KAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,YAAU,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,YAAU,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,IAAI,YAAU,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,EAApG,CAAoG,CAAC,CAAC;4BACzK,oIAAoI;4BACpI,KAAI,CAAC,aAAa,GAAG,KAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,YAAU,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,YAAU,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,EAAnE,CAAmE,CAAC,CAAC;4BAClI,IAAI,KAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;gCAChC,IAAI,CAAC,KAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;oCACxC,KAAI,CAAC,UAAU,GAAG,YAAY,CAAC;oCAC/B,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,KAAI,CAAC,QAAQ,CAAC,CAAC;oCAChD,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,KAAI,CAAC,UAAU,CAAC,CAAC;iCACnD;gCACD,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gCACxB,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;gCAC5C,KAAI,CAAC,cAAc,GAAG,CAAC,CAAC;gCACxB,IAAI,gBAAgB,GAAG,KAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,KAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,cAAc,IAAI,CAAC,EAAjE,CAAiE,CAAC,CAAC;gCACrH,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gCAChE,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,KAAI,CAAC,QAAQ,CAAC,CAAC;gCAE9C,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,KAAI,CAAC,QAAQ,CAAC,CAAC;gCAC3C,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAI,CAAC,cAAc,CAAC,CAAC;gCAC1D,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,YAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gCACzD,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAI,CAAC,gBAAgB,CAAC,CAAC;gCAC9D,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAI,CAAC,eAAe,CAAC,CAAC;gCAC5D,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,KAAI,CAAC,QAAQ,CAAC,CAAC;gCAC9C,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,YAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gCACzD,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC;gCACxD,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gCAClC,KAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;gCAC/B,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,CAAE,CAAC;gCACzC,KAAI,CAAC,KAAK,GAAG,IAAI,CAAC;gCAClB,OAAO;6BACR;iCACI,IAAI,KAAI,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE;gCAC5C,IAAI,CAAC,KAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;oCACxC,KAAI,CAAC,UAAU,GAAG,cAAc,CAAC;oCACjC,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,KAAI,CAAC,QAAQ,CAAC,CAAC;oCAC9C,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,KAAI,CAAC,UAAU,CAAC,CAAC;iCACnD;gCACD,KAAI,CAAC,eAAe,GAAG,KAAK,CAAC;gCAC7B,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAI,CAAC,eAAe,CAAC,CAAC;gCAC5D,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gCAC1B,KAAI,CAAC,cAAc,GAAG,YAAU,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;gCACnD,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAI,CAAC,cAAc,CAAC,CAAC;gCAC1D,IAAI,UAAU,CAAC;gCACf,KAAI,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,CAAC,SAAS,CAAC,cAAI;oCACxD,IAAI,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,cAAc,KAAK,KAAI,CAAC,cAAc,EAA1C,CAA0C,CAAC,CAAC;oCACrF,UAAU,GAAG;wCACX,cAAc,EAAE,YAAY,CAAC,cAAc;wCAC3C,YAAY,EAAE,KAAI,CAAC,YAAY;wCAC/B,gBAAgB,EAAE,YAAY,CAAC,gBAAgB;wCAC/C,YAAY,EAAE,YAAY,CAAC,YAAY;qCACxC;oCACD,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC;oCACxB,IAAI,gBAAgB,GAAG,KAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,EAAzC,CAAyC,CAAC,CAAC;oCAC7F,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;oCAEhE,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,KAAI,CAAC,QAAQ,CAAC,CAAC;oCAC9C,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,KAAI,CAAC,QAAQ,CAAC,CAAC;oCAC3C,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,YAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;oCACzD,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAI,CAAC,gBAAgB,CAAC,CAAC;oCAC9D,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAI,CAAC,eAAe,CAAC,CAAC;oCAC5D,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,KAAI,CAAC,QAAQ,CAAC,CAAC;oCAC9C,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,YAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;oCACzD,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC;oCACxD,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;oCAClC,KAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;oCAC/B,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,UAAU,CAAC,CAAC;oCACtD,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;oCAClC,KAAI,CAAC,KAAK,GAAG,IAAI,CAAC;gCACpB,CAAC,CAAC,CAAC;gCACH,OAAO;6BACR;iCACI,IAAI,KAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;gCACtC,IAAI,CAAC,KAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;oCACxC,KAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;oCAC3B,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,KAAI,CAAC,QAAQ,CAAC,CAAC;oCACjD,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,KAAI,CAAC,UAAU,CAAC,CAAC;iCACnD;gCAED,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;gCAChE,IAAI,MAAI,GAAG,KAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,EAAzC,CAAyC,CAAC;gCAC7F,IAAI,kBAAgB,GAAG,KAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,MAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAA3B,CAA2B,CAAC,CAAC;gCAC/E,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAgB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gCAChE,KAAI,CAAC,cAAc,GAAG,YAAU,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;gCACnD,IAAI,UAAU,CAAC;gCACf,KAAI,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,CAAC,SAAS,CAAC,cAAI;oCACxD,IAAI,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,cAAc,KAAK,KAAI,CAAC,cAAc,EAA1C,CAA0C,CAAC,CAAC;oCACrF,UAAU,GAAG;wCACX,cAAc,EAAE,YAAY,CAAC,cAAc;wCAC3C,YAAY,EAAE,KAAI,CAAC,YAAY;wCAC/B,gBAAgB,EAAE,YAAY,CAAC,gBAAgB;wCAC/C,YAAY,EAAE,YAAY,CAAC,YAAY;qCACxC;oCACD,KAAI,CAAC,OAAO,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC;oCAC7B,IAAI,KAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;wCAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4CAC7C,IAAI,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,iBAAiB,IAAI,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,YAAU,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE;gDAC7G,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;6CAC7D;yCACF;qCACF;oCACD,KAAI,CAAC,SAAS,GAAG,YAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oCACzC,IAAI,QAAQ,GAAG,KAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,KAAI,CAAC,SAAS,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,WAAW,EAA1E,CAA0E,CAAC,CAAC;oCACtH,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;wCACvB,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;qCAC1D;oCACD,IAAI,SAAS,GAAG,KAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,KAAI,CAAC,SAAS,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,YAAY,EAA3E,CAA2E,CAAC,CAAC;oCACxH,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;wCACxB,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;qCAC5D;oCAED,IAAI,UAAU,GAAG,KAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,KAAI,CAAC,SAAS,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,aAAa,EAA5E,CAA4E,CAAC,CAAC;oCAC1H,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;wCACzB,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;qCAC9D;oCACD,IAAI,KAAI,CAAC,SAAS,IAAI,GAAG,EAAE;wCACzB,KAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,cAAI;4CACzC,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;4CAC7C,IAAI,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,KAAI,CAAC,SAAS,EAA9B,CAA8B,CAAC,CAAC;4CAC/E,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;gDAC1B,KAAI,CAAC,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;gDAC9C,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;gDACnC,KAAI,CAAC,iBAAiB,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;6CACzD;4CACD,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC;4CACpD,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAI,CAAC,iBAAiB,CAAC,CAAC;4CAEhE,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC;4CACzD,cAAc,CAAC,OAAO,CAAC,kBAAkB,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC;wCAE/D,CAAC,CAAC,CAAC;qCACJ;oCACD,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAI,CAAC,gBAAgB,CAAC,CAAC;oCAC9D,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,KAAI,CAAC,QAAQ,CAAC,CAAC;oCAC9C,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,KAAI,CAAC,QAAQ,CAAC,CAAC;oCAC3C,KAAI,CAAC,MAAM,GAAG,kBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;oCACzC,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAI,CAAC,MAAM,CAAC,CAAC;oCAC1C,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC;oCACxD,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,KAAI,CAAC,MAAM,CAAC,CAAC;oCAE7C,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,YAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;oCACzD,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,YAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;oCAC3D,KAAI,CAAC,KAAK,GAAG,IAAI,CAAC;oCAClB,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;oCAClC,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAI,CAAC,eAAe,CAAC,CAAC;oCAC5D,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,KAAI,CAAC,QAAQ,CAAC,CAAC;oCAC9C,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;oCAE3C,IAAI,CAAC,QAAQ,EAAE;wCACb,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;qCAC/C;oCAED,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,UAAU,CAAC,CAAC;oCACtD,IAAI,CAAC,KAAI,CAAC,eAAe,EAAE;wCACzB,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC;wCACxB,KAAI,CAAC,eAAe,GAAG,KAAK,CAAC;wCAC7B,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAI,CAAC,eAAe,CAAC,CAAC;wCAC5D,KAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;qCACtC;yCAAM;wCACL,KAAI,CAAC,WAAW,GAAG,KAAK,CAAC;wCACzB,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;wCAC5B,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAI,CAAC,eAAe,CAAC,CAAC;wCAC5D,KAAI,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;qCAC1C;gCACH,CAAC,CAAC,CAAC;6BACJ;iCACI;gCACH,KAAI,CAAC,WAAW,GAAG,KAAK,CAAC;gCACzB,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;gCAC5B,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC;gCACpD,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAI,CAAC,eAAe,CAAC,CAAC;gCAC5D,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,YAAU,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,YAAU,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,EAAnE,CAAmE,CAAC,CAAC;gCACnI,IAAI,KAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;oCAClC,IAAI,gBAAgB,GAAG,KAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,EAA1C,CAA0C,CAAC,CAAC;oCAC9F,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;oCAChE,KAAI,CAAC,SAAS,GAAG,YAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oCACzC,KAAI,CAAC,MAAM,CAAC,WAAW,CAAC,YAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,cAAI;wCAC7D,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;wCAC9C,IAAI,QAAQ,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,KAAK,YAAU,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,YAAU,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,KAAI,CAAC,SAAS,EAAvF,CAAuF,CAAC,CAAC;wCACtI,KAAI,CAAC,UAAU,GAAG,YAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;wCAC3C,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;4CACvB,IAAI,KAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;gDAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oDAC7C,IAAI,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,YAAU,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE;wDAC5G,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;qDAC7D;yDACI,IAAI,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,iBAAiB,IAAI,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,YAAU,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE;wDAClH,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;qDAC7D;iDACF;6CACF;4CACD,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;yCAClD;wCACD,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;wCACnD,KAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;wCACjC,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAI,CAAC,gBAAgB,CAAC,CAAC;wCAC9D,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,KAAI,CAAC,QAAQ,CAAC,CAAC;wCAC9C,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,KAAI,CAAC,QAAQ,CAAC,CAAC;wCAC3C,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC;wCACxD,IAAI,QAAQ,GAAG,KAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,KAAI,CAAC,SAAS,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,WAAW,EAA1E,CAA0E,CAAC,CAAC;wCACtH,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;4CACvB,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;yCAC1D;wCACD,IAAI,SAAS,GAAG,KAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,KAAI,CAAC,SAAS,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,YAAY,EAA3E,CAA2E,CAAC,CAAC;wCACxH,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;4CACxB,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;4CAC3D,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;yCACjE;wCACD,IAAI,UAAU,GAAG,KAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,KAAI,CAAC,SAAS,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,aAAa,EAA5E,CAA4E,CAAC,CAAC;wCAC1H,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;4CACzB,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;yCAC9D;wCACD,IAAI,KAAI,CAAC,SAAS,IAAI,GAAG,EAAE;4CACzB,KAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,cAAI;gDACzC,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;gDAC7C,IAAI,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,KAAI,CAAC,SAAS,EAA9B,CAA8B,CAAC,CAAC;gDAC/E,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;oDAC1B,KAAI,CAAC,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;oDAC9C,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;oDACnC,KAAI,CAAC,iBAAiB,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;iDACzD;gDACD,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAI,CAAC,iBAAiB,CAAC,CAAC;gDAChE,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC;gDACpD,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC;gDACzD,cAAc,CAAC,OAAO,CAAC,kBAAkB,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC;4CAC/D,CAAC,CAAC,CAAC;yCACJ;wCACD,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;wCAClC,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,KAAI,CAAC,MAAM,CAAC,CAAC;wCAC7C,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,YAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;wCACzD,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,YAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;wCACnD,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,YAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;wCAC3D,KAAI,CAAC,KAAK,GAAG,IAAI,CAAC;wCAClB,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;wCAClC,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAI,CAAC,eAAe,CAAC,CAAC;wCAC5D,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,KAAI,CAAC,QAAQ,CAAC,CAAC;wCAC9C,KAAI,CAAC,WAAW,GAAG,KAAK,CAAC;wCACzB,KAAI,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;oCAC3C,CAAC,CAAC,CAAC;iCACJ;6BACF;wBACH,CAAC,CAAC;oBACJ,CAAC,CAAC,CAAC;iBACJ;qBACI;oBACH,KAAI,CAAC,UAAU,GAAG,gCAAgC,CAAC;iBACpD;aACF;iBACI;gBACH,KAAI,CAAC,UAAU,GAAG,gCAAgC,CAAC;gBACnD,OAAO;aACR;QACH,CAAC,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,SAAS,IAAI,GAAG,EAAE;YACzB,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,cAAI;gBACzC,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;gBAE7C,kFAAkF;gBAClF,gCAAgC;gBAChC,mDAAmD;gBACnD,IAAI;gBAEJ,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC;gBACpD,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC;gBACzD,cAAc,CAAC,OAAO,CAAC,kBAAkB,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC;YAE/D,CAAC,CAAC,CAAC;SACJ;IAEH,CAAC;IAED,mCAAU,GAAV;IAEA,CAAC;IACD,+BAAM,GAAN;QACE,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,EAAE;QACnB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAChC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC7B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAChC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAClC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACrC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACzC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACrC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACpC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACpC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,cAAc,CAAC,KAAK,EAAE,CAAC;QACvB,cAAc,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;QAC9C,cAAc,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QACzC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAED,mCAAU,GAAV,UAAW,KAAK;QACd,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAI,KAAK,CAAC,OAAO,KAAK,EAAE,EAAE;YACxB,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;SAC1C;IACH,CAAC;IAED,gCAAO,GAAP,UAAQ,KAAK;QACX,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,EAAE;YACpB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,KAAK,EAAE,CAAC;SACd;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;SAChB;IAEH,CAAC;IACD,uCAAc,GAAd;QAAA,iBAuBC;QAtBC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE;YAC7D,UAAU,EAAE,yBAAyB;YACrC,IAAI,EAAE,WAAW,GAAG,KAAK,GAAG,KAAK;SAClC,CAAC,CAAC;QAEH,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACrD,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACrD,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3D,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAEvD,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,aAAG;YACnC,IAAI,GAAG,EAAE;gBACP,IAAM,aAAa,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE;oBACjE,IAAI,EAAE,qBAAqB,GAAG,KAAK,GAAG,KAAK;iBAC5C,CAAC,CAAC;gBACH,aAAa,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,cAAI;oBACxC,KAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;gBAjpB2B,6DAAa;gBACvB,sDAAM;gBACL,kEAAmB;gBACP,kFAAmB;gBAChC,kEAAS;gBACL,sEAAkB;gBACd,yEAAc;gBACjB,kEAAe;;IA5D3B,cAAc;QAL1B,+DAAS,CAAC;YACT,QAAQ,EAAE,WAAW;YACrB,iJAAqC;;SAEtC,CAAC;OACW,cAAc,CAusB1B;IAAD,qBAAC;CAAA;AAvsB0B;AA+sB3B;IASE,oCACS,SAAmD,EAC1B,IAAS,EAAS,aAA4B,EAAU,OAA4B;QAD7G,cAAS,GAAT,SAAS,CAA0C;QAC1B,SAAI,GAAJ,IAAI,CAAK;QAAS,kBAAa,GAAb,aAAa,CAAe;QAAU,YAAO,GAAP,OAAO,CAAqB;QACpH,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IACD,6CAAQ,GAAR;QACE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC1D,CAAC;IAED,0CAAK,GAAL;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IACD,mDAAc,GAAd;QAAA,iBAiCC;QA/BC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACnE,IAAI,CAAC,QAAQ,GAAG,kCAAkC,CAAC;YACnD,OAAO;SACR;aAAM,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;YAC5D,IAAI,CAAC,QAAQ,GAAG,2CAA2C,CAAC;YAC5D,OAAO;SACR;aAAM,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,eAAe,EAAE;YACpD,IAAI,CAAC,QAAQ,GAAG,4CAA4C,CAAC;YAC7D,OAAO;SACR;aAAM,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,eAAe,EAAE;YACpD,IAAI,CAAC,QAAQ,GAAG,oDAAoD,CAAC;YACrE,OAAO;SACR;aACI;YACH,IAAM,IAAI,GAAG;gBACX,QAAQ,EAAE,IAAI,CAAC,eAAe;gBAC9B,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM;aACnC,CAAC;YACF,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,cAAI;gBAEpD,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,OAAO,EAAE;oBAExC,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;iBAE5B;qBAAM;oBACL,KAAI,CAAC,QAAQ,GAAG,aAAa,CAAC;iBAC/B;YAEH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;;gBA7CmB,qEAAY;gDAC7B,oDAAM,SAAC,wEAAe;gBAA0C,6DAAa;gBAAmB,kEAAmB;;IAX3G,0BAA0B;QANtC,+DAAS,CAAC;YACT,QAAQ,EAAE,YAAY;YACtB,+HAA0B;YAE1B,SAAS,EAAE,CAAC,6DAAa,CAAC;;SAC3B,CAAC;QAYG,6GAAM,CAAC,wEAAe,CAAC;OAXf,0BAA0B,CAwDtC;IAAD,iCAAC;CAAA;AAxDsC;;;;;;;;;;;;;AC/tBvC;AAAA;AAAA;AAAA;AAAA;AAA6B;AAEwB;AACrD,gBAAgB;AAChB,wBAAwB;AACxB,KAAK;AACL;IAGE;QADO,sBAAiB,GAA8B,IAAI,CAAC;QAEzD,IAAI,CAAC,iBAAiB,GAAG,IAAI,yDAAyB,CACpD,iEAAY,CAAC,QAAQ,EACrB,oCAAoC,GAAG,iEAAY,CAAC,QAAQ,EAC5D,IAAI,CAAC,YAAY,EACjB;YACE,sBAAsB,EAAE,IAAI;SAE7B,CACF,CAAC;IACJ,CAAC;IACM,wCAAc,GAArB;QACE,IACE,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,SAAS;YACpD,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,IAAI,EAC9C;YACA,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;SAC3D;QACD,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAEM,sCAAY,GAAnB,UAAoB,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS;QACpD,IAAI,KAAK,EAAE;YACP,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SACtB;aAAM;YACL,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,GAAG,SAAS,CAAC,CAAC;SACtC;IACH,CAAC;IAEM,4CAAkB,GAAzB;QACE,IAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAEM,gCAAM,GAAb;QACE,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;IAClC,CAAC;IAEM,+BAAK,GAAZ;QACC,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;IACxC,CAAC;IACH,sBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;AC7CwB;AAKvB;IAHA;QAUE,gBAAW,GAAG,IAAI,0DAAY,EAAE,CAAC;QAGjC,mBAAc,GAAG,IAAI,0DAAY,EAAE,CAAC;IA+BtC,CAAC;IA5BC,sBAAI,4BAAK;aAAT,cAAc,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;;;OAAA;IAGrC,sBAAI,gCAAS;aAAb,cAAkB,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;;;OAAA;IAI7C,+BAAW,GAAX,UAAY,KAAK;QAFjB,iBAYC;QATC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC;YACxB,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC7B,KAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;gBAC1B,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC,EAAE,EAAE,CAAC,CAAC;QACT,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC;IAKD,4BAAQ,GAAR;QACE,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3B,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IAjCD;QADC,4DAAM,EAAE;kDACwB;IAGjC;QADC,4DAAM,EAAE;qDAC2B;IAGpC;QADC,iEAAW,CAAC,aAAa,CAAC;0CACU;IAGrC;QADC,iEAAW,CAAC,iBAAiB,CAAC;8CACc;IAI7C;QAFC,kEAAY,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,CAAC;QACtC,kEAAY,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC;gDAWrC;IAKD;QAHC,kEAAY,CAAC,UAAU,CAAC;QACxB,kEAAY,CAAC,SAAS,CAAC;QACvB,kEAAY,CAAC,YAAY,CAAC;6CAM1B;IAxCU,SAAS;QAHrB,+DAAS,CAAC;YACT,QAAQ,EAAE,cAAc;SACzB,CAAC;OACW,SAAS,CAyCrB;IAAD,gBAAC;CAAA;AAzCqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACXkC;AACR;AACb;AAC+C;AACvC;AACH;AAEW;AACE;AACiB;AAC+B;AACxD;AAO/C;IA2EE,yBAAoB,IAAU,EAAU,aAA4B,EAC3D,MAAiB,EAAU,OAA4B,EACvD,WAAwB,EACvB,gBAA6C;QAHnC,SAAI,GAAJ,IAAI,CAAM;QAAU,kBAAa,GAAb,aAAa,CAAe;QAC3D,WAAM,GAAN,MAAM,CAAW;QAAU,YAAO,GAAP,OAAO,CAAqB;QACvD,gBAAW,GAAX,WAAW,CAAa;QACvB,qBAAgB,GAAhB,gBAAgB,CAA6B;QA7EvD,uBAAkB,GAAG,mFAAkB,CAAC;QASxC,cAAS,GAAG,KAAK,CAAC;QAClB,WAAM,GAAG,KAAK,CAAC;QAcf,kBAAa,GAAG,GAAG,CAAC;QAUpB,iBAAY,GAAG,EAAE,CAAC;QAClB,wBAAmB,GAAG,EAAE,CAAC;QAGzB,MAAC,GAAW,CAAC,CAAC;QACd,eAAU,GAAG,EAAE,CAAC;QAChB,kBAAa,GAAG,EAAE,CAAC;QAEnB,gBAAW,GAAG,EAAE,CAAC;QACjB,WAAM,GAAY,KAAK,CAAC;QACxB,WAAM,GAAG,EAAE,CAAC;QAEZ,UAAK,GAAG,IAAI,CAAC;QACb,iBAAY,GAAG,KAAK,CAAC;QACrB,eAAU,GAAG,EAAE,CAAC;QAEhB,cAAS,GAAG,KAAK,CAAC;QAClB,kBAAa,GAAG,KAAK,CAAC;QACtB,gBAAW,GAAG,EAAE,CAAC;QASjB,sBAAiB,GAAG,KAAK,CAAC;QAE1B,oBAAe,GAAG,EAAE,CAAC;QAenB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAChE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAElE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAChE,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED,kCAAQ,GAAR;QAEE,IAAI,CAAC,QAAQ,EAAE,CAAC;QAEhB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,KAAK,QAAQ,EAAhD,CAAgD,CAAC,CAAC;QAC5F,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;YAClD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;SAC3C;aACI;YACH,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;SACrB;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;SAC1C;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,IAAI,CAAC,UAAU,EAAE,CAAC;IAEpB,CAAC;IAGD,kCAAQ,GAAR;QAAA,iBAMC;QALC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,cAAI;YAEhE,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qCAAW,GAAX;QACE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IACD,oCAAU,GAAV;QAAA,iBAuCC;QAtCC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CACrC,UAAC,IAAI;YACH,OAAO,CACL,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChH,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAClH,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC1G,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChH,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAE1G,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAEvG,CAAC;QACJ,CAAC,CAEF,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE;YAC/B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;QAED,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE,EAAE;YAC1B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;YACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YACtC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACzC;aACI;YACH,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC;YAClC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACxC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;gBACnC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE;oBAE7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aAC3C;SACF;IACH,CAAC;IAED,oCAAU,GAAV;QAAA,iBAiDC;QAhDC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC7D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC;YAC3B,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,aAAa,IAAI,IAAI,IAAI,CAAC,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,GAAG,EAA7D,CAA6D,CAAC,CAAC;YAC9G,IAAI,cAAc,GAAG,KAAI,CAAC,UAAU,CAAC;YAErC,IAAI,KAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;gBAChC,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC1B,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;aAC3B;iBACI;gBAEH,IAAI,KAAI,CAAC,eAAe,EAAE;oBACxB,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,KAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE;wBACnF,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,UAAU,CAAC,MAAM,CAAC,iBAAO,IAAI,YAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAO,IAAI,cAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAhC,CAAgC,CAAC,EAA/D,CAA+D,CAAC,CAAC;qBACtH;yBACI,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,KAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE;wBAClF,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,UAAU,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,MAAM,IAAI,KAAI,CAAC,eAAe,CAAC,MAAM,EAAzC,CAAyC,CAAC;qBAC3F;yBACI;wBACH,IAAI,IAAI,GAAG,KAAI,CAAC,UAAU,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,KAAI,CAAC,SAAS,EAA9B,CAA8B,CAAC,CAAC;wBACvE,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC;qBACxB;iBACF;aAEF;YAED,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YAExB,IAAI,KAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;gBAChC,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC1B,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;aAC3B;iBACI;gBACH,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC9D,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,UAAU,CAAC,MAAM,CAAC;gBACvC,KAAI,CAAC,mBAAmB,CAAC,KAAI,CAAC,QAAQ,CAAC;gBAEvC,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;aAE5B;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,6CAAmB,GAAnB,UAAoB,QAAQ;QAC1B,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE;YACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;SAC1C;QACD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAC/C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;gBACnC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE;oBAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aAC3C;SACF;IACH,CAAC;IACD,sCAAY,GAAZ;QACE,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YACtC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YAC5C,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;YAC9C,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YACzC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YAC9C,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAC1C,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;YACnC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YAEjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAEhC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAE/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACzB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;YAClC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAE7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;YACzC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;YAEhC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAE7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;YACvC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAExB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;SAC9B;QAED,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,GAAG,SAAS,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAC,gBAAgB,EAAE,EAAE,EAAE,eAAe,EAAE,2DAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAExR,CAAC;IACD,8BAAI,GAAJ,UAAK,QAAQ;QACX,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,0BAA0B;QACtD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IACD,wCAAc,GAAd;QAAA,iBAKC;QAJC,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,iBAAO;YACnD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,eAAe,GAAG,OAAO,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,iCAAO,GAAP;QAAA,iBAkBC;QAjBC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC1D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;YAExB,IAAI,KAAI,CAAC,eAAe,EAAE;gBACxB,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,KAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE;oBACnF,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,IAAI,KAAI,CAAC,eAAe,CAAC,YAAY,EAArD,CAAqD,CAAC;iBACnG;qBACI,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,KAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE;oBAClF,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,IAAI,KAAI,CAAC,eAAe,CAAC,YAAY,IAAI,GAAG,CAAC,MAAM,IAAI,KAAI,CAAC,eAAe,CAAC,MAAM,EAAlG,CAAkG,CAAC;oBAC/I,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;iBAC3C;qBACI;oBACH,KAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;iBACzB;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,qCAAW,GAAX;QAAA,iBAKC;QAJC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC9D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,YAAY,GAAG,OAAO,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,oCAAU,GAAV;QAAA,iBAgBC;QAfC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC7D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC;YAC3B,IAAI,KAAI,CAAC,eAAe,EAAE;gBACxB,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,KAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE;oBACnF,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,iBAAO,IAAI,YAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAO,IAAI,cAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAhC,CAAgC,CAAC,EAA/D,CAA+D,CAAC,CAAC;iBACxH;qBACI,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,KAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE;oBAClF,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,MAAM,IAAI,KAAI,CAAC,eAAe,CAAC,MAAM,EAAzC,CAAyC,CAAC;iBAC7F;qBACI;oBACH,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC;iBAC5B;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oCAAU,GAAV,UAAW,GAAW;QAAtB,iBAwGC;QAvGC,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE;YACxD,UAAU,EAAE,yBAAyB;YACrC,IAAI,EAAE,GAAG,GAAG,KAAK,GAAG,KAAK;SAC1B,CAAC,CAAC;QACH,IAAI,GAAG,KAAK,KAAK,EAAE;YACjB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;QACD,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACzD,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3D,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACvD,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAE3D,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7D,SAAS,CAAC,iBAAiB,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QACjE,SAAS,CAAC,iBAAiB,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QACnE,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7D,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACzD,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACrD,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7D,SAAS,CAAC,iBAAiB,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QAC3E,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7D,SAAS,CAAC,iBAAiB,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QAC3E,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACvD,SAAS,CAAC,iBAAiB,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QACnE,SAAS,CAAC,iBAAiB,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QAC/D,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACzD,SAAS,CAAC,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACjD,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,GAAG,KAAK,MAAM,EAAE;YAClB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,KAAI,CAAC,MAAM,EAAxB,CAAwB,CAAC,CAAC;YAC7E,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,eAAe,CAAC;YAC1D,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YACzD,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YACvD,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YACzD,SAAS,CAAC,iBAAiB,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YAC/D,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YACvD,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YAC7D,SAAS,CAAC,iBAAiB,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACvE,SAAS,CAAC,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACjD,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YACrD,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YACzD,SAAS,CAAC,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM;YAChD,SAAS,CAAC,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YACnD,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YAC3D,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YAC7D,SAAS,CAAC,iBAAiB,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;YAE3E,SAAS,CAAC,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAEjD,SAAS,CAAC,iBAAiB,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACvE,SAAS,CAAC,iBAAiB,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;SAChE;QAED,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;YAEtC,0BAA0B;YAC1B,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,IAAI,KAAI,CAAC,UAAU,KAAK,EAAE,IAAI,KAAI,CAAC,UAAU,KAAK,SAAS,EAAE;gBAC3D,KAAI,CAAC,UAAU,EAAE,CAAC;aACnB;iBACI;gBAEH,KAAI,CAAC,UAAU,EAAE,CAAC;aACnB;YAED,IAAI,MAAM,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE;gBAChC,CAAC;gBACD,IAAI,SAAS,GAAG,EAAE,CAAC;gBACnB,IAAI,GAAG,KAAK,KAAK,EAAE;oBACjB,SAAS,GAAG,oBAAoB,CAAC;iBAClC;qBAAM;oBAEL,SAAS,GAAG,sBAAsB,CAAC;iBACpC;gBAGD,0BAA0B;gBAC1B,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;gBAEtB,KAAI,CAAC,UAAU,EAAE,CAAC;gBAElB,IAAM,YAAY,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE;oBAC3D,UAAU,EAAE,yBAAyB;oBACrC,IAAI,EAAE,SAAS,GAAG,KAAK,GAAG,KAAK;iBAEhC,CAAC,CAAC;gBAEH,UAAU,CAAC;oBACT,KAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,CAAC,EAAE,GAAG,CAAC,CAAC;gBACR,YAAY,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,iBAAO;oBAE1C,IAAI,KAAI,CAAC,UAAU,KAAK,EAAE,EAAE;wBAC1B,KAAI,CAAC,UAAU,EAAE,CAAC;qBACnB;yBACI;wBACH,KAAI,CAAC,UAAU,EAAE,CAAC;qBACnB;gBACH,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,yCAAe,GAAf,UAAgB,SAAiB;QAC/B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjD,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,EAAE;gBACtF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;aAC9C;SACF;IAEH,CAAC;IAED,4CAAkB,GAAlB,UAAmB,UAAU;QAC3B,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjD,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,EAAE;gBAChD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;aACjD;SACF;IACH,CAAC;IAED,2CAAiB,GAAjB,UAAkB,MAAM;QACtB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAChD,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,MAAM,CAAC,QAAQ,EAAE,EAAE;gBAC/D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;aACtB;SACF;IACH,CAAC;IAED,qCAAW,GAAX,UAAY,OAAO,EAAE,IAAI;QACvB,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;QACnD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAE7B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjD,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE;gBAC1D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;aAC/C;SACF;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,GAAG,EAAE;YACtD,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;YACrC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;SAChC;aAAM;YACL,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC;YACxC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC;SACjC;QACD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED,kCAAQ,GAAR;QACE,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;YAC7C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;SACvC;IACH,CAAC;IACD,uCAAa,GAAb,UAAc,OAAO;QAArB,iBA4BC;QA3BC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC,gBAAgB,CAAC,4BAA4B,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,cAAI;YAClF,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC;QACrB,CAAC,CAAC;QACF,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE;YACxD,UAAU,EAAE,yBAAyB;YACrC,IAAI,EAAE,0CAA0C,GAAG,OAAO,CAAC,WAAW,GAAG,MAAM,GAAG,IAAI;YACtF,KAAK,EAAE,OAAO;SACf,CAAC,CAAC;QACH,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;YACtC,IAAI,MAAM,EAAE;gBACV,IAAI,CAAC,MAAM,EAAE;oBACX,KAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,cAAI;wBAC7D,IAAI,IAAI,CAAC,EAAE,EAAE;4BACX,KAAI,CAAC,QAAQ,EAAE,CAAC;4BAChB,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;4BACtB,KAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;yBACzC;wBACD,KAAI,CAAC,UAAU,EAAE,CAAC;oBACpB,CAAC,CAAC,CAAC;iBACJ;qBACI;oBACH,KAAI,CAAC,UAAU,CAAC,0DAA0D,CAAC,CAAC;iBAC7E;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;gBA7dyB,kDAAI;gBAAyB,6DAAa;gBACnD,kEAAS;gBAAmB,kEAAmB;gBAC1C,kEAAW;gBACL,mHAA2B;;IA9E5C,eAAe;QAL3B,+DAAS,CAAC;YACT,QAAQ,EAAE,YAAY;YACtB,oJAAsC;YACtC,SAAS,EAAE,CAAC,6DAAa,CAAC;SAC3B,CAAC;OACW,eAAe,CAyiB3B;IAAD,sBAAC;CAAA;AAziB2B;AAgjB5B;IAgDE,+BACS,SAA8C,EACrB,IAAS,EAAS,aAA4B,EAAU,QAAkB;QADnG,cAAS,GAAT,SAAS,CAAqC;QACrB,SAAI,GAAJ,IAAI,CAAK;QAAS,kBAAa,GAAb,aAAa,CAAe;QAAU,aAAQ,GAAR,QAAQ,CAAU;QA7C5G,cAAS,GAAG,KAAK,CAAC;QAClB,WAAM,GAAG,KAAK,CAAC;QAUf,aAAQ,GAAG,EAAE,CAAC;QAId,kBAAa,GAAG,GAAG,CAAC;QASpB,iBAAY,GAAG,EAAE,CAAC;QAClB,wBAAmB,GAAG,EAAE,CAAC;QACzB,sBAAiB,GAAG,EAAE,CAAC;QACvB,gBAAW,GAAG,IAAI,0DAAW,EAAE,CAAC;QAQhC,sBAAiB,GAAG,KAAK,CAAC;QAE1B,oBAAe,GAAG,EAAE,CAAC;QACrB,eAAU,GAAG,KAAK,CAAC;QAInB,gBAAW,GAAG,KAAK,CAAC;QAIlB,+BAA+B;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE;YAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;aAAM,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE;YACnC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;aACI;YACH,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE;gBACvB,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;aACpC;iBAAM;gBACL,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC;aACrC;SAEF;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAED,wCAAQ,GAAR;QACE,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAC1C;IACH,CAAC;IAED,wCAAQ,GAAR,UAAS,KAAK;QACZ,IAAI,CAAC,UAAU,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC;IAGD,0CAAU,GAAV,UAAW,KAAU;QACnB;QACE,+CAA+C;QAC/C,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAChD,CAAC,KAAK,CAAC,OAAO,KAAK,EAAE,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,gBAAgB;YACpE,CAAC,KAAK,CAAC,OAAO,KAAK,EAAE,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,gBAAgB;YACpE,CAAC,KAAK,CAAC,OAAO,KAAK,EAAE,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,gBAAgB;YACpE,CAAC,KAAK,CAAC,OAAO,KAAK,EAAE,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,gBAAgB;YACpE,CAAC,KAAK,CAAC,OAAO,KAAK,EAAE,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,cAAc;YAClE,CAAC,KAAK,CAAC,OAAO,KAAK,EAAE,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,cAAc;YAClE,CAAC,KAAK,CAAC,OAAO,KAAK,EAAE,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,cAAc;YAClE,CAAC,KAAK,CAAC,OAAO,KAAK,EAAE,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,cAAc;YAClE,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAE,yBAAyB;UACvE;YACA,OAAO;SACR;QAED,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,IAAI,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,IAAI,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC,EAAE;YACjH,KAAK,CAAC,cAAc,EAAE,CAAC;SACxB;IACH,CAAC;IAED,2CAAW,GAAX,UAAY,KAAK;QACf,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC;IACnC,CAAC;IACD,0CAAU,GAAV;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IACD,yCAAS,GAAT;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IACD,iDAAiB,GAAjB;QACE,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC;IACnD,CAAC;IACD,0CAAU,GAAV;QAAA,iBA+CC;QA9CC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAExB,UAAU,CAAC;YACT,KAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAC3B,CAAC,EAAE,IAAI,CAAC,CAAC;QACT,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC;QAC7B,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAM,SAAS,GAAG,CAAC,CAAC;QACpB,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,kCAAkC;YACpE,qJAAqJ;YAErJ,IAAI,CAAC,MAAM,KAAK,SAAS;YACzB,8DAA8D;eAC3D,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS;YAC7D,gCAAgC;eAC7B,IAAI,CAAC,SAAS,KAAK,EAAE,IAAK,mOAAmO;YAChQ,IAAI,CAAC,MAAM,KAAK,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE;YAC3E,IAAI,CAAC,QAAQ,GAAG,kCAAkC,CAAC;YACnD,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE;aAExB;YACD,KAAK,EAAE,CAAC;SACT;QAED,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS;gBACnE,IAAI,CAAC,UAAU,KAAK,EAAE,IAAI,IAAI,CAAC,aAAa,KAAK,EAAE,EAAE;gBACrD,IAAI,CAAC,QAAQ,GAAG,kCAAkC,CAAC;gBACnD,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE;iBAExB;gBACD,KAAK,EAAE,CAAC;aAET;SAEF;QACD,IAAI,KAAK,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YACnB,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE;gBAEvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACxB;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACxB;SACF;IAEH,CAAC;IAED,sCAAM,GAAN,UAAO,GAAW;QAAlB,iBAyGC;QAxGC,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;QAEpB,uBAAuB;QACvB,yBAAyB;QACzB,IAAI;QAEJ,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;SACvB;QAED,gCAAgC;QAChC,0CAA0C;QAC1C,IAAI;QAIJ,IAAI,UAAkB,CAAC;QACvB,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,UAAU,GAAG,IAAI,CAAC,aAAa;SAChC;aACI;YACH,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;SAC9B;QACD,IAAM,IAAI,GAAG;YACX,kBAAkB;YAClB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,8BAA8B;YAC9B,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,UAAU,EAAE,UAAU;YACtB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,kBAAkB,EAAE,IAAI,CAAC,iBAAiB;YAC1C,YAAY,EAAE,GAAG;YACjB,UAAU,EAAE,IAAI,CAAC,UAAU;YAE3B,mCAAmC;YACnC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW,EAAE,IAAI,CAAC,WAAW;YAE7B,MAAM,EAAE,GAAG;YACX,SAAS,EAAE,IAAI,CAAC,WAAW;YAC3B,SAAS,EAAE,IAAI,CAAC,WAAW;YAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC;QAEF,IAAI,GAAG,KAAK,KAAK,EAAE;YACjB,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,cAAI;gBAEvD,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,GAAG,EAAE;oBAEpC,8BAA8B;oBAC9B,KAAI,CAAC,QAAQ,GAAG,mBAAmB,CAAC;oBACpC,uBAAuB;oBACvB,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;oBACvB,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;oBACtB,KAAI,CAAC,SAAS,GAAG,EAAE,CAAC;oBAEpB,KAAI,CAAC,MAAM,GAAG,EAAE,CAAC;oBACjB,KAAI,CAAC,MAAM,GAAG,EAAE,CAAC;oBACjB,IAAI,KAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,IAAI,SAAS,IAAI,KAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,KAAK,UAAU,EAAE;wBACtG,OAAO;qBAER;yBAEI,IAAI,KAAI,CAAC,aAAa,IAAI,KAAI,CAAC,iBAAiB,KAAK,EAAE,EAAE;wBAC5D,KAAI,CAAC,UAAU,GAAG,EAAE,CAAC;wBACrB,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC;wBACxB,KAAI,CAAC,eAAe,GAAG,EAAE,CAAC;wBAC1B,wBAAwB;qBACzB;yBACI;wBACH,KAAI,CAAC,UAAU,GAAG,EAAE,CAAC;qBACtB;iBACF;qBACI;oBACH,KAAI,CAAC,QAAQ,GAAG,aAAa,CAAC;iBAC/B;YACH,CAAC,CAAC,CAAC;SAEJ;aACI;YAEH,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,cAAI;gBAEvD,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,IAAI,GAAG,EAAE;oBAEnC,KAAI,CAAC,QAAQ,GAAG,sBAAsB,CAAC;oBACvC,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;iBAG5B;qBAAM;oBACL,KAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC;iBAClC;YACH,CAAC,CAAC,CAAC;SACJ;IAEH,CAAC;IAGD,qCAAK,GAAL;QAGE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IACD,wCAAQ,GAAR,UAAS,KAAK;QAAd,iBAUC;QATC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;QAE9B,IAAI,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,KAAK,KAAI,CAAC,UAAU,EAAhC,CAAgC,CAAC,CAAC;QAE9E,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,EAA1C,CAA0C,CAAC,CAAC;YAC9F,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;SAErD;IACH,CAAC;IACD,0CAAU,GAAV,UAAW,KAAK;QACd,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;IAC5B,CAAC;IAED,uCAAO,GAAP,UAAQ,KAAK;QACX,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAChD,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,EAAE;gBACpD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;aAE7C;SACF;IACH,CAAC;IACD,+CAAe,GAAf,UAAgB,SAAS;QACvB,IAAI,CAAC,YAAY,GAAG,EAAE;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjD,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,EAAE;gBACvF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;aAC9C;SACF;IAEH,CAAC;IACD,kDAAkB,GAAlB,UAAmB,UAAU;QAC3B,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjD,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,EAAE;gBAChD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;aACjD;SACF;IACH,CAAC;IAED,wCAAQ,GAAR,UAAS,KAAK;QACZ,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;IAED,2CAAW,GAAX,UAAY,KAAK;QACf,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC;QACjC,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAED,mDAAmB,GAAnB;QACE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxD,IAAI,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,aAAa,KAAK,IAAI,CAAC,aAAa,EAAE;gBACpE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;aAC5D;SACF;IACH,CAAC;IAED,+CAAe,GAAf,UAAgB,KAAK;QACnB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,KAAK,CAAC;IACvC,CAAC;IAED,0CAAU,GAAV,UAAW,KAAK;QACd,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC;IAClC,CAAC;IAED,oCAAI,GAAJ,UAAK,KAAK;QACR,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;IACxB,CAAC;IAED,iDAAiB,GAAjB,UAAkB,MAAM;QAAxB,iBAWC;QAVC,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,CAAC,SAAS,CAAC,iBAAO;YACtD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,eAAe,GAAG,OAAO,CAAC;YAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpD,IAAI,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,EAAE;oBAC7C,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;iBAChD;aACF;QAEH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wCAAQ,GAAR,UAAS,KAAK;QACZ,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;IAChC,CAAC;IAED,4CAAY,GAAZ,UAAa,KAAK;QAChB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC;IAC9B,CAAC;;gBAxUmB,qEAAY;gDAC7B,oDAAM,SAAC,wEAAe;gBAA0C,6DAAa;gBAAoB,wDAAQ;;IAlDjG,qBAAqB;QALjC,+DAAS,CAAC;YACT,QAAQ,EAAE,YAAY;YACtB,gIAA0B;YAC1B,SAAS,EAAE,CAAC,6DAAa,EAAE,wDAAQ,CAAC;SACrC,CAAC;QAmDG,6GAAM,CAAC,wEAAe,CAAC;OAlDf,qBAAqB,CA2XjC;IAAD,4BAAC;CAAA;AA3XiC;;;;;;;;;;;;;;;;;;;;;;;AClkBwB;AAC0B;AAClC;AACG;AACN;AAM/C;IAmCE,6BAAoB,aAA4B,EAAS,MAAiB,EAAS,OAA4B;QAA3F,kBAAa,GAAb,aAAa,CAAe;QAAS,WAAM,GAAN,MAAM,CAAW;QAAS,YAAO,GAAP,OAAO,CAAqB;QAhC/G,MAAC,GAAW,CAAC,CAAC;QACd,eAAU,GAAG,CAAC,CAAC;QACf,kBAAa,GAAG,EAAE,CAAC;QAEnB,gBAAW,GAAG,CAAC,CAAC;QAChB,eAAU,GAAG,EAAE,CAAC;QAChB,cAAS,GAAG,KAAK,CAAC;QAClB,kBAAa,GAAG,KAAK,CAAC;QACtB,cAAS,GAAG,KAAK,CAAC;QAElB,aAAQ,GAAG,EAAE,CAAC;QACd,eAAU,GAAG,EAAE,CAAC;QAchB,cAAS,GAAG,KAAK,CAAC;QAElB,WAAM,GAAY,KAAK,CAAC;QACxB,WAAM,GAAG,EAAE,CAAC;QAEZ,UAAK,GAAG,IAAI,CAAC;QAGX,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACjD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAChE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAClE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC;IAED,sCAAQ,GAAR;QACE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAEpD,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,cAAc,EAAxC,CAAwC,CAAC,CAAC;QAC/E,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;SAC1C;IACH,CAAC;IAED,4CAAc,GAAd;QAAA,iBAKC;QAJC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC7D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,2CAAa,GAAb;QAAA,iBA4DC;QA3DC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC5D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,eAAe,GAAG,OAAO,CAAC;YAC/B,UAAU,CAAC;gBACT,KAAI,CAAC,cAAc,EAAE,CAAC;YACxB,CAAC,EAAE,GAAG,CAAC,CAAC;YACR,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,QAAQ,GAAG,EAAE,CAAC;gBAClB,IAAI,MAAM,GAAG,EAAE,CAAC;gBAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACpD,IAAI,KAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,cAAc,KAAK,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE;wBAEtF,QAAQ,CAAC,IAAI,CAAC,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;wBACnD,MAAM,CAAC,IAAI,CAAC,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;qBAE5C;iBACF;gBACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC5C,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;wBACjB,cAAc,EAAE,KAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,YAAY;wBACrD,gBAAgB,EAAE,KAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,cAAc;wBACzD,OAAO,EAAE,MAAM;wBACf,aAAa,EAAE,QAAQ;qBACxB,CAAC,CAAC;iBACJ;aAEF;YACD,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YACrC,IAAI,KAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC9B,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;aAC3B;iBACI;gBACH,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC5D,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAE3B,KAAI,CAAC,WAAW,GAAG,CAAC,CAAC;gBACrB,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC;gBAExB,OAAO,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,EAAE;oBACvC,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC;oBAC1C,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,GAAG,CAAC,CAAC;iBACzC;gBACD,IAAI,CAAC,KAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAI,CAAC,QAAQ,CAAC;oBAC7C,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC;gBACzC,IAAI,KAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;oBACnC,IAAI,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE;wBAC7B,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;iBAC3C;aACF;QACH,CAAC,CAAC,CAAC;IAKL,CAAC;IAGD,wCAAU,GAAV;QAAA,iBAwCC;QAvCC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC;QAChC,IAAI,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CACrC,UAAC,IAAI;YACH,OAAO,CACL,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACjH,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CACnD,UAAC,EAAE;oBACD,OAAO,CACL,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAClF;gBAEH,CAAC,CACF,CACA,CACA,CAAC,MAAM,CAGT;QAIH,CAAC,CAEF,CAAC;QAGF,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC;QAC7B,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE;YAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE,EAAE;YAC1B,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;YACrB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;IACH,CAAC;IAED,qCAAO,GAAP;QACE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,4CAAc,GAAd,UAAe,OAAO,EAAE,IAAI,EAAE,MAAM;QAClC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;QACpB,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC;QAC3C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAExB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED,wCAAwC;IACxC,+CAA+C;IAC/C,gCAAgC;IAChC,KAAK;IAEL,sCAAQ,GAAR;QAEE,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YAC3C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;SACvC;IACH,CAAC;IAED,8CAAgB,GAAhB,UAAiB,OAAO,EAAE,IAAI,EAAE,MAAM;QAAtC,iBA+BC;QA9BC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,KAAK,GAAG,MAAM;QAGnB,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE;YAC5D,UAAU,EAAE,yBAAyB;YACrC,IAAI,EAAE,4CAA4C,GAAG,OAAO,CAAC,YAAY,GAAG,GAAG,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI;SAEvG,CAAC,CAAC;QACH,2BAA2B;QAE3B,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;YACtC,IAAI,MAAM,EAAE;gBAGV,KAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,KAAI,CAAC,cAAc,EAAE,KAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,cAAI;oBAEjF,IAAI,IAAI,CAAC,EAAE,EAAE;wBACX,KAAI,CAAC,QAAQ,EAAE,CAAC;wBAChB,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;wBACtB,KAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;qBACzC;oBACD,KAAI,CAAC,WAAW,GAAG,CAAC,CAAC;oBACrB,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC;oBACxB,KAAI,CAAC,cAAc,EAAE,CAAC;oBACtB,KAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,CAAC,CAAC,CAAC;aAEJ;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wCAAU,GAAV,UAAW,GAAW;QAAtB,iBAqFC;QApFC,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE;YAC5D,UAAU,EAAE,yBAAyB;YACrC,IAAI,EAAE,GAAG,GAAG,KAAK,GAAG,KAAK;SAE1B,CAAC,CAAC;QACH,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3D,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACrD,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACvD,SAAS,CAAC,iBAAiB,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACrE,SAAS,CAAC,iBAAiB,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QAEnE,IAAI,GAAG,KAAK,KAAK,EAAE;YAEjB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,wBAAwB;YACxB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;YACrB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;QACD,IAAI,GAAG,KAAK,MAAM,EAAE;YAElB,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YAC7D,SAAS,CAAC,iBAAiB,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YAC/C,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YAC3D,SAAS,CAAC,iBAAiB,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;SAClE;QAED,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;YACtC,KAAI,CAAC,WAAW,GAAG,CAAC,CAAC;YACrB,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,IAAI,KAAI,CAAC,UAAU,KAAK,EAAE,EAAE;gBAC1B,KAAI,CAAC,UAAU,EAAE,CAAC;aACnB;iBACI;gBACH,KAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,KAAI,CAAC,aAAa,EAAE,CAAC;aACtB;YAED,IAAI,MAAM,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE;gBAEhC,IAAI,SAAS,GAAG,EAAE,CAAC;gBACnB,IAAI,GAAG,KAAK,KAAK,EAAE;oBACjB,SAAS,GAAG,oBAAoB,CAAC;iBAClC;qBACI;oBAEH,SAAS,GAAG,sBAAsB,CAAC;iBACpC;gBACD,KAAI,CAAC,WAAW,GAAG,CAAC,CAAC;gBACrB,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC;gBACxB,KAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,KAAI,CAAC,aAAa,EAAE,CAAC;gBAErB,IAAM,YAAY,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE;oBAC/D,UAAU,EAAE,yBAAyB;oBACrC,IAAI,EAAE,SAAS,GAAG,KAAK,GAAG,KAAK;iBAEhC,CAAC,CAAC;gBAEH,UAAU,CAAC;oBACT,KAAI,CAAC,WAAW,GAAG,CAAC,CAAC;oBACrB,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC;oBACxB,KAAI,CAAC,cAAc,EAAE,CAAC;oBACtB,KAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,CAAC,EAAE,GAAG,CAAC,CAAC;gBACR,YAAY,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,iBAAO;oBAC1C,KAAI,CAAC,WAAW,GAAG,CAAC,CAAC;oBACrB,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC;oBAExB,IAAI,KAAI,CAAC,UAAU,KAAK,EAAE,EAAE;wBAC1B,KAAI,CAAC,UAAU,EAAE,CAAC;qBACnB;yBACI;wBACH,KAAI,CAAC,cAAc,EAAE,CAAC;wBACtB,KAAI,CAAC,aAAa,EAAE,CAAC;qBACtB;oBAGD,8BAA8B;gBAChC,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IAGL,CAAC;IAED,kCAAI,GAAJ,UAAK,QAAQ;QACX,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,0BAA0B;QACtD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,0CAAY,GAAZ;QACE,IAAI,OAAY,CAAC;QACjB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,IAAI,QAAM,GAAG,EAAE,CAAC;YAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACtD,QAAM,GAAG,QAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;aACpD;YACD,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,QAAM,CAAC;YAEhC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;YACjC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;SACzB;QAGD,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,GAAG,SAAS,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAC,gBAAgB,EAAE,EAAE,EAAE,qBAAqB,EAAE,0DAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QAC5R,iBAAiB;QACjB,iBAAiB;QACjB,UAAU;QACV,yHAAyH;QAEzH,YAAY;IACd,CAAC;;gBAvTkC,6DAAa;gBAAiB,kEAAS;gBAAkB,kEAAmB;;IAnCpG,mBAAmB;QAJ/B,+DAAS,CAAC;YACT,QAAQ,EAAE,gBAAgB;YAC1B,gKAA0C;SAC3C,CAAC;OACW,mBAAmB,CA4V/B;IAAD,0BAAC;CAAA;AA5V+B;AAoWhC;IAcE,mCACS,SAAkD,EACzB,IAAS,EAAS,aAA4B,EAAU,OAA4B;QAD7G,cAAS,GAAT,SAAS,CAAyC;QACzB,SAAI,GAAJ,IAAI,CAAK;QAAS,kBAAa,GAAb,aAAa,CAAe;QAAU,YAAO,GAAP,OAAO,CAAqB;QAdtH,cAAS,GAAG,KAAK,CAAC;QAWlB,gBAAW,GAAG,KAAK,CAAC;QAIlB,gCAAgC;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE;YAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IACD,4CAAQ,GAAR;IACA,CAAC;IACD,8CAAU,GAAV;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IACD,6CAAS,GAAT;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAGD,kDAAc,GAAd;QAAA,iBAKC;QAJC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC7D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iDAAa,GAAb;QAAA,iBAMC;QALC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC5D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,eAAe,GAAG,OAAO,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,kDAAc,GAAd;QAAA,iBA2BC;QA1BC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAExB,UAAU,CAAC;YACT,KAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAC3B,CAAC,EAAE,IAAI,CAAC,CAAC;QACT,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAM,SAAS,GAAG,CAAC,CAAC;QAEpB,IAAI,IAAI,CAAC,YAAY,IAAI,SAAS;YAChC,IAAI,CAAC,YAAY,KAAK,EAAE,IAAI,IAAI,CAAC,WAAW,IAAI,SAAS;YACzD,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAChC,IAAI,CAAC,QAAQ,GAAG,kCAAkC,CAAC;YACnD,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE;aACxB;YACD,KAAK,EAAE,CAAC;SACT;QAED,IAAI,KAAK,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YACnB,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE;gBACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACxB;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACxB;SACF;aAAM;SACN;IACH,CAAC;IACD,0CAAM,GAAN,UAAO,GAAW;QAAlB,iBA4DC;QA3DC,IAAM,IAAI,GAAG;YACX,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,SAAS,EAAE,IAAI,CAAC,WAAW;YAC3B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS,EAAE,IAAI,CAAC,WAAW;SAC5B,CAAC;QACF,IAAI,GAAG,KAAK,KAAK,EAAE;YACjB,IAAI,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,cAAc,KAAK,KAAI,CAAC,cAAc,EAAxC,CAAwC,CAAC,CAAC;YACzF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACvC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE;oBACzF,IAAI,CAAC,QAAQ,GAAG,4BAA4B,CAAC;oBAC7C,OAAO;iBACR;aACF;YAED,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,cAAI;gBAC1D,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE;oBACvC,KAAI,CAAC,QAAQ,GAAG,oBAAoB,CAAC;oBACrC,KAAI,CAAC,aAAa,EAAE,CAAC;oBACrB,KAAI,CAAC,cAAc,EAAE,CAAC;oBACtB,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;oBACvB,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;oBACtB,UAAU,CAAC;wBACT,KAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;oBACrB,CAAC,EAAE,IAAI,CAAC,CAAC;iBACV;qBAAM;oBACL,KAAI,CAAC,QAAQ,GAAG,aAAa,CAAC;iBAC/B;YAEH,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,cAAc,KAAK,KAAI,CAAC,cAAc,EAAxC,CAAwC,CAAC,CAAC;YAC9F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAChD,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;oBACzD,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE;wBACnN,IAAI,CAAC,QAAQ,GAAG,4BAA4B,CAAC;wBAC7C,OAAO;qBACR;iBACF;qBAAM;oBACL,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE;wBAClG,IAAI,CAAC,QAAQ,GAAG,4BAA4B,CAAC;wBAC7C,OAAO;qBACR;iBACF;aAEF;YACD,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,cAAI;gBAC1D,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE;oBACvC,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;iBAC5B;qBAAM;oBACL,KAAI,CAAC,QAAQ,GAAG,sBAAsB,CAAC;oBACvC,KAAI,CAAC,aAAa,EAAE,CAAC;oBACrB,KAAI,CAAC,cAAc,EAAE,CAAC;iBACvB;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IACD,yCAAK,GAAL;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IACD,8CAAU,GAAV,UAAW,KAAK;QACd,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC;IACpC,CAAC;;gBAjImB,qEAAY;gDAC7B,oDAAM,SAAC,wEAAe;gBAA0C,6DAAa;gBAAmB,kEAAmB;;IAhB3G,yBAAyB;QANrC,+DAAS,CAAC;YACT,QAAQ,EAAE,YAAY;YACtB,oIAA0B;YAC1B,6BAA6B;YAC7B,SAAS,EAAE,CAAC,6DAAa,EAAE,mBAAmB,CAAC;SAChD,CAAC;QAiBG,6GAAM,CAAC,wEAAe,CAAC;OAhBf,yBAAyB,CAiJrC;IAAD,gCAAC;CAAA;AAjJqC;;;;;;;;;;;;;;;;;;;;;;;;AC9WY;AACA;AACG;AAEsC;AACxB;AACK;AACzB;AAO/C;IAoCE,kCAAmB,aAA4B,EACrC,iBAAoC,EAAU,OAA4B;QADjE,kBAAa,GAAb,aAAa,CAAe;QACrC,sBAAiB,GAAjB,iBAAiB,CAAmB;QAAU,YAAO,GAAP,OAAO,CAAqB;QApCpF,cAAS,GAAW,0DAAS,CAAC;QAI9B,WAAM,GAAY,KAAK,CAAC;QACxB,WAAM,GAAG,EAAE,CAAC;QAEZ,UAAK,GAAG,IAAI,CAAC;QACb,MAAC,GAAW,CAAC,CAAC;QACd,eAAU,GAAG,EAAE,CAAC;QAChB,mBAAc,GAAsB,EAAE,CAAC;QAEvC,eAAU,GAAY,KAAK,CAAC;QAC5B,mBAAc,GAAa,CAAC,sGAAiB,CAAC,UAAU,EAAE,sGAAiB,CAAC,IAAI,CAAC,CAAC;QAClF,kBAAa,GAAG,EAAE,CAAC;QAInB,gBAAW,GAAG,EAAE,CAAC;QACjB,kBAAa,GAAG,KAAK,CAAC;QACtB,eAAU,GAAG,EAAE,CAAC;QAEhB,cAAS,GAAG,KAAK,CAAC;QAClB,kBAAa,GAAG,KAAK,CAAC;QAKtB,aAAQ,GAAG,EAAE,CAAC;QAEd,eAAU,GAAG,IAAI,IAAI,EAAE,CAAC;QAQtB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAClE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACvD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACtD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAC7D,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAChE,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,GAAG,EAAE;SACvC;aACI;YACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;SAC/C;IAEH,CAAC;IAED,2CAAQ,GAAR;QACE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,mFAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,mFAAkB,CAAC,IAAI,CAAC,EAAE;gBAC1J,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC;aAC/D;iBACI;gBACH,IAAI,CAAC,gBAAgB,CAAC,sGAAiB,CAAC,UAAU,CAAC;aACpD;SACF;aACI;YACH,IAAI,CAAC,gBAAgB,CAAC,sGAAiB,CAAC,UAAU,CAAC;SACpD;QACD,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7C,CAAC;IAED,6CAAU,GAAV,UAAW,KAAK;QAAhB,iBASC;QARC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1B,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,KAAI,CAAC,MAAM,EAAxB,CAAwB,CAAC;QAC/D,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;SACnC;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IACD,mDAAgB,GAAhB,UAAiB,aAAqB;QACpC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAChB,IAAI,CAAC,kBAAkB,GAAG,aAAa,CAAC;QACxC,IAAI,CAAC,UAAU,GAAG,aAAa,KAAK,sGAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAChF,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACzD,CAAC;IAED,mDAAgB,GAAhB,UAAiB,oBAAoB;QACnC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,sBAAsB,CAAC,oBAAoB,CAAC,CAAC;QAClD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,KAAK,oBAAoB,EAAzC,CAAyC,CAAC,CAAC,cAAc,CAAC;IAClH,CAAC;IAEO,iDAAc,GAAtB;QAAA,iBAcC;QAbC,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,cAAI;YAC1E,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC;YAChC,IAAI,KAAI,CAAC,eAAe,EAAE;gBACxB,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,mFAAkB,CAAC,UAAU,EAAE;oBAC9E,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,KAAK,KAAI,CAAC,eAAe,CAAC,YAAY,EAAtD,CAAsD,CAAC,CAAC;iBACjH;qBACI,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,mFAAkB,CAAC,IAAI,EAAE;oBAC7E,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,KAAK,KAAI,CAAC,eAAe,CAAC,YAAY,EAAtD,CAAsD,CAAC,CAAC;oBAChH,KAAI,CAAC,sBAAsB,CAAC,KAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;iBAChE;aACF;YACD,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,KAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;QACzL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,yDAAsB,GAA9B,UAA+B,oBAAoB;QAAnD,iBAiDC;QAhDC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,cAAI;YAClE,IAAI,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YAChD,KAAI,CAAC,QAAQ,GAAG,eAAe,CAAC;YAChC,IAAI,KAAI,CAAC,eAAe,IAAI,eAAe,EAAE;gBAC3C,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,mFAAkB,CAAC,UAAU,EAAE;oBAC9E,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,KAAK,KAAI,CAAC,eAAe,CAAC,YAAY,EAAtD,CAAsD,CAAC;iBACpG;qBACI,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,mFAAkB,CAAC,IAAI,EAAE;oBAC7E,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,KAAK,KAAI,CAAC,eAAe,CAAC,YAAY,IAAI,GAAG,CAAC,MAAM,IAAI,KAAI,CAAC,eAAe,CAAC,MAAM,EAAnG,CAAmG,CAAC,CAAC;oBACjJ,KAAI,CAAC,oBAAoB,GAAG,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;oBAC1D,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;oBACtC,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;iBAC3C;qBACI;oBACH,IAAI,CAAC,oBAAoB,EAAE;wBACzB,KAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;wBAC9B,KAAI,CAAC,QAAQ,GAAG,eAAe,CAAC;qBACjC;yBACI,IAAI,oBAAoB,IAAI,CAAC,EAAE;wBAClC,KAAI,CAAC,QAAQ,GAAG,eAAe,CAAC;qBACjC;yBACI;wBACH,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,KAAK,oBAAoB,EAAzC,CAAyC,CAAC,CAAC;qBACxF;iBACF;aACF;iBACI;gBACH,IAAI,oBAAoB,IAAI,CAAC;oBAC3B,KAAI,CAAC,QAAQ,GAAG,eAAe,CAAC;;oBAEhC,KAAI,CAAC,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,KAAK,oBAAoB,EAAzC,CAAyC,CAAC,CAAC;aAC5F;YACD,KAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;gBACrE,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;gBAEjD,IAAI,CAAC,KAAI,CAAC,MAAM;oBACd,KAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBAClB,IAAI,KAAI,CAAC,MAAM,IAAI,CAAC,EAAE;oBACpB,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,iBAAO,IAAI,YAAI,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAO,IAAI,cAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAhC,CAAgC,CAAC,EAAnE,CAAmE,CAAC,CAAC;oBACrH,IAAI,KAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;wBAC1B,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;iBAC3E;gBAED,KAAI,CAAC,eAAe,EAAE,CAAC;YAEzB,CAAC,CAAC,CAAC;QAEL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,kDAAe,GAAf;QAAA,iBAwCC;QAvCC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YACrE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,YAAY,GAAG,OAAO,CAAC;YAC5B,IAAI,CAAC,KAAI,CAAC,MAAM;gBACd,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,iBAAO,IAAI,YAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAO,IAAI,cAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAhC,CAAgC,CAAC,EAA/D,CAA+D,CAAC,CAAC;iBAEpH;gBACH,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,iBAAO,IAAI,cAAO,CAAC,MAAM,IAAI,KAAI,CAAC,MAAM,EAA7B,CAA6B,CAAC,CAAC;aACtF;YAED,IAAI,KAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;gBAChC,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;aAC3B;iBACI;gBACH,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC,CAAC;gBAE9D,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;gBACtB,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC;gBACxB,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,UAAU,CAAC,MAAM,CAAC;gBAEvC,OAAO,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,EAAE;oBACvC,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC;oBAC1C,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;iBAC1C;gBACD,IAAI,CAAC,KAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAI,CAAC,QAAQ,CAAC;oBAC7C,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC;gBACzC,IAAI,KAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;oBACjC,IAAI,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE;wBAC7B,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;iBAC3C;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,6CAAU,GAAV;QAAA,iBAyBC;QAxBC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAElC,IAAI,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CACvC,UAAC,IAAI;YACH,OAAO,CACL,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChH,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChH,CAAC,IAAI,CAAC,cAAc,KAAK,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACtH,CAAC,IAAI,CAAC,kBAAkB,KAAK,IAAI,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;mBAC3H,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAC9G,CAAC;QACJ,CAAC,CAEF,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC;QAC/B,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE;YAC/B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE,EAAE;YAC1B,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;IACH,CAAC;IAED,uCAAI,GAAJ,UAAK,QAAQ;QACX,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,0BAA0B;QACtD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IACD,+CAAY,GAAZ;QACE,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC/C,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAE1B,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YACpD,IAAI,IAAI,CAAC,kBAAkB,KAAK,sGAAiB,CAAC,UAAU,EAAE;gBAC5D,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;aAC9D;YACD,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC9C,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YACpD,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;YAE/D,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;YACnC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;YACvC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;SAC5B;QAGD,IAAI,IAAS,CAAC;QACd,IAAI,IAAI,CAAC,kBAAkB,IAAI,sGAAiB,CAAC,UAAU,IAAI,IAAI,CAAC,cAAc,EAAE;YAClF,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC;SAC5B;aAAM,IAAI,CAAC,CAAC,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,kBAAkB,IAAI,sGAAiB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE;YAC3G,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;SACtB;aAAM;YACL,IAAI,GAAG,kBAAkB,CAAC;SAC3B;QACD,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,EACtC,IAAI,CAAC,gBAAgB,GAAG,0BAA0B,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACpJ,yBAAyB,EACzB,WAAW,GAAG,IAAI,CAAC,gBAAgB,EACnC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,EACtF,gCAAgC,EAChC,0DAAS,EACT,UAAU,EACV,UAAU,CAAC,CAAC;IAChB,CAAC;;gBApPiC,6DAAa;gBAClB,8EAAiB;gBAAmB,kEAAmB;;IArCzE,wBAAwB;QALpC,+DAAS,CAAC;YACT,QAAQ,EAAE,sBAAsB;YAChC,kLAAgD;SAEjD,CAAC;OACW,wBAAwB,CAyRpC;IAAD,+BAAC;CAAA;AAzRoC;;;;;;;;;;;;ACdrC,+DAA+D,+J;;;;;;;;;;;;;;;;;;;;;;;;;ACAL;AAEY;AACjB;AACwB;AAC3B;AACT;AAEU;AACJ;AAO/C;IAqCE,+BACU,MAAc,EACd,OAA4B,EAC7B,MAAiB,EACjB,mBAAwC,EACvC,QAA0B,EAC1B,aAA4B;QAL5B,WAAM,GAAN,MAAM,CAAQ;QACd,YAAO,GAAP,OAAO,CAAqB;QAC7B,WAAM,GAAN,MAAM,CAAW;QACjB,wBAAmB,GAAnB,mBAAmB,CAAqB;QACvC,aAAQ,GAAR,QAAQ,CAAkB;QAC1B,kBAAa,GAAb,aAAa,CAAe;QAxCtC,oBAAe,GAAG,KAAK,CAAC;QACxB,eAAU,GAA+B,EAAE,CAAC;QAC5C,cAAS,GAAG,KAAK,CAAC;QAElB,eAAU,GAAW,EAAE,CAAC;QACxB,MAAC,GAAW,CAAC,CAAC;QACd,eAAU,GAAG,EAAE,CAAC;QAChB,kBAAa,GAAG,EAAE,CAAC;QAEnB,gBAAW,GAAG,EAAE,CAAC;QACjB,WAAM,GAAY,KAAK,CAAC;QACxB,WAAM,GAAG,EAAE,CAAC;QAEZ,UAAK,GAAG,IAAI,CAAC;QAEb,kBAAa,GAAG,KAAK,CAAC;QAStB,iBAAY,GAA+B,EAAE,CAAC;QAQ9C,iBAAY,GAAY,IAAI,CAAC;QAS3B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAChE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACzD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACpD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACvD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QAC5D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAEtD,wBAAwB;QACxB,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YACvB,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wCAAQ,GAAR;QACE,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,KAAK,cAAc,EAAtD,CAAsD,CAAC,CAAC;YAChG,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;gBAC1C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;aACvC;SACF;QACD,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACjB,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED,wCAAQ,GAAR,UAAS,SAAS;QAAlB,iBAKC;QAJC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,eAAK;YACpD,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,wCAAQ,GAAR;QAAA,iBAIC;QAHC,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,eAAK;YAC/C,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qDAAqB,GAArB;QAAA,iBAIC;QAHC,IAAI,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,SAAS,CAAC,mBAAS;YAC5D,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gDAAgB,GAAhB;QAAA,iBAmBC;QAlBC,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,CAAC,SAAS,CAAC,cAAI;YACxD,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC;YAC9B,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC;YACzC,IAAI,KAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;gBAClC,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;aAC7B;iBACI;gBACH,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,YAAY,CAAC,CAAC,CAAC;gBAChE,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,KAAI,CAAC,eAAe,GAAG,KAAK,CAAC;gBAC7B,KAAI,CAAC,sBAAsB,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC;aAC5C;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8CAAc,GAAd;QACE,IAAI,CAAC,mBAAmB,GAAG;YACzB,cAAc,EAAE,CAAC;YACjB,gBAAgB,EAAE,EAAE;YACpB,uBAAuB,EAAE,EAAE;YAC3B,QAAQ,EAAE,EAAE;YACZ,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE,EAAE;YACX,KAAK,EAAE,EAAE;YACT,IAAI,EAAE,EAAE;YACR,OAAO,EAAE,EAAE;YACX,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,EAAE;YACT,SAAS,EAAE,IAAI,CAAC,WAAW;YAC3B,SAAS,EAAE,IAAI,CAAC,WAAW;YAC3B,YAAY,EAAE,CAAC;YACf,MAAM,EAAE,CAAC;YACT,QAAQ,EAAE,EAAE;YACZ,QAAQ,EAAE,EAAE;YACZ,SAAS,EAAE,EAAE;YACb,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,CAAC;YACb,SAAS,EAAE,CAAC;YACZ,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;SACV;QACD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,oCAAI,GAAJ,UAAK,QAAQ;QACX,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,sBAAsB;QAClD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IACD,gDAAgB,GAAhB,UAAiB,YAAY;QAC3B,IAAI,CAAC,mBAAmB,GAAG,YAAY,CAAC;QACxC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;QACvE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAC/D,IAAI,CAAC,iCAAiC,EAAE,CAAC;IAC3C,CAAC;IAED,iEAAiC,GAAjC;QAAA,iBAKC;QAJC,IAAI,CAAC,mBAAmB,CAAC,iCAAiC,CAAC,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,cAAI;YAChH,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACnC,KAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,kDAAkB,GAAlB,UAAmB,eAAoB;QAAvC,iBAuBC;QAtBC,IAAI,CAAC,cAAc,GAAG,eAAe,CAAC,cAAc,CAAC;QACrD,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE;YAC9D,UAAU,EAAE,yBAAyB;YACrC,IAAI,EAAE,gDAAgD,GAAG,eAAe,CAAC,gBAAgB,GAAG,MAAM,GAAG,IAAI;SAC1G,CAAC,CAAC;QACH,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;YACtC,IAAI,MAAM,EAAE;gBACV,KAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,KAAI,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,cAAI;oBAC7E,IAAI,IAAI,CAAC,IAAI,EAAE;wBACb,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;wBACtB,KAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;wBACxC,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;wBACvB,KAAI,CAAC,gBAAgB,EAAE,CAAC;qBACzB;yBAAM;wBACL,KAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;qBAClC;oBACD,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;oBACtB,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC;gBAC1B,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IAEL,CAAC;IAGD,4CAAY,GAAZ;QACE,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QAC5D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;YACzD,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACxC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACxC,OAAO,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;YAEvD,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC1B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC1B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;YACnC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;YACnC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;YACrC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC;YAC5C,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACzB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC1B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;SAC9B;QAED,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,cAAc,EAAE,gBAAgB,GAAG,IAAI,CAAC,aAAa,EAAE,EAAE,EAAE,qBAAqB,EAAE,0DAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAEnR,CAAC;IACD,0CAAU,GAAV;QAAA,iBAiCC;QAhCC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC;QACpC,IAAI,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CACpC,UAAC,IAAI;YACH,OAAO,CACL,CAAC,IAAI,CAAC,gBAAgB,KAAK,IAAI,IAAI,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC1H,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACpG,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAErG,CAAC;QACJ,CAAC,CACF,CAAC;QACF,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;QAC5B,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,EAAE;YACjC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE,EAAE;YAC1B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC;YACpC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;YACzC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC5C;aACI;YACH,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;YAC/B,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC3C,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;gBACnC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE;oBAE7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aAC3C;SACF;IACH,CAAC;IAED,sDAAsB,GAAtB,UAAuB,QAAQ;QAC7B,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE;YACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;SAC1C;QACD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAC/C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;gBACnC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE;oBAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aAC3C;SACF;IACH,CAAC;IAED,6CAAa,GAAb,UAAc,OAAO;QACnB,IAAI,UAAU,GAAG;YACf,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;YAC1C,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,UAAU,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IACpC,CAAC;IAED,0CAAU,GAAV,UAAW,GAAW;QAAtB,iBAuDC;QAtDC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE;YAC9D,UAAU,EAAE,yBAAyB;YACrC,IAAI,EAAE,GAAG,GAAG,KAAK,GAAG,KAAK;SAC1B,CAAC,CAAC;QACH,SAAS,CAAC,iBAAiB,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QAC3E,SAAS,CAAC,iBAAiB,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QACjE,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3D,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC;QAC3D,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACzD,SAAS,CAAC,iBAAiB,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QACjE,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;QAEzD,IAAI,GAAG,IAAI,MAAM,IAAI,GAAG,IAAI,KAAK,EAAE;YACjC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;SACtB;QACD,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;YACtC,IAAI,KAAI,CAAC,UAAU,KAAK,EAAE,IAAI,KAAI,CAAC,UAAU,KAAK,SAAS,EAAE;gBAC3D,KAAI,CAAC,UAAU,EAAE,CAAC;aACnB;iBACI;gBACH,KAAI,CAAC,gBAAgB,EAAE,CAAC;aACzB;YAGD,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE;gBAC1C,IAAI,SAAS,GAAG,EAAE,CAAC;gBACnB,IAAI,GAAG,KAAK,KAAK,EAAE;oBACjB,SAAS,GAAG,oBAAoB,CAAC;iBAClC;qBACI;oBACH,SAAS,GAAG,sBAAsB,CAAC;iBACpC;gBACD,IAAM,YAAY,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE;oBACjE,UAAU,EAAE,yBAAyB;oBACrC,IAAI,EAAE,SAAS,GAAG,KAAK,GAAG,KAAK;iBAEhC,CAAC,CAAC;gBACH,UAAU,CAAC;oBACT,KAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,CAAC,EAAE,GAAG,CAAC,CAAC;gBACR,YAAY,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,iBAAO;oBAC1C,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;oBACtB,IAAI,KAAI,CAAC,UAAU,KAAK,EAAE,EAAE;wBAC1B,KAAI,CAAC,UAAU,EAAE,CAAC;qBACnB;yBACI;wBACH,KAAI,CAAC,gBAAgB,EAAE,CAAC;qBACzB;gBACH,CAAC,CAAC,CAAC;aACJ;iBAAM;gBACL,KAAI,CAAC,gBAAgB,EAAE,CAAC;aACzB;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;gBApTiB,sDAAM;gBACL,kEAAmB;gBACrB,2DAAS;gBACI,kFAAmB;gBAC7B,gEAAgB;gBACX,6DAAa;;IA3C3B,qBAAqB;QALjC,+DAAS,CAAC;YACT,QAAQ,EAAE,kBAAkB;YAC5B,sKAA4C;;SAE7C,CAAC;OACW,qBAAqB,CA2VjC;IAAD,4BAAC;CAAA;AA3ViC;AAiWlC;IAcE,qCACS,SAAoD,EAC3B,IAAS,EAAS,aAA4B,EAAU,OAA4B,EAAU,UAA+B;QADtJ,cAAS,GAAT,SAAS,CAA2C;QAC3B,SAAI,GAAJ,IAAI,CAAK;QAAS,kBAAa,GAAb,aAAa,CAAe;QAAU,YAAO,GAAP,OAAO,CAAqB;QAAU,eAAU,GAAV,UAAU,CAAqB;QAX/J,aAAQ,GAAG,EAAE,CAAC;QAGd,iBAAY,GAA+B,EAAE,CAAC;QAC9C,eAAU,GAA+B,EAAE,CAAC;QAC5C,gBAAW,GAAG,KAAK,CAAC;QAOlB,gCAAgC;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEnC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE;YAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SAEvB;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAE3B,CAAC;IAED,8CAAQ,GAAR;QACE,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,8CAAQ,GAAR,UAAS,KAAK;QACZ,IAAI,CAAC,UAAU,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;IACD,gDAAU,GAAV;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IACD,+CAAS,GAAT;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,0DAAoB,GAApB;QACE,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,IAAI,EAAE;eAChD,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,IAAI,EAAE;eAC1C,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,EAAE;eACzC,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,EAAE;eACzC,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,IAAI,EAAE;eACxC,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,EAAE;eACtC,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE;eACrC,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO;eACjC,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK;eAC/B,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK;eAC/B,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,EAAE;eACzC,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EACrC;YACA,IAAI,CAAC,QAAQ,GAAG,kCAAkC,CAAC;YACnD,OAAO;SACR;aACI;YACH,IAAI,UAAU,GAAG,+CAA+C,CAAC;YACjE,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE;gBACrD,IAAI,CAAC,QAAQ,GAAG,0BAA0B,CAAC;gBAE3C,OAAO;aACR;SACF;QACD,IAAI,IAAI,CAAC,mBAAmB,CAAC,YAAY,IAAI,CAAC,EAAE;YAC9C,IAAI,CAAC,QAAQ,GAAG,8BAA8B,CAAC;YAC/C,OAAO;SACR;QACD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEnC,CAAC;IAGD,sDAAgB,GAAhB,UAAiB,GAAW;QAA5B,iBAqDC;QApDC,IAAI,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE;YAC3C,IAAI,CAAC,mBAAmB,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC;SACvD;QACD,IAAI,GAAG,IAAI,KAAK,EAAE;YAChB,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,KAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAA5G,CAA4G,CAAC,EAAE;gBAC/I,IAAI,CAAC,QAAQ,GAAG,kCAAkC,CAAC;gBACnD,OAAO;aACR;YAED,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,KAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAA5F,CAA4F,CAAC,EAAE;gBAC/H,IAAI,CAAC,QAAQ,GAAG,yBAAyB,CAAC;gBAC1C,OAAO;aACR;YACD,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,SAAS,CAAC,cAAI;gBACvE,IAAI,IAAI,CAAC,IAAI,EAAE;oBACb,KAAI,CAAC,QAAQ,GAAG,oBAAoB,CAAC;oBACrC,UAAU,CAAC;wBACT,KAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;oBACrB,CAAC,EAAE,IAAI,CAAC,CAAC;oBAGT,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;iBAE5B;qBAAM;oBACL,KAAI,CAAC,QAAQ,GAAG,aAAa,CAAC;iBAC/B;YACH,CAAC,CAAC,CAAC;SACJ;aACI;YACH,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,cAAc,KAAK,KAAI,CAAC,mBAAmB,CAAC,cAAc,EAA9D,CAA8D,CAAC,CAAC;YACpH,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,KAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAA3G,CAA2G,CAAC,EAAE;gBAC9I,IAAI,CAAC,QAAQ,GAAG,kCAAkC,CAAC;gBACnD,OAAO;aACR;YAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,MAAM,KAAK,KAAI,CAAC,mBAAmB,CAAC,MAAM,EAA9C,CAA8C,CAAC,CAAC;YACpG,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,KAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAA3F,CAA2F,CAAC,EAAE;gBAC9H,IAAI,CAAC,QAAQ,GAAG,wBAAwB,CAAC;gBACzC,OAAO;aACR;YACD,IAAI,IAAI,CAAC,mBAAmB,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE;gBACpF,IAAI,CAAC,QAAQ,GAAG,gEAAgE,CAAC;gBACjF,OAAO;aACR;YACD,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,SAAS,CAAC,cAAI;gBACvE,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE;oBACtB,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;iBAC5B;qBAAM;oBACL,KAAI,CAAC,QAAQ,GAAG,sBAAsB,CAAC;iBACxC;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IACD,2CAAK,GAAL;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IACD,8CAAQ,GAAR,UAAS,KAAU;QACjB,IAAM,OAAO,GAAG,aAAa,CAAC;QAE9B,IAAI,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpD,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YAClD,KAAK,CAAC,cAAc,EAAE,CAAC;SACxB;IACH,CAAC;IAED,6CAAO,GAAP,UAAQ,GAAQ;QACd,IAAI,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO;QACnD,IAAI,CAAC,OAAO,GAAG,EAAE,IAAI,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,IAAI,OAAO,GAAG,GAAG,CAAC,IAAI,OAAO,IAAI,EAAE;YACpF,OAAO,KAAK,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mDAAa,GAAb,UAAc,KAAU;QACtB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,WAAW,IAAI,KAAK,CAAC,GAAG,IAAI,WAAW,IAAI,KAAK,CAAC,GAAG,IAAI,YAAY,EAAE;YACvF,OAAO;SACR;aAAM;YACL,IAAM,YAAY,GAAG,YAAY,CAAC;YAClC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE;gBAClC,KAAK,CAAC,cAAc,EAAE,CAAC;aACxB;SACF;IAEH,CAAC;IAED,mDAAa,GAAb,UAAc,KAAU;QACtB,IAAI,EAAE,GAAG,yJAAyJ,CAAC;QAEnK,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE;YACnC,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE;gBACvB,KAAK,CAAC,cAAc,EAAE,CAAC;aACxB;SACF;IACH,CAAC;IAGD,6CAAO,GAAP;QAAA,iBAcC;QAbC,IAAI,EAAE,GAAG,8BAA8B,CAAC;QACxC,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,KAAK,EAAE,EAAE;YACzC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;gBAC7C,IAAI,CAAC,QAAQ,GAAG,sBAAsB,CAAC;gBAEvC,IAAI,CAAC,mBAAmB,CAAC,KAAK,GAAG,EAAE,CAAC;gBAEpC,UAAU,CAAC;oBACT,KAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;gBACrB,CAAC,EAAE,IAAI,CAAC,CAAC;aACV;SACF;IAEH,CAAC;IAED,8CAAQ,GAAR;IAEA,CAAC;;gBAlLmB,8DAAY;gDAC7B,oDAAM,SAAC,iEAAe;gBAA0C,6DAAa;gBAAmB,kEAAmB;gBAAsB,kFAAmB;;IAhBpJ,2BAA2B;QALvC,+DAAS,CAAC;YACT,QAAQ,EAAE,YAAY;YACtB,sIAA0B;YAC1B,SAAS,EAAE,CAAC,6DAAa,CAAC;SAC3B,CAAC;QAiBG,6GAAM,CAAC,iEAAe,CAAC;OAhBf,2BAA2B,CAmMvC;IAAD,kCAAC;CAAA;AAnMuC;;;;;;;;;;;;;;;;;;;;;;;;ACjXU;AACA;AACG;AAEsC;AACnB;AACL;AACpB;AAO/C;IAmCE,mCAAmB,aAA4B,EACrC,iBAAoC,EAAU,OAA4B;QADjE,kBAAa,GAAb,aAAa,CAAe;QACrC,sBAAiB,GAAjB,iBAAiB,CAAmB;QAAU,YAAO,GAAP,OAAO,CAAqB;QAnCpF,cAAS,GAAW,0DAAS,CAAC;QAG9B,WAAM,GAAY,KAAK,CAAC;QACxB,WAAM,GAAG,EAAE,CAAC;QAEZ,UAAK,GAAG,IAAI,CAAC;QACb,MAAC,GAAW,CAAC,CAAC;QACd,eAAU,GAAG,EAAE,CAAC;QAChB,kBAAa,GAAG,EAAE,CAAC;QAEnB,gBAAW,GAAG,EAAE,CAAC;QACjB,kBAAa,GAAG,KAAK,CAAC;QACtB,eAAU,GAAG,EAAE,CAAC;QAGhB,cAAS,GAAG,KAAK,CAAC;QAElB,kBAAa,GAAG,KAAK,CAAC;QAKtB,aAAQ,GAAG,EAAE,CAAC;QAEd,eAAU,GAAG,IAAI,IAAI,EAAE,CAAC;QAKxB,mBAAc,GAAsB,EAAE,CAAC;QAEvC,eAAU,GAAY,KAAK,CAAC;QAC5B,mBAAc,GAAa,CAAC,sGAAiB,CAAC,UAAU,EAAE,sGAAiB,CAAC,IAAI,CAAC,CAAC;QAGhF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACtD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAChE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAE7D,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,GAAG,EAAE;SAEvC;aACI;YACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;SAC/C;IACH,CAAC;IAED,4CAAQ,GAAR;QACE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAEpD,IAAI,IAAI,CAAC,eAAe,EAAE;YAExB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,mFAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,mFAAkB,CAAC,IAAI,CAAC,EAAE;gBAC1J,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBAEvB,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC;aAC/D;iBACI;gBACH,IAAI,CAAC,gBAAgB,CAAC,sGAAiB,CAAC,UAAU,CAAC;aACpD;SACF;aACI;YACH,IAAI,CAAC,gBAAgB,CAAC,sGAAiB,CAAC,UAAU,CAAC;SACpD;QAED,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAE7C,CAAC;IAEO,0DAAsB,GAA9B,UAA+B,oBAAoB;QAAnD,iBAoDC;QAlDC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,cAAI;YAClE,IAAI,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YAChD,KAAI,CAAC,QAAQ,GAAG,eAAe,CAAC;YAEhC,IAAI,KAAI,CAAC,eAAe,IAAI,eAAe,EAAE;gBAC3C,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,mFAAkB,CAAC,UAAU,EAAE;oBAC9E,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,KAAK,KAAI,CAAC,eAAe,CAAC,YAAY,EAAtD,CAAsD,CAAC,CAAC;iBACrG;qBACI,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,mFAAkB,CAAC,IAAI,EAAE;oBAC7E,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,KAAK,KAAI,CAAC,eAAe,CAAC,YAAY,IAAI,GAAG,CAAC,MAAM,IAAI,KAAI,CAAC,eAAe,CAAC,MAAM,EAAnG,CAAmG,CAAC,CAAC;oBACjJ,KAAI,CAAC,oBAAoB,GAAG,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;oBAC1D,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;oBACtC,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;iBAC3C;qBACI;oBACH,IAAI,CAAC,oBAAoB,EAAE;wBACzB,KAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;wBAC9B,KAAI,CAAC,QAAQ,GAAG,eAAe,CAAC;qBACjC;yBACI,IAAI,oBAAoB,IAAI,CAAC,EAAE;wBAClC,KAAI,CAAC,QAAQ,GAAG,eAAe,CAAC;qBACjC;yBACI;wBACH,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,KAAK,oBAAoB,EAAzC,CAAyC,CAAC,CAAC;qBACxF;iBAEF;aACF;iBACI;gBACH,IAAI,oBAAoB,IAAI,CAAC;oBAC3B,KAAI,CAAC,QAAQ,GAAG,eAAe,CAAC;;oBAEhC,KAAI,CAAC,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,KAAK,oBAAoB,EAAzC,CAAyC,CAAC,CAAC;aAC5F;YACD,KAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;gBAC1E,KAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;gBAEzD,IAAI,CAAC,KAAI,CAAC,MAAM;oBACd,KAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBAElB,IAAI,KAAI,CAAC,MAAM,IAAI,CAAC,EAAE;oBACpB,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,iBAAO,IAAI,YAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,iBAAO,IAAI,cAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAhC,CAAgC,CAAC,EAA3E,CAA2E,CAAC,CAAC;oBAC7H,IAAI,KAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;wBAC1B,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;iBAC3E;gBACD,KAAI,CAAC,eAAe,EAAE,CAAC;YAEzB,CAAC,CAAC,CAAC;QAEL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8CAAU,GAAV,UAAW,KAAK;QAAhB,iBASC;QARC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1B,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,KAAI,CAAC,MAAM,EAAxB,CAAwB,CAAC;QAC/D,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;SACnC;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IACD,oDAAgB,GAAhB,UAAiB,aAAqB;QACpC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QAErB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAChB,IAAI,CAAC,kBAAkB,GAAG,aAAa,CAAC;QACxC,IAAI,CAAC,UAAU,GAAG,aAAa,KAAK,sGAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAChF,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACvD,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,oDAAgB,GAAhB,UAAiB,oBAAoB;QACnC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,sBAAsB,CAAC,oBAAoB,CAAC;QACjD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,KAAK,oBAAoB,EAAzC,CAAyC,CAAC,CAAC,cAAc,CAAC;IAClH,CAAC;IAEO,kDAAc,GAAtB;QAAA,iBAeC;QAdC,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,cAAI;YAC1E,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC;YAChC,IAAI,KAAI,CAAC,eAAe,EAAE;gBACxB,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,mFAAkB,CAAC,UAAU,EAAE;oBAC9E,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,KAAK,KAAI,CAAC,eAAe,CAAC,YAAY,EAAtD,CAAsD,CAAC,CAAC;iBACjH;qBACI,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,mFAAkB,CAAC,IAAI,EAAE;oBAC7E,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,KAAK,KAAI,CAAC,eAAe,CAAC,YAAY,EAAtD,CAAsD,CAAC,CAAC;oBAChH,KAAI,CAAC,sBAAsB,CAAC,KAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;iBAChE;aAEF;YACD,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,KAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;QACzL,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,mDAAe,GAAf;QAAA,iBA0BC;QAzBC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,iBAAO,IAAI,YAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAO,IAAI,cAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAhC,CAAgC,CAAC,EAA/D,CAA+D,CAAC,CAAC;SAChI;aACI;YACH,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,iBAAO,IAAI,cAAO,CAAC,MAAM,IAAI,KAAI,CAAC,MAAM,EAA7B,CAA6B,CAAC,CAAC;SAC9F;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YAChC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC3B;aACI;YACH,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAE3B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YAC9D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YACvC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC;SACvC;IAIH,CAAC;IAED,8CAAU,GAAV;QAAA,iBAwCC;QAvCC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CACzC,UAAC,IAAI;YACH,OAAO,CACL,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChH,CAAC,IAAI,CAAC,cAAc,KAAK,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACtH,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAClH,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACxG,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChH,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;mBAC7G,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;mBAC1G,CAAC,IAAI,CAAC,UAAU,KAAK,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACjH,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CACnH,CAAC;QACJ,CAAC,CAEF,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC;QACjC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE;YAE/B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;QAED,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE,EAAE;YAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YAClC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YACvC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACxC;aACI;YACH,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC;YACtC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;gBACnC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE;oBAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aAC3C;SACF;IACH,CAAC;IACD,sDAAkB,GAAlB,UAAmB,QAAQ;QACzB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE;YACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;SAC1C;QACD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAC/C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;gBACnC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE;oBAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aAC3C;SACF;IACH,CAAC;IACD,wCAAI,GAAJ,UAAK,QAAQ;QACX,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,0BAA0B;QACtD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IACD,gDAAY,GAAZ;QACE,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,IAAI,CAAC,kBAAkB,KAAK,sGAAiB,CAAC,UAAU,EAAE;gBAC5D,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;aAC9D;YACD,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC9C,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YACpD,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;YACtD,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC;YAC/D,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACzD,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YAC7D,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YAC7D,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;YAClD,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;YAE3D,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;YACnC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YAEjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;YAClC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACzB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;YACvC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACzB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;YACzC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAE9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;SAE/B;QAGD,IAAI,IAAS,CAAC;QACd,IAAI,IAAI,CAAC,kBAAkB,IAAI,sGAAiB,CAAC,UAAU,IAAI,IAAI,CAAC,cAAc,EAAE;YAClF,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC;SAC5B;aAAM,IAAI,CAAC,CAAC,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,kBAAkB,IAAI,sGAAiB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE;YAC3G,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;SACtB;aAAM;YACL,IAAI,GAAG,kBAAkB,CAAC;SAC3B;QACD,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,GAAG,8BAA8B,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,6BAA6B,EAAE,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,EAAE,oCAAoC,EAAE,0DAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IACja,CAAC;;gBAxSiC,6DAAa;gBAClB,8EAAiB;gBAAmB,kEAAmB;;IApCzE,yBAAyB;QALrC,+DAAS,CAAC;YACT,QAAQ,EAAE,uBAAuB;YACjC,qLAAiD;SAElD,CAAC;OACW,yBAAyB,CA4UrC;IAAD,gCAAC;CAAA;AA5UqC;;;;;;;;;;;;ACdtC,0BAA0B,oBAAoB,GAAG,mBAAmB,2CAA2C,GAAG,WAAW,gBAAgB,uBAAuB,8BAA8B,GAAG,YAAY,uBAAuB,uBAAuB,GAAG,QAAQ,iBAAiB,8BAA8B,iBAAiB,oBAAoB,GAAG,QAAQ,iBAAiB,oBAAoB,GAAG,mBAAmB,8BAA8B,qBAAqB,0BAA0B,GAAG,iBAAiB,wBAAwB,GAAG,oBAAoB,qBAAqB,GAAG,mBAAmB,wBAAwB,GAAG,iBAAiB,uBAAuB,eAAe,GAAG,kCAAkC,oBAAoB,GAAG,eAAe,gBAAgB,GAAG,qBAAqB,+BAA+B,GAAG,wBAAwB,uCAAuC,GAAG,sBAAsB,8BAA8B,GAAG,6CAA6C,2xH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAl7B;AACmB;AACpC;AACY;AAC2B;AAE9B;AACiB;AACW;AACC;AAGH;AACf;AAC7D,IAAM,MAAM,GAAG,mBAAO,CAAC,+CAAQ,CAAC,CAAC;AACW;AAC5C,IAAM,MAAM,GAAG,kEAAY,CAAC,MAAM,CAAC,CAAC;AACoC;AAMxE;IAsCE,uCAAoB,iBAAoC,EAC9C,aAA4B,EAC5B,OAA4B,EAC5B,gBAA6C,EAC7C,cAA8B,EAC9B,MAAc,EACf,MAAiB;QANN,sBAAiB,GAAjB,iBAAiB,CAAmB;QAC9C,kBAAa,GAAb,aAAa,CAAe;QAC5B,YAAO,GAAP,OAAO,CAAqB;QAC5B,qBAAgB,GAAhB,gBAAgB,CAA6B;QAC7C,mBAAc,GAAd,cAAc,CAAgB;QAC9B,WAAM,GAAN,MAAM,CAAQ;QACf,WAAM,GAAN,MAAM,CAAW;QAzC1B,oBAAe,GAAY,KAAK,CAAC;QAEjC,oBAAe,GAA4B,EAAE,CAAC;QAC9C,mBAAc,GAAsB,EAAE,CAAC;QAIvC,aAAQ,GAAQ,EAAE,CAAC;QACnB,mBAAc,GAAa,CAAC,+EAAiB,CAAC,UAAU,EAAE,+EAAiB,CAAC,IAAI,CAAC,CAAC;QAClF,eAAU,GAAY,KAAK,CAAC;QAI5B,qBAAgB,GAA2B,EAAE,CAAC;QAM9C,WAAM,GAAG,EAAE,CAAC;QAEZ,UAAK,GAAG,IAAI,CAAC;QACb,WAAM,GAAY,KAAK,CAAC;QACxB,cAAS,GAAG,KAAK,CAAC;QAClB,kBAAa,GAAG,KAAK,CAAC;QACtB,MAAC,GAAW,CAAC,CAAC;QACd,eAAU,GAAG,EAAE,CAAC;QAChB,kBAAa,GAAG,EAAE,CAAC;QAEnB,gBAAW,GAAG,EAAE,CAAC;QAGjB,iBAAY,GAAG,EAAE,CAAC;QAElB,sBAAiB,GAAY,KAAK,CAAC;QAQjC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAChE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAChE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QAEpE,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EACtC,EAAE,cAAc,EAAE,iBAAiB,EAAE,eAAe,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5F,CAAC;IAED,gDAAQ,GAAR;QACE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,KAAK,YAAY,EAApD,CAAoD,CAAC,CAAC;QAChG,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;SAC1C;QACD,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,IAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,oFAAkB,CAAC,IAAI,EAAE;gBACxE,IAAI,CAAC,qBAAqB,GAAG,oFAAkB,CAAC,IAAI,CAAC;gBACrD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;aACtD;SACF;IACH,CAAC;IAED,mCAAmC;IAEnC,2DAAmB,GAAnB,UAAoB,QAAQ;QAC1B,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE;YACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;SAC1C;QACD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAC/C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;gBACnC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE;oBAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aAC3C;SACF;IACH,CAAC;IAED,2DAAmB,GAAnB,UAAoB,aAAqB;QACvC,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,aAAa,KAAK,+EAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAChF,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACzD,CAAC;IAED,wDAAgB,GAAhB,UAAiB,oBAAoB;QACnC,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,qBAAqB,KAAK,+EAAiB,CAAC,IAAI,EAAE;YACzD,IAAI,CAAC,sBAAsB,CAAC,oBAAoB,CAAC,CAAC;SACnD;IACH,CAAC;IAED,kDAAU,GAAV,UAAW,MAAc;QACvB,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;IAC7B,CAAC;IAED,4DAAoB,GAApB;QAAA,iBA2CC;QA1CC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE;YAC1B,OAAO;SACR;QACD,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,gBAAgB,CAAC,gCAAgC,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,cAAI;YAC9G,KAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC;YAClC,IAAI,KAAI,CAAC,qBAAqB,KAAK,+EAAiB,CAAC,IAAI,EAAE;gBACzD,KAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,MAAM,KAAK,KAAI,CAAC,cAAc,EAAlC,CAAkC,CAAC,CAAC;aACjG;iBAAM;gBACL,KAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,MAAM,KAAK,CAAC,EAAhB,CAAgB,CAAC,CAAC;aAC/E;YAED,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;YAC7C,IAAI,KAAI,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;gBACtC,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;aAC3B;iBACI;gBACH,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrD,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,KAAI,CAAC,mBAAmB,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC;aACzC;YACD,KAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,aAAG;gBACnD,OAAO;oBACL,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,SAAS,EAAE,GAAG,CAAC,SAAS;oBACxB,aAAa,EAAE,GAAG,CAAC,aAAa;oBAChC,YAAY,EAAE,GAAG,CAAC,YAAY;oBAC9B,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,SAAS,EAAE,GAAG,CAAC,SAAS;oBACxB,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,aAAa,EAAE,GAAG,CAAC,aAAa;oBAChC,SAAS,EAAE,GAAG,CAAC,SAAS;oBACxB,SAAS,EAAE,GAAG,CAAC,SAAS;oBACxB,WAAW,EAAE,UAAU,GAAG,GAAG,CAAC,SAAS;oBACvC,WAAW,EAAE,GAAG,CAAC,WAAW;oBAC5B,cAAc,EAAE,GAAG,CAAC,cAAc;oBAClC,QAAQ,EAAE,GAAG,CAAC,QAAQ;iBACvB;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qDAAa,GAAb;QACE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE;YAC1B,OAAO;SACR;QACD,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,qDAAa,GAAb,UAAc,SAAS;QACrB,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,gBAAgB,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,uDAAe,GAAf,UAAgB,SAAS;QAAzB,iBAoBC;QAnBC,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mCAAmC,EAAE;YACtE,UAAU,EAAE,yBAAyB;YACrC,IAAI,EAAE,+CAA+C,GAAG,SAAS,CAAC,aAAa,GAAG,MAAM,GAAG,IAAI;SAChG,CAAC,CAAC;QAEH,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;YACtC,IAAI,MAAM,EAAE;gBACV,KAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,cAAI;oBACtE,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;wBACrB,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wFAAuB,EAAE;4BACxC,IAAI,EAAE;gCACJ,OAAO,EAAE,mBAAmB;6BAC7B;yBACF,CAAC,CAAC;wBACH,KAAI,CAAC,oBAAoB,EAAE,CAAC;qBAC7B;gBACH,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB;IACV,sDAAc,GAAtB;QACE,IAAI,aAAa,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE;YAC/B,aAAa,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;SAC1C;QACD,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAC9B,aAAa,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;SAChD;QACD,IAAI,IAAI,CAAC,qBAAqB,KAAK,+EAAiB,CAAC,IAAI,EAAE;YACzD,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;gBACxB,aAAa,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;aAC1C;SACF;QAED,IAAI,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE;YAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2FAAyB,EAAE;gBAC1C,IAAI,EAAE;oBACJ,aAAa,EAAE,aAAa;iBAC7B;aACF,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,sDAAc,GAAtB;QAAA,iBAeC;QAdC,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,cAAI;YAClE,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC;YAChC,IAAI,KAAI,CAAC,eAAe,EAAE;gBAExB,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,oFAAkB,CAAC,UAAU,EAAE;oBAC9E,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,KAAK,KAAI,CAAC,eAAe,CAAC,YAAY,EAAtD,CAAsD,CAAC,CAAC;iBACjH;qBACI,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,oFAAkB,CAAC,IAAI,EAAE;oBAC7E,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,KAAK,KAAI,CAAC,eAAe,CAAC,YAAY,EAAtD,CAAsD,CAAC,CAAC;oBAChH,KAAI,CAAC,sBAAsB,CAAC,KAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;iBAEhE;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,8DAAsB,GAA9B,UAA+B,oBAAoB;QAAnD,iBAkBC;QAjBC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,cAAI;YAClE,IAAI,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YAChD,KAAI,CAAC,QAAQ,GAAG,eAAe,CAAC;YAChC,IAAI,KAAI,CAAC,eAAe,IAAI,eAAe,EAAE;gBAC3C,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,oFAAkB,CAAC,UAAU,EAAE;oBAC9E,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,KAAK,KAAI,CAAC,eAAe,CAAC,YAAY,EAAtD,CAAsD,CAAC,CAAC;iBACrG;qBACI,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,oFAAkB,CAAC,IAAI,EAAE;oBAC7E,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,KAAK,KAAI,CAAC,eAAe,CAAC,YAAY,IAAI,GAAG,CAAC,MAAM,IAAI,KAAI,CAAC,eAAe,CAAC,MAAM,EAAnG,CAAmG,CAAC,CAAC;oBACjJ,KAAI,CAAC,oBAAoB,GAAG,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;oBAC1D,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;iBAC/C;aACF;iBACI;gBACH,KAAI,CAAC,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,KAAK,oBAAoB,EAAzC,CAAyC,CAAC,CAAC;aAC1F;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,6DAAqB,GAA7B;QAAA,iBAWC;QAVC,IAAI,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,KAAK,KAAI,CAAC,oBAAoB,EAA9C,CAA8C,CAAC,CAAC;QACjG,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,MAAM,KAAK,KAAI,CAAC,cAAc,EAAlC,CAAkC,CAAC,CAAC;QACzE,IAAI,CAAC,SAAS,GAAG;YACf,aAAa,EAAE,IAAI,CAAC,qBAAqB;YACzC,YAAY,EAAE,IAAI,CAAC,oBAAoB;YACvC,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE;YAC3D,MAAM,EAAE,CAAC,IAAI,CAAC,qBAAqB,IAAI,+EAAiB,CAAC,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YAC/G,QAAQ,EAAE,CAAC,IAAI,CAAC,qBAAqB,IAAI,+EAAiB,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;SAC9F,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvD,CAAC;IAED,qDAAa,GAAb,UAAc,SAAS;QAAvB,iBAaC;QAZC,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC,EAAE,CAAC;QACtC,IAAI,CAAC,gBAAgB,CAAC,8BAA8B,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,YAAY,EAAE,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,cAAI;YAC9I,KAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC;YACvD,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,UAAU,KAAK,IAAI,EAAvB,CAAuB,CAAC,CAAC;YACpF,KAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC;YACjD,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS,EAApC,CAAoC,CAAC,CAAC;YACzE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;gBACnB,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,cAAc,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;YAC/I,KAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3B,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,mDAAW,GAAnB;QAAA,iBAUC;QATC,IAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC;YACpD,OAAO,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC,GAAG,CAAC,WAAC;YACN,IAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzC,KAAI,CAAC,eAAe,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,EAAzB,CAAyB,CAAC,CAAC,MAAM,CAAC;YACrE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;YAC5B,OAAO,mDAAK,CAAC,IAAE,QAAQ,cAAG;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mEAA2B,GAA3B,UAA4B,KAAc;QACxC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;IAC/B,CAAC;IAED,sEAA8B,GAA9B,UAA+B,KAAK;QAClC,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,4CAAI,GAAJ,UAAK,QAAQ;QACX,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,sBAAsB;QAClD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;;gBA1QsC,8EAAiB;gBAC/B,6DAAa;gBACnB,kEAAmB;gBACV,2FAA2B;gBAC7B,yEAAc;gBACtB,sDAAM;gBACP,2DAAS;;IA5Cf,6BAA6B;QALzC,+DAAS,CAAC;YACT,QAAQ,EAAE,4BAA4B;YACtC,oMAAsD;;SAEvD,CAAC;OACW,6BAA6B,CAkTzC;IAAD,oCAAC;CAAA;AAlTyC;AAyT1C;IAIE,6CACS,SAA4D,EACnC,IAAS;QADlC,cAAS,GAAT,SAAS,CAAmD;QACnC,SAAI,GAAJ,IAAI,CAAK;QAJ3C,cAAS,GAAG,KAAK,CAAC;QAKhB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE;YAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAED,sDAAQ,GAAR,cAAmB,CAAC;IAEpB,wDAAU,GAAV;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,uDAAS,GAAT;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;;gBAnBmB,8DAAY;gDAC7B,oDAAM,SAAC,iEAAe;;IANd,mCAAmC;QAJ/C,+DAAS,CAAC;YACT,QAAQ,EAAE,YAAY;YACtB,gJAA0B;SAC3B,CAAC;QAOG,6GAAM,CAAC,iEAAe,CAAC;OANf,mCAAmC,CAyB/C;IAAD,0CAAC;CAAA;AAzB+C;;;;;;;;;;;;;AChVhD;AAAA;AAAA,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IACzB,8CAAyB;IACzB,kCAAa;AACjB,CAAC,EAHW,iBAAiB,KAAjB,iBAAiB,QAG5B;;;;;;;;;;;;;;;;;;;;;;ACHoE;AAC1B;AACoB;AACnB;AACe;AAQ3D;IAKI,qCAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAHpC,YAAO,GAAG,wEAAW,CAAC,OAAO,CAAC;QACvB,cAAS,GAA+B,IAAI,oDAAe,CAAY,IAAI,CAAC,CAAC;IAE5C,CAAC;IAEzC,sEAAgC,GAAhC,UAAiC,YAAoB,EAAE,SAAiB;QACpE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAsB,IAAI,CAAC,OAAO,6DAAwD,YAAY,mBAAc,SAAW,CAAC;aAC/I,IAAI,CACD,iEAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAC/B,CAAC;IACV,CAAC;IAED,oEAA8B,GAA9B,UAA+B,SAAiB,EAAE,YAAoB,EAAE,MAAc,EAAE,iBAAyB;QAC7G,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAsB,IAAI,CAAC,OAAO,2DAAsD,YAAY,gBAAW,MAAM,mBAAc,SAAS,qBAAgB,iBAAmB,CAAC;aAC/L,IAAI,CACD,iEAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAC/B,CAAC;IACV,CAAC;IAED,qEAA+B,GAA/B,UAAgC,MAA4B;QACxD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,OAAO,2CAAwC,EAAE,MAAM,CAAC,CAAC,IAAI,CACvF,iEAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAC/B,CAAC;IACN,CAAC;IAED,kEAA4B,GAA5B,UAA6B,iBAAyB;QAClD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAsB,IAAI,CAAC,OAAO,wDAAmD,iBAAmB,CAAC;aACxH,IAAI,CACD,iEAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAC/B,CAAC;IACV,CAAC;IAED,2DAAqB,GAArB,UAAsB,WAAmB;QACrC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,IAAI,CAAC,OAAO,iDAA4C,WAAa,CAAC,CAAC,IAAI,CAC/F,iEAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAC/B,CAAC;IACN,CAAC;IACD,kEAA4B,GAA5B,UAA6B,SAAiB;QAC1C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,IAAI,CAAC,OAAO,sDAAiD,SAAW,CAAC,CAAC,IAAI,CAClG,iEAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAC/B,CAAC;IACN,CAAC;IAEO,iDAAW,GAAnB,UAAoB,GAAsB;QACtC,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,GAAG,CAAC,KAAK,YAAY,UAAU,EAAE;YACjC,YAAY,GAAG,uBAAqB,GAAG,CAAC,KAAK,CAAC,OAAS,CAAC;SAC3D;aACI;YACD,YAAY,GAAG,2BAAyB,GAAG,CAAC,MAAM,2BAAsB,GAAG,CAAC,OAAS;SACxF;QACD,OAAO,uDAAU,CAAC,YAAY,CAAC,CAAC;IACpC,CAAC;;gBAjDyB,+DAAU;;IAL3B,2BAA2B;QAHvC,gEAAU,CAAC;YACR,UAAU,EAAE,MAAM;SACrB,CAAC;OACW,2BAA2B,CAwDvC;IAAD,kCAAC;CAAA;AAxDuC;;;;;;;;;;;;ACZxC,yBAAyB,+BAA+B,qBAAqB,KAAK,gBAAgB,kCAAkC,uBAAuB,qBAAqB,cAAc,SAAS,oBAAoB,oBAAoB,wBAAwB,oBAAoB,6BAA6B,SAAS,eAAe,uBAAuB,iCAAiC,qBAAqB,qBAAqB,KAAK,aAAa,qBAAqB,KAAK,YAAY,gCAAgC,WAAW,aAAa,2BAA2B,2BAA2B,6BAA6B,OAAO,mBAAmB,2BAA2B,WAAW,UAAU,2BAA2B,uBAAuB,2BAA2B,KAAK,eAAe,4BAA4B,sBAAsB,KAAK,eAAe,sBAAsB,uBAAuB,KAAK,eAAe,yBAAyB,0BAA0B,KAAK,eAAe,2BAA2B,KAAK,wCAAwC,gCAAgC,KAAK,iBAAiB,wBAAwB,wBAAwB,KAAK,wBAAwB,uBAAuB,uBAAuB,KAAK,gBAAgB,mBAAmB,uBAAuB,KAAK,gBAAgB,qBAAqB,2BAA2B,wBAAwB,0BAA0B,wBAAwB,KAAK,mBAAmB,gCAAgC,qBAAqB,+BAA+B,uBAAuB,aAAa,KAAK,aAAa,kBAAkB,yBAAyB,cAAc,qBAAqB,0BAA0B,wBAAwB,yBAAyB,yBAAyB,qBAAqB,KAAK,cAAc,8BAA8B,8CAA8C,8BAA8B,0BAA0B,6BAA6B,0BAA0B,KAAK,YAAY,uBAAuB,qBAAqB,wBAAwB,0BAA0B,wBAAwB,6BAA6B,0BAA0B,eAAe,iBAAiB,KAAK,UAAU,yBAAyB,wBAAwB,0BAA0B,uBAAuB,KAAK,kBAAkB,6BAA6B,KAAK,UAAU,uBAAuB,KAAK,eAAe,6BAA6B,QAAQ,kBAAkB,2BAA2B,2BAA2B,KAAK,gBAAgB,iBAAiB,uBAAuB,KAAK,aAAa,qBAAqB,sBAAsB,OAAO,+BAA+B,0BAA0B,KAAK,0BAA0B,6CAA6C,8BAA8B,6BAA6B,KAAK,0BAA0B,yCAAyC,8BAA8B,+BAA+B,OAAO,yBAAyB,yCAAyC,8BAA8B,+BAA+B,OAAO,sBAAsB,yCAAyC,8BAA8B,6BAA6B,yBAAyB,KAAK,sBAAsB,2CAA2C,gCAAgC,6BAA6B,KAAK,kBAAkB,6BAA6B,8BAA8B,SAAS,eAAe,+BAA+B,SAAS,eAAe,uCAAuC,wCAAwC,YAAY,kBAAkB,oCAAoC,qCAAqC,UAAU,mDAAmD,+0O;;;;;;;;;;;;;;;;;;;;;;;;;;ACAztH;AACR;AACH;AACqC;AAIvC;AACH;AAIW;AACN;AAQ/C;IAkEE,0BAAoB,IAAU,EAAU,aAA4B,EAC3D,MAAiB,EAAU,OAA4B;QAD5C,SAAI,GAAJ,IAAI,CAAM;QAAU,kBAAa,GAAb,aAAa,CAAe;QAC3D,WAAM,GAAN,MAAM,CAAW;QAAU,YAAO,GAAP,OAAO,CAAqB;QAhEhE,cAAS,GAAG,KAAK,CAAC;QAClB,WAAM,GAAG,KAAK,CAAC;QAcf,kBAAa,GAAG,GAAG,CAAC;QAUpB,iBAAY,GAAG,EAAE,CAAC;QAClB,wBAAmB,GAAG,EAAE,CAAC;QAEzB,uBAAkB,GAAG,EAAE,CAAC;QACxB,eAAU,GAAG,KAAK,CAAC;QAInB,MAAC,GAAW,CAAC,CAAC;QACd,eAAU,GAAG,EAAE,CAAC;QAChB,kBAAa,GAAG,EAAE,CAAC;QAEnB,gBAAW,GAAG,EAAE,CAAC;QACjB,WAAM,GAAY,KAAK,CAAC;QACxB,WAAM,GAAG,EAAE,CAAC;QAEZ,UAAK,GAAG,IAAI,CAAC;QACb,gBAAW,GAAG,KAAK,CAAC;QACpB,eAAU,GAAG,EAAE,CAAC;QAEhB,cAAS,GAAG,KAAK,CAAC;QAClB,kBAAa,GAAG,KAAK,CAAC;QAOtB,sBAAiB,GAAG,KAAK,CAAC;QAE1B,oBAAe,GAAG,EAAE,CAAC;QAGrB,0BAAqB,GAAG,KAAK,CAAC;QAG9B,gBAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QAIvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAChE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAElE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACnD,CAAC;IAED,mCAAQ,GAAR;QAEE,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC7B,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,GAAG,EAAE;YACjC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;SAC9B;aACI;YACH,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;SACvB;QACD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,KAAK,aAAa,EAArD,CAAqD,CAAC,CAAC;QAC5F,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;SAC1C;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,WAAW,EAAE,CAAC;IAErB,CAAC;IACD,sCAAW,GAAX;QACE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAGD,qCAAU,GAAV;QAAA,iBAyBC;QAxBC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC;QAE1C,IAAI,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAC5C,UAAC,IAAI;YACH,OAAO,CACL,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChH,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAClH,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC1G,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACxG,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;gBAChH,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CACjH,CAAC;QACJ,CAAC,CAEF,CAAC;QACF,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;QACpC,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,IAAI,CAAC,EAAE;YACvC,sBAAsB;YACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE,EAAE;YAC1B,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;IACH,CAAC;IAED,qCAAU,GAAV;QAAA,iBAqCC;QApCC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC7D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC;YAC3B,KAAI,CAAC,kBAAkB,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,aAAa,IAAI,IAAI,IAAI,CAAC,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,GAAG,EAA7D,CAA6D,CAAC;YACrH,IAAI,aAAa,GAAG,KAAI,CAAC,kBAAkB,CAAC;YAC5C,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;YACtE,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;YAE/C,IAAI,KAAI,CAAC,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE;gBACxC,KAAI,CAAC,WAAW,GAAG,KAAK,CAAC;gBACzB,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;aAC3B;iBACI;gBACH,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,IAAI,KAAI,CAAC,UAAU,IAAI,GAAG,IAAI,KAAI,CAAC,UAAU,KAAK,IAAI,IAAI,KAAI,CAAC,SAAS,KAAK,GAAG,EAAE;oBAChF,KAAI,CAAC,kBAAkB,GAAG,aAAa,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,KAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,SAAS,KAAK,KAAI,CAAC,SAAS,EAApF,CAAoF,CAAC,CAAC;iBAC3I;qBACI;oBACH,KAAI,CAAC,kBAAkB,GAAG,aAAa,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,KAAI,CAAC,SAAS,EAA9B,CAA8B,CAAC,CAAC;iBACrF;gBAGD,OAAO,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,EAAE;oBACvC,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC;oBAC1C,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;iBAC1C;gBACD,IAAI,CAAC,KAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAI,CAAC,QAAQ,CAAC;oBAAE,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC;gBACxF,IAAI,KAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;oBACnC,IAAI,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE;wBAC7B,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;iBAC3C;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,+BAAI,GAAJ,UAAK,QAAQ;QACX,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,0BAA0B;QACtD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,sCAAW,GAAX;QAAA,iBAMC;QALC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC9D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC;QAE7B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,sCAAW,GAAX;QAAA,iBAaC;QAZC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAE9D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,YAAY,GAAG,OAAO,CAAC;YAC5B,IAAI,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;YAErC,IAAI,KAAI,CAAC,MAAM,IAAI,GAAG,EAAE;gBACtB,KAAI,CAAC,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,KAAI,CAAC,MAAM,IAAI,CAAC,CAAC,SAAS,IAAI,KAAI,CAAC,SAAS,EAAzD,CAAyD,CAAC,CAAC;aACzG;iBAAM;gBACL,KAAI,CAAC,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,KAAI,CAAC,SAAS,EAA9B,CAA8B,CAAC,CAAC;aAC9E;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,uCAAY,GAAZ;QACE,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED,uCAAY,GAAZ;QACE,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAClE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAEvC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YAC5C,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;YAC9C,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YACtC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9C,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC;YAClD,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YAC5C,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;YAC7C,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;YAEjD,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACxC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YAChD,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;YACzC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;YAClC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;YACvC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAExB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;SAC9B;QAED,iBAAiB;QACjB,iBAAiB;QACjB,UAAU;QACV,mIAAmI;QAEnI,YAAY;QAEZ,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,GAAG,cAAc,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,IAAI,IAAI,EAAE,EAAE,IAAI,CAAC,gBAAgB,GAAG,qBAAqB,EAAE,0DAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QAGjS,uFAAuF;IACzF,CAAC;IAGD,6CAAkB,GAAlB;QAAA,iBAqBC;QApBC,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC1E,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YAEvC,IAAI,QAAa,CAAC;YAClB,QAAQ,GAAG,OAAO,CAAC;YACnB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;gBACzB,KAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;gBACnC,KAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,iBAAO;oBAC/D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;oBACvC,KAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC;gBACrC,CAAC,CAAC,CAAC;aACJ;iBACI;gBACH,KAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC;gBACpC,KAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;aACnC;QAEH,CAAC,CAAC,CAAC;IAGL,CAAC;IACD,wCAAa,GAAb;QAAA,iBAKC;QAJC,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,iBAAO;YAClD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,yCAAc,GAAd;QAAA,iBAKC;QAJC,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,iBAAO;YACnD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,eAAe,GAAG,OAAO,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,oCAAS,GAAT;QAAA,iBAMC;QALC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,iBAAO;YAC9C,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,UAAU,GAAG,OAAO,CAAC;YAC1B,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC;IACD,sCAAW,GAAX;QAAA,iBAKC;QAJC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,iBAAO;YAChD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,YAAY,GAAG,OAAO,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,kCAAO,GAAP;QAAA,iBAKC;QAJC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC1D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,sCAAW,GAAX;QAAA,iBAKC;QAJC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC9D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,YAAY,GAAG,OAAO,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,qCAAU,GAAV;QAAA,iBAOC;QANC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC7D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC;YAC3B,IAAI,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC;YACnC,KAAI,CAAC,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,CAAC,EAAd,CAAc,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,qCAAU,GAAV,UAAW,GAAW;QAAtB,iBAsFC;QArFC,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE;YACzD,UAAU,EAAE,yBAAyB;YACrC,IAAI,EAAE,GAAG,GAAG,KAAK,GAAG,KAAK;SAC1B,CAAC,CAAC;QACH,IAAI,GAAG,KAAK,KAAK,EAAE;YACjB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;QACD,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAEzD,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3D,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3D,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7D,SAAS,CAAC,iBAAiB,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QACjE,SAAS,CAAC,iBAAiB,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QACnE,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7D,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACzD,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACrD,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7D,SAAS,CAAC,iBAAiB,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QAC3E,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7D,SAAS,CAAC,iBAAiB,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QAC3E,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACvD,SAAS,CAAC,iBAAiB,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QACnE,SAAS,CAAC,iBAAiB,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QAC/D,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACvD,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW;QAC1D,IAAI,GAAG,KAAK,MAAM,EAAE;YAClB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YACzD,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YACvD,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YACzD,SAAS,CAAC,iBAAiB,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YAC/D,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YACvD,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YAC7D,SAAS,CAAC,iBAAiB,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;YACzE,SAAS,CAAC,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACjD,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YACrD,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YACzD,SAAS,CAAC,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YACnD,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YAC3D,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YAC7D,SAAS,CAAC,iBAAiB,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;YAC3E,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YACvD,SAAS,CAAC,iBAAiB,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACvE,SAAS,CAAC,iBAAiB,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YAC/D,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS;YACtD,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW;SAC3D;QAED,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;YAGtC,IAAI,KAAI,CAAC,UAAU,KAAK,EAAE,EAAE;gBAC1B,KAAI,CAAC,UAAU,EAAE,CAAC;aACnB;iBACI;gBACH,KAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC1B,KAAI,CAAC,UAAU,EAAE,CAAC;aACnB;YAED,IAAI,MAAM,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE;gBAChC,IAAI,SAAS,GAAG,EAAE,CAAC;gBACnB,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,IAAI,QAAQ,EAAE;oBACpC,SAAS,GAAG,oBAAoB,CAAC;oBACjC,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;oBACtB,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC;oBACxB,KAAI,CAAC,UAAU,EAAE,CAAC;iBACnB;qBACI;oBACH,SAAS,GAAG,sBAAsB,CAAC;iBAEpC;gBACD,IAAM,YAAY,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE;oBAC5D,UAAU,EAAE,yBAAyB;oBACrC,IAAI,EAAE,SAAS,GAAG,KAAK,GAAG,KAAK;iBAEhC,CAAC,CAAC;gBACH,YAAY,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,iBAAO;oBAC1C,KAAI,CAAC,UAAU,EAAE,CAAC;oBAClB,KAAI,CAAC,kBAAkB,EAAE,CAAC;oBAC1B,sBAAsB;gBACxB,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,0CAAe,GAAf,UAAgB,SAAiB;QAC/B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjD,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,EAAE;gBAChD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;aAC9C;SACF;IACH,CAAC;IACD,yCAAyC;IACzC,wDAAwD;IACxD,qEAAqE;IACrE,oEAAoE;IACpE,QAAQ;IACR,MAAM;IAEN,IAAI;IACJ,6CAAkB,GAAlB,UAAmB,UAAU;QAC3B,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjD,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,EAAE;gBAChD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;aACjD;SACF;IACH,CAAC;IACD,sCAAW,GAAX,UAAY,OAAO,EAAE,IAAI;QAEvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAGxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAChD,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,EAAE;gBACvD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;aAE7C;SACF;QAED,8CAA8C;QAC9C,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS;QAClC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAEzD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjD,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE;gBAC1D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;aAC/C;SAEF;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,GAAG,EAAE;YACpC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;YACrC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;SAChC;aAAM;YACL,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC;YACxC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC;SACjC;QAED,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAGD,mCAAQ,GAAR;QAEE,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;YAC9C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;SACvC;IACH,CAAC;IAED,wCAAa,GAAb,UAAc,OAAO;QAArB,iBA8BC;QA5BC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QAGnC,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE;YACzD,UAAU,EAAE,yBAAyB;YACrC,IAAI,EAAE,8CAA8C,GAAG,OAAO,CAAC,SAAS,GAAG,MAAM,GAAG,IAAI;SAEzF,CAAC,CAAC;QACH,2BAA2B;QAE3B,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;YACtC,IAAI,MAAM,EAAE;gBAEV,0BAA0B;gBAC1B,KAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,cAAI;oBAE7D,IAAI,IAAI,CAAC,EAAE,EAAE;wBACX,KAAI,CAAC,QAAQ,EAAE,CAAC;wBAChB,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;wBACtB,KAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;qBACzC;oBACD,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;oBACtB,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC;oBACxB,KAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;gBAtdyB,kDAAI;gBAAyB,6DAAa;gBACnD,kEAAS;gBAAmB,kEAAmB;;IAnErD,gBAAgB;QAN5B,+DAAS,CAAC;YACT,QAAQ,EAAE,aAAa;YACvB,uJAAuC;YACvC,2CAA2C;YAC3C,SAAS,EAAE,CAAC,6DAAa,CAAC;SAC3B,CAAC;OACW,gBAAgB,CA4hB5B;IAAD,uBAAC;CAAA;AA5hB4B;AAsiB7B;IAwDE,gCAAmB,MAAiB,EAC3B,SAA+C,EACtB,IAAS,EAAS,aAA4B,EAAU,QAAkB;QAFzF,WAAM,GAAN,MAAM,CAAW;QAC3B,cAAS,GAAT,SAAS,CAAsC;QACtB,SAAI,GAAJ,IAAI,CAAK;QAAS,kBAAa,GAAb,aAAa,CAAe;QAAU,aAAQ,GAAR,QAAQ,CAAU;QAzD5G,0BAAqB,GAAG,KAAK,CAAC;QAG9B,cAAS,GAAG,KAAK,CAAC;QAClB,WAAM,GAAG,KAAK,CAAC;QAUf,aAAQ,GAAG,EAAE,CAAC;QAKd,kBAAa,GAAG,GAAG,CAAC;QASpB,iBAAY,GAAG,EAAE,CAAC;QAClB,wBAAmB,GAAG,EAAE,CAAC;QACzB,gBAAW,GAAG,IAAI,0DAAW,EAAE,CAAC;QAChC,sBAAiB,GAAG,EAAE,CAAC;QAMvB,sBAAiB,GAAG,KAAK,CAAC;QAC1B,oBAAe,GAAG,EAAE,CAAC;QAErB,aAAQ,GAAG,KAAK,CAAC;QAGjB,uBAAkB,GAAG,EAAE,CAAC;QACxB,aAAQ,GAAG,KAAK,CAAC;QACjB,WAAM,GAAG,KAAK,CAAC;QAIf,cAAS,GAAG,KAAK,CAAC;QAClB,YAAO,GAAG,IAAI,CAAC;QACf,eAAU,GAAG,IAAI,CAAC;QAClB,qBAAgB,GAAG,KAAK,CAAC;QAEzB,gBAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QAIvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE;YAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;aAAM,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE;YACnC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;aACI;YACH,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE;gBACvB,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;aACpC;iBAAM;gBACL,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC;aACrC;YACD,8BAA8B;YAC9B,yCAAyC;YACzC,YAAY;YACZ,0CAA0C;YAC1C,KAAK;YACL,IAAI;YAEJ,SAAS;YACT,8BAA8B;YAC9B,MAAM;YACN,mCAAmC;YACnC,MAAM;SACP;QACD,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE;YAC1B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;SAC/B;aAAM;YACL,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;SAC9B;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAED,yCAAQ,GAAR;QAAA,iBAaC;QAZC,IAAI,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,KAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAApD,CAAoD,CAAC,CAAC;QACtG,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;YACpB,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;SACnC;aACI;YACH,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;SACpC;QACD,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAC1C;IACH,CAAC;IACD,0CAAS,GAAT;QAAA,iBAKC;QAJC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,iBAAO;YAC9C,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,UAAU,GAAG,OAAO,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,2CAAU,GAAV;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IACD,0CAAS,GAAT;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IACD,kDAAiB,GAAjB;QACE,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC;IACnD,CAAC;IAED,2CAAU,GAAV;QACE,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAM,SAAS,GAAG,CAAC,CAAC;QAEpB,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,6HAA6H;YAC/J,IAAI,CAAC,aAAa,KAAK,SAAS,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS;YACxE,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,IAAI,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAEtH,IAAI,CAAC,SAAS,KAAK,EAAE,IAAI,sDAAsD;YAC/E,IAAI,CAAC,aAAa,KAAK,EAAE;YACzB,2CAA2C;YAC3C,IAAI,CAAC,MAAM,KAAK,EAAE,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC,QAAQ,KAAK,EAAE,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE;YAE3I,IAAI,CAAC,QAAQ,GAAG,kCAAkC,CAAC;YACnD,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE;aAExB;YACD,KAAK,EAAE,CAAC;SACT;QAED,IAAI,KAAK,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YACnB,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE;gBAEvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACxB;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACxB;SACF;IACH,CAAC;IACD,mDAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,KAAK,CAAC;IACvC,CAAC;IACD,uCAAM,GAAN,UAAO,GAAW;QAAlB,iBA0FC;QAzFC,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE;YAC3D,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;SACvB;QAED,IAAI,IAAI,CAAC,SAAS,KAAK,EAAE,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;YACpF,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;SACtB;QACD,IAAI,UAAkB,CAAC;QACvB,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,UAAU,GAAG,IAAI,CAAC,aAAa;SAChC;aACI;YACH,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;SAC9B;QACD,IAAM,IAAI,GAAG;YACX,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,UAAU,EAAE,GAAG;YACf,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,UAAU,EAAE,UAAU;YACtB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,kBAAkB,EAAE,IAAI,CAAC,iBAAiB;YAC1C,YAAY,EAAE,GAAG;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS,EAAE,IAAI,CAAC,WAAW;YAC3B,SAAS,EAAE,IAAI,CAAC,WAAW;YAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B;QACD,IAAI,GAAG,KAAK,KAAK,EAAE;YAEjB,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,cAAI;gBAEvD,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,GAAG,EAAE;oBAEpC,IAAI,KAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,GAAG,EAAE;wBACzC,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;wBAC1C,IAAM,QAAQ,GAAG;4BACf,SAAS,EAAE,KAAI,CAAC,SAAS;4BACzB,SAAS,EAAE,KAAI,CAAC,WAAW;4BAC3B,SAAS,EAAE,KAAI,CAAC,WAAW;yBAC5B,CAAC;wBACF,KAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,cAAI;4BAClD,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,GAAG,EAAE;gCACpC;iCAEC;6BACF;wBACH,CAAC,CAAC,CAAC;wBAEH,8BAA8B;wBAC9B,KAAI,CAAC,QAAQ,GAAG,mBAAmB,CAAC;wBACpC,8BAA8B;wBAC9B,KAAI,CAAC,UAAU,GAAG,EAAE,CAAC;wBACrB,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;wBACvB,KAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;wBAC5B,KAAI,CAAC,OAAO,GAAG,EAAE,CAAC;wBAClB,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;wBACtB,KAAI,CAAC,UAAU,GAAG,EAAE,CAAC;wBACrB,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;wBAC5C,KAAI,CAAC,SAAS,GAAG,EAAE,CAAC;wBACpB,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC;wBACxB,KAAI,CAAC,MAAM,GAAG,IAAI,CAAC;wBACnB,KAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;qBAE9B;yBACI;wBACH,KAAI,CAAC,QAAQ,GAAG,sBAAsB,CAAC;qBACxC;iBACF;YAEH,CAAC,CAAC,CAAC;SACJ;aAAM;YAEL,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,cAAI;gBAEvD,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,GAAG,EAAE;oBACpC,KAAI,CAAC,QAAQ,GAAG,sBAAsB,CAAC;oBACvC,UAAU,CAAC;wBACT,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC7B,CAAC,EAAE,IAAI,CAAC,CAAC;iBACV;qBAAM;oBACL,KAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC;iBAClC;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAGD,sCAAK,GAAL;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IACD,yCAAQ,GAAR,UAAS,KAAK;QAAd,iBASC;QARC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;QAC9B,IAAI,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,KAAK,KAAI,CAAC,UAAU,EAAhC,CAAgC,CAAC,CAAC;QAE9E,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,EAA1C,CAA0C,CAAC,CAAC;YAC9F,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;SAErD;IACH,CAAC;IACD,wCAAO,GAAP,UAAQ,KAAK;QACX,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAGrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAChD,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,EAAE;gBACpD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;aAE7C;SACF;IAEH,CAAC;IACD,gDAAe,GAAf,UAAgB,SAAS;QACvB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjD,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,EAAE;gBAChD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;aAC9C;SACF;IACH,CAAC;IACD,yCAAQ,GAAR,UAAS,KAAK;QACZ,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;IAED,mDAAkB,GAAlB,UAAmB,UAAU;QAC3B,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAEjD,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,EAAE;gBAChD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;aACjD;SACF;IACH,CAAC;IACD,4CAAW,GAAX,UAAY,KAAK;QACf,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC;QACjC,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAED,oDAAmB,GAAnB;QACE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxD,IAAI,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,aAAa,KAAK,IAAI,CAAC,aAAa,EAAE;gBACpE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;aAC5D;SACF;IACH,CAAC;IAED,gDAAe,GAAf,UAAgB,KAAK;QAArB,iBAYC;QAXC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,KAAK,CAAC;QAEtC,IAAI,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,kBAAkB,KAAK,KAAI,CAAC,kBAAkB,EAAhD,CAAgD,CAAC,CAAC;QAClG,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACnB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;SACnC;QAED,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;SACtB;IACH,CAAC;IACD,iDAAgB,GAAhB,UAAiB,KAAK;QACpB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,KAAK,CAAC;IACxC,CAAC;IACD,2CAAU,GAAV,UAAW,KAAK;QACd,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC;IAClC,CAAC;IAED,qCAAI,GAAJ,UAAK,KAAK;QACR,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;IAE5B,CAAC;IAED,kDAAiB,GAAjB,UAAkB,MAAM;QAAxB,iBAUC;QATC,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,CAAC,SAAS,CAAC,iBAAO;YACtD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,eAAe,GAAG,OAAO,CAAC;YAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpD,IAAI,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,EAAE;oBAC7C,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;iBAChD;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,yCAAQ,GAAR,UAAS,KAAK;QACZ,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;IAChC,CAAC;IAED,6CAAY,GAAZ,UAAa,KAAK;QAChB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC;IAC9B,CAAC;IAED,wCAAO,GAAP;QACE,0BAA0B;QAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IACD,2CAAU,GAAV;QACE,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,oCAAoC;QACpC,6BAA6B;QAC7B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,uBAAuB;QACvB,wBAAwB;IAC1B,CAAC;IACD,yCAAQ,GAAR;QACE,mCAAmC;QACnC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAM,SAAS,GAAG,CAAC,CAAC;QAEpB,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAEtE,IAAI,CAAC,QAAQ,GAAG,kCAAkC,CAAC;YACnD,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE;aAExB;YACD,KAAK,EAAE,CAAC;SACT;QAED,IAAI,KAAK,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YACnB,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE;gBAEvB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACjC;iBAAM;gBACL,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACjC;SACF;aAAM;SAEN;IAEH,CAAC;IAED,gDAAe,GAAf,UAAgB,GAAW;QAA3B,iBAkEC;QAjEC,wCAAwC;QACxC,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,IAAI,IAAI,CAAC,YAAY,KAAK,EAAE,EAAE;YAC/D,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;YAC7B,IAAI,GAAG,KAAK,KAAK,EAAE;gBACjB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAChD,wCAAwC;gBACxC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,kBAAkB;aACvC;YAED,IAAI,GAAG,KAAK,MAAM,EAAE;gBAClB,yCAAyC;gBACzC,mCAAmC;gBACnC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;gBACtE,wCAAwC;gBACxC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC;aAChE;SACF;QAED,IAAM,IAAI,GAAG;YACX,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,kBAAkB;YACjE,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,WAAW;YAC3B,aAAa,EAAE,CAAC;SACjB;QACD,IAAI,GAAG,KAAK,KAAK,EAAE;YACjB,qBAAqB;YACrB,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,cAAI;gBACrD,0CAA0C;gBAC1C,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE;oBACvC,8BAA8B;oBAC9B,KAAI,CAAC,kBAAkB,EAAE,CAAC;oBAC1B,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;oBACvB,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC;oBACvB,KAAI,CAAC,QAAQ,GAAG,qCAAqC,CAAC;oBACtD,KAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;oBACtB,oCAAoC;oBACpC,8BAA8B;iBAE/B;qBAAM;oBACL,KAAI,CAAC,QAAQ,GAAG,+BAA+B,CAAC;iBACjD;YAEH,CAAC,CAAC,CAAC;SACJ;aACI;YACH,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,cAAI;gBACrD,8BAA8B;gBAC9B,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE;oBAGvC,KAAI,CAAC,QAAQ,GAAG,uCAAuC,CAAC;oBACxD,UAAU,CAAC;wBACT,KAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;oBACrB,CAAC,EAAE,IAAI,CAAC,CAAC;oBACT,KAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;oBACtB,KAAI,CAAC,kBAAkB,EAAE,CAAC;oBAC1B,wBAAwB;iBAEzB;qBAAM;oBACL,KAAI,CAAC,QAAQ,GAAG,iCAAiC,CAAC;iBACnD;YACH,CAAC,CAAC,CAAC;SACJ;IAEH,CAAC;IAED,6CAAY,GAAZ;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAGrB,qEAAqE;QACrE,2DAA2D;QAC3D,uBAAuB;QACvB,wBAAwB;QACxB,cAAc;QACd,SAAS;QACT,0BAA0B;QAC1B,yBAAyB;QACzB,uBAAuB;QACvB,sBAAsB;QACtB,IAAI;IACN,CAAC;IAED,yCAAQ,GAAR;QAEE,IAAI,IAAI,CAAC,aAAa,CAAC,oBAAoB,KAAK,SAAS,IAAI,IAAI,CAAC,aAAa,CAAC,oBAAoB,KAAK,EAAE,EAAE;YAC3G,IAAI,CAAC,QAAQ,GAAG,kCAAkC;SACnD;aAAM;YACL,uBAAuB;YACvB,wCAAwC;YACxC,mBAAmB;YACnB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAC7B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,wBAAwB;SACzB;IAGH,CAAC;IAED,2CAAU,GAAV;QAAA,iBAKC;QAJC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC7D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,2CAAU,GAAV,UAAW,OAAO,EAAE,IAAI;QAAxB,iBA8DC;QA5DC,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE;YAE1D,UAAU,EAAE,yBAAyB;YACrC,IAAI,EAAE,kDAAkD,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI;SAEhF,CAAC,CAAC;QACH,2BAA2B;QAE3B,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;YACtC,IAAI,MAAM,EAAE;gBACV,wCAAwC;gBACxC,wBAAwB;gBACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACvD,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;oBACvE,uCAAuC;iBACxC;gBACD,KAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,IAAI,YAAU,GAAG,CAAC,CAAC;gBACnB,UAAU,CAAC;oBACT,iCAAiC;oBACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBAChD,iEAAiE;wBACjE,IAAI,OAAO,IAAI,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,kBAAkB,EAAE;4BACrD,YAAU,EAAE,CAAC;yBACd;qBAGF;oBAED,0BAA0B;oBAC1B,4BAA4B;oBAC5B,IAAI,CAAC,YAAU,EAAE;wBACf,uBAAuB;wBACvB,KAAI,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,cAAI;4BACnD,yBAAyB;4BACzB,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;4BACpB,KAAI,CAAC,QAAQ,GAAG,sBAAsB,CAAC;4BACvC,IAAI,IAAI,CAAC,EAAE,EAAE;gCACX,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gCACtB,2CAA2C;6BAC5C;4BACD,KAAI,CAAC,kBAAkB,EAAE,CAAC;4BAC1B,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;wBACzB,CAAC,CAAC,CAAC;qBAEJ;yBAAM;wBACL,KAAI,CAAC,QAAQ,GAAG,iCAAiC,CAAC;qBACnD;gBAEH,CAAC,EAAE,GAAG,CAAC,CAAC;aAGT;QACH,CAAC,CAAC,CAAC;QAMH,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IACD,wCAAO,GAAP;QAAA,iBA4BC;QA1BC,IAAM,IAAI,GAAG;YACX,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAChD,SAAS,EAAE,IAAI,CAAC,WAAW;YAC3B,aAAa,EAAE,CAAC;SACjB;QAED,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,cAAI;YACrD,yCAAyC;YACzC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE;gBAGvC,KAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC1B,8BAA8B;gBAC9B,KAAI,CAAC,QAAQ,GAAG,qCAAqC,CAAC;gBACtD,UAAU,CAAC;oBACT,KAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;gBACrB,CAAC,EAAE,IAAI,CAAC,CAAC;aACV;iBAAM;gBACL,KAAI,CAAC,QAAQ,GAAG,+BAA+B,CAAC;gBAChD,UAAU,CAAC;oBACT,KAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;gBACrB,CAAC,EAAE,IAAI,CAAC,CAAC;aACV;QAEH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,mDAAkB,GAAlB;QAAA,iBAuBC;QAtBC,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC1E,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YAEvC,IAAI,QAAa,CAAC;YAClB,QAAQ,GAAG,OAAO,CAAC;YACnB,0BAA0B;YAC1B,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;gBACzB,KAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;gBAClC,KAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,iBAAO;oBAC/D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;oBACvC,KAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC;oBACnC,yCAAyC;gBAC3C,CAAC,CAAC,CAAC;aACJ;iBACI;gBACH,KAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC;gBACpC,KAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;aACpC;QAEH,CAAC,CAAC,CAAC;IAGL,CAAC;;gBAtjB0B,kEAAS;gBAChB,qEAAY;gDAC7B,oDAAM,SAAC,wEAAe;gBAA0C,6DAAa;gBAAoB,wDAAQ;;IA1DjG,sBAAsB;QANlC,+DAAS,CAAC;YACT,QAAQ,EAAE,YAAY;YACtB,iIAA0B;YAC1B,6BAA6B;YAC7B,SAAS,EAAE,CAAC,6DAAa,EAAE,wDAAQ,CAAC;SACrC,CAAC;QA2DG,6GAAM,CAAC,wEAAe,CAAC;OA1Df,sBAAsB,CAgnBlC;IAAD,6BAAC;CAAA;AAhnBkC;AAynBnC;IAcE,iCACS,SAAgD,EACvB,IAAS,EAAS,aAA4B;QADvE,cAAS,GAAT,SAAS,CAAuC;QACvB,SAAI,GAAJ,IAAI,CAAK;QAAS,kBAAa,GAAb,aAAa,CAAe;QAfhF,cAAS,GAAG,KAAK,CAAC;QAUlB,eAAU,GAAG,EAAE,CAAC;QAEhB,gBAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QAIvB,+BAA+B;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE;YAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IACD,0CAAQ,GAAR;IAEA,CAAC;IACD,4CAAU,GAAV;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IACD,2CAAS,GAAT;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,uCAAK,GAAL;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;;gBAvBmB,qEAAY;gDAC7B,oDAAM,SAAC,wEAAe;gBAA0C,6DAAa;;IAhBrE,uBAAuB;QANnC,+DAAS,CAAC;YACT,QAAQ,EAAE,YAAY;YACtB,iIAA0B;YAE1B,SAAS,EAAE,CAAC,6DAAa,CAAC;;SAC3B,CAAC;QAiBG,6GAAM,CAAC,wEAAe,CAAC;OAhBf,uBAAuB,CAwCnC;IAAD,8BAAC;CAAA;AAxCmC;;;;;;;;;;;;ACprCpC,8BAA8B,oBAAoB,kBAAkB,gBAAgB,iBAAiB,qCAAqC,KAAK,kBAAkB,WAAW,iBAAiB,KAAK,qBAAqB,YAAY,KAAK,kBAAkB,cAAc,OAAO,kBAAkB,2BAA2B,OAAO,sBAAsB,cAAc,oBAAoB,gCAAgC,KAAK,0BAA0B,iBAAiB,KAAK,cAAc,oBAAoB,gCAAgC,yBAAyB,iBAAiB,wBAAwB,sBAAsB,KAAK,qBAAqB,+BAA+B,KAAK,iCAAiC,gBAAgB,6BAA6B,KAAK,kBAAkB,cAAc,oBAAoB,8BAA8B,KAAK,SAAS,iCAAiC,kBAAkB,+BAA+B,OAAO,oBAAoB,gBAAgB,sBAAsB,gCAAgC,OAAO,aAAa,iCAAiC,kDAAkD,+BAA+B,OAAO,oBAAoB,wBAAwB,OAAO,yBAAyB,yBAAyB,OAAO,4BAA4B,kBAAkB,SAAS,WAAW,+BAA+B,sBAAsB,uBAAuB,KAAK,sBAAsB,mBAAmB,2BAA2B,KAAK,qBAAqB,4BAA4B,yBAAyB,2BAA2B,KAAK,kBAAkB,0CAA0C,KAAK,iBAAiB,wBAAwB,KAAK,mBAAmB,oBAAoB,qBAAqB,2BAA2B,wBAAwB,0BAA0B,qBAAqB,gCAAgC,2BAA2B,WAAW,wBAAwB,gCAAgC,KAAK,oBAAoB,gCAAgC,KAAK,mBAAmB,iBAAiB,qCAAqC,iBAAiB,qBAAqB,KAAK,mBAAmB,qBAAqB,yBAAyB,KAAK,sBAAsB,kCAAkC,aAAa,8BAA8B,kCAAkC,wBAAwB,6BAA6B,KAAK,4BAA4B,oBAAoB,EAAE,+BAA+B,kBAAkB,EAAE,uBAAuB,iBAAiB,yBAAyB,KAAK,sBAAsB,0BAA0B,uBAAuB,yBAAyB,KAAK,oBAAoB,gBAAgB,qCAAqC,iBAAiB,oBAAoB,KAAK,oBAAoB,mBAAmB,uBAAuB,KAAK,uBAAuB,gCAAgC,WAAW,+BAA+B,gCAAgC,sBAAsB,2BAA2B,KAAK,6BAA6B,oBAAoB,EAAE,gCAAgC,kBAAkB,EAAE,uBAAuB,qBAAqB,YAAY,yBAAyB,MAAM,qBAAqB,yBAAyB,iBAAiB,oBAAoB,KAAK,eAAe,wBAAwB,KAAK,eAAe,kBAAkB,KAAK,iBAAiB,mBAAmB,gCAAgC,mBAAmB,yBAAyB,sBAAsB,yBAAyB,gCAAgC,sBAAsB,wBAAwB,0CAA0C,yBAAyB,KAAK,uBAAuB,qBAAqB,kCAAkC,qBAAqB,2BAA2B,wBAAwB,kCAAkC,2BAA2B,+BAA+B,qBAAqB,sCAAsC,qBAAqB,wBAAwB,0BAA0B,OAAO,yBAAyB,qBAAqB,kCAAkC,qBAAqB,yBAAyB,wBAAwB,kCAAkC,2BAA2B,wBAAwB,+BAA+B,2BAA2B,cAAc,yBAAyB,qBAAqB,kCAAkC,qBAAqB,yBAAyB,wBAAwB,kCAAkC,2BAA2B,wBAAwB,+BAA+B,cAAc,oBAAoB,uBAAuB,yBAAyB,gCAAgC,mBAAmB,yBAAyB,yBAAyB,sBAAsB,kBAAkB,sBAAsB,OAAO,qBAAqB,kCAAkC,qBAAqB,2BAA2B,2BAA2B,wBAAwB,2BAA2B,wBAAwB,OAAO,qBAAqB,gCAAgC,qBAAqB,oBAAoB,kCAAkC,2BAA2B,8BAA8B,2BAA2B,qBAAqB,wBAAwB,yBAAyB,yBAAyB,4BAA4B,4BAA4B,OAAO,sBAAsB,kCAAkC,qBAAqB,2BAA2B,wBAAwB,oBAAoB,8BAA8B,8BAA8B,2BAA2B,wBAAwB,OAAO,uBAAuB,gCAAgC,qBAAqB,oBAAoB,kCAAkC,2BAA2B,8BAA8B,2BAA2B,qBAAqB,wBAAwB,yBAAyB,yBAAyB,4BAA4B,UAAU,kBAAkB,oBAAoB,mBAAmB,kCAAkC,2BAA2B,2BAA2B,qBAAqB,yBAAyB,OAAO,kBAAkB,oBAAoB,kBAAkB,qCAAqC,8BAA8B,2BAA2B,yBAAyB,wBAAwB,yBAAyB,OAAO,wBAAwB,0BAA0B,OAAO,2BAA2B,wBAAwB,OAAO,uBAAuB,mCAAmC,kCAAkC,qBAAqB,2BAA2B,wBAAwB,2BAA2B,wBAAwB,+BAA+B,0CAA0C,qBAAqB,OAAO,kBAAkB,kCAAkC,kCAAkC,qBAAqB,2BAA2B,wBAAwB,2BAA2B,wBAAwB,+BAA+B,4CAA4C,uBAAuB,wBAAwB,OAAO,kBAAkB,kCAAkC,4BAA4B,2BAA2B,qBAAqB,yBAAyB,oBAAoB,qBAAqB,gCAAgC,wBAAwB,OAAO,oBAAoB,iBAAiB,yBAAyB,KAAK,mBAAmB,iCAAiC,kCAAkC,OAAO,sBAAsB,8BAA8B,+BAA+B,KAAK,sBAAsB,oBAAoB,gBAAgB,wBAAwB,2BAA2B,iBAAiB,qCAAqC,cAAc,kBAAkB,qBAAqB,uBAAuB,KAAK,qBAAqB,yBAAyB,KAAK,qBAAqB,kCAAkC,sBAAsB,KAAK,sCAAsC,iBAAiB,KAAK,kBAAkB,sBAAsB,KAAK,oBAAoB,cAAc,yBAAyB,sBAAsB,KAAK,oBAAoB,YAAY,KAAK,yBAAyB,kBAAkB,gCAAgC,SAAS,4BAA4B,iBAAiB,WAAW,wBAAwB,cAAc,yBAAyB,sBAAsB,sBAAsB,uBAAuB,KAAK,wBAAwB,uBAAuB,WAAW,wBAAwB,kBAAkB,KAAK,8EAA8E,QAAQ,iCAAiC,OAAO,gBAAgB,qBAAqB,OAAO,uBAAuB,uBAAuB,mBAAmB,oBAAoB,gCAAgC,+BAA+B,4BAA4B,WAAW,qBAAqB,qBAAqB,MAAM,2BAA2B,mBAAmB,iBAAiB,4BAA4B,6BAA6B,WAAW,kBAAkB,uBAAuB,kBAAkB,qBAAqB,eAAe,gBAAgB,uBAAuB,uBAAuB,MAAM,aAAa,kBAAkB,MAAM,WAAW,mDAAmD,2rkB;;;;;;;;;;;ACAt6S,kIAAkI,gBAAgB,cAAc,eAAe,GAAG,gBAAgB,uBAAuB,2BAA2B,mBAAmB,sBAAsB,GAAG,kBAAkB,kBAAkB,GAAG,oBAAoB,eAAe,GAAG,eAAe,eAAe,GAAG,+BAA+B,kBAAkB,GAAG,kBAAkB,eAAe,eAAe,GAAG,eAAe,eAAe,eAAe,GAAG,kBAAkB,eAAe,eAAe,GAAG,sBAAsB,yBAAyB,GAAG,kQAAkQ,mBAAmB,kBAAkB,gBAAgB,iBAAiB,KAAK,sBAAsB,oBAAoB,6BAA6B,sCAAsC,KAAK,wBAAwB,kBAAkB,KAAK,mBAAmB,kBAAkB,KAAK,mCAAmC,oBAAoB,6BAA6B,KAAK,mDAAmD,kBAAkB,oBAAoB,iBAAiB,KAAK,gGAAgG,kBAAkB,mBAAmB,KAAK,0BAA0B,2BAA2B,KAAK,iBAAiB,sBAAsB,KAAK,GAAG,6LAA6L,2BAA2B,0BAA0B,GAAG,kBAAkB,qBAAqB,GAAG,gBAAgB,qBAAqB,oBAAoB,KAAK,GAAG,gBAAgB,WAAW,iBAAiB,6BAA6B,KAAK,mBAAmB,+BAA+B,KAAK,GAAG,gBAAgB,sBAAsB,+BAA+B,6BAA6B,KAAK,GAAG,iBAAiB,qBAAqB,qBAAqB,KAAK,GAAG,aAAa,+BAA+B,GAAG,gBAAgB,+BAA+B,GAAG,iBAAiB,2BAA2B,+BAA+B,GAAG,SAAS,oBAAoB,GAAG,eAAe,uBAAuB,GAAG,SAAS,gBAAgB,GAAG,WAAW,iBAAiB,8BAA8B,iBAAiB,uBAAuB,oBAAoB,uBAAuB,8BAA8B,oBAAoB,sBAAsB,oCAAoC,uBAAuB,GAAG,iBAAiB,iBAAiB,8BAA8B,iBAAiB,uBAAuB,oBAAoB,8BAA8B,uBAAuB,sBAAsB,6BAA6B,mBAAmB,mBAAmB,4BAA4B,GAAG,eAAe,kBAAkB,KAAK,iBAAiB,oBAAoB,sBAAsB,GAAG,mBAAmB,iBAAiB,8BAA8B,iBAAiB,uBAAuB,oBAAoB,8BAA8B,uBAAuB,oBAAoB,2BAA2B,qBAAqB,iBAAiB,uBAAuB,GAAG,mBAAmB,iBAAiB,8BAA8B,iBAAiB,uBAAuB,oBAAoB,8BAA8B,uBAAuB,oBAAoB,2BAA2B,qBAAqB,iBAAiB,GAAG,cAAc,gCAAgC,gCAAgC,iBAAiB,uBAAuB,uBAAuB,gCAAgC,sBAAsB,yBAAyB,mBAAmB,oBAAoB,uBAAuB,uCAAuC,2BAA2B,sBAAsB,MAAM,eAAe,gCAAgC,gCAAgC,iBAAiB,uBAAuB,uBAAuB,gCAAgC,sBAAsB,yBAAyB,mBAAmB,mBAAmB,yBAAyB,oBAAoB,sCAAsC,KAAK,gBAAgB,gCAAgC,gCAAgC,iBAAiB,uBAAuB,oBAAoB,gBAAgB,oBAAoB,sBAAsB,yBAAyB,oBAAoB,uCAAuC,4BAA4B,MAAM,iBAAiB,gCAAgC,gCAAgC,iBAAiB,uBAAuB,oBAAoB,gBAAgB,oBAAoB,sBAAsB,yBAAyB,oBAAoB,uCAAuC,4BAA4B,MAAM,YAAY,gBAAgB,eAAe,8BAA8B,uBAAuB,uBAAuB,iBAAiB,qBAAqB,GAAG,YAAY,gBAAgB,eAAe,uBAAuB,uBAAuB,iBAAiB,qBAAqB,GAAG,iBAAiB,oBAAoB,GAAG,gBAAgB,qBAAqB,oBAAoB,KAAK,GAAG,gBAAgB,WAAW,iBAAiB,kBAAkB,KAAK,mBAAmB,+BAA+B,KAAK,GAAG,gBAAgB,uBAAuB,+BAA+B,KAAK,GAAG,iBAAiB,qBAAqB,qBAAqB,KAAK,GAAG,6BAA6B,aAAa,uBAAuB,KAAK,kBAAkB,yBAAyB,KAAK,mBAAmB,0BAA0B,KAAK,GAAG,6CAA6C,m7sB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA30L;AACnB;AACK;AAC6B;AACd;AACH;AACd;AACiB;AACG;AACQ;AACT;AACA;AAC+B;AAGrD;AACH;AAmG/C;IA8HE,6BAAoB,aAA4B,EAAU,QAA0B,EAC1E,MAAiB,EAAU,OAA4B,EACvD,WAAwB;QAFd,kBAAa,GAAb,aAAa,CAAe;QAAU,aAAQ,GAAR,QAAQ,CAAkB;QAC1E,WAAM,GAAN,MAAM,CAAW;QAAU,YAAO,GAAP,OAAO,CAAqB;QACvD,gBAAW,GAAX,WAAW,CAAa;QA/HlC,cAAS,GAAW,2DAAS,CAAC;QAC9B,qBAAgB,GAAY,KAAK;QACjC,eAAU,GAAG,KAAK,CAAC;QACnB,kBAAa,GAAG,KAAK,CAAC;QACtB,oBAAe,GAAG,KAAK,CAAC;QAExB,oBAAe,GAAG,KAAK,CAAC;QACxB,oBAAe,GAAG,KAAK,CAAC;QAExB,aAAQ,GAAG,KAAK,CAAC;QAGjB,oBAAe,GAAG,EAAE,CAAC;QACrB,mBAAc,GAAG,EAAE,CAAC;QACpB,gBAAW,GAAG,EAAE,CAAC;QACjB,aAAQ,GAAG,EAAE,CAAC;QACd,mBAAc,GAAG,EAAE,CAAC;QACpB,kBAAa,GAAY,KAAK,CAAC;QAO/B,iBAAY,GAAG,EAAE,CAAC;QAClB,gBAAW,GAAG,EAAE,CAAC;QAEjB,qBAAgB,GAAG,EAAE,CAAC;QACtB,gBAAW,GAAG,EAAE,CAAC;QACjB,qBAAgB,GAAG,EAAE,CAAC;QACtB,gBAAW,GAAG,EAEb,CAAC;QAEF,uBAAkB,GAAG,EAEpB,CAAC;QAEF,uBAAkB,GAAG,EAAE,CAAC;QAGxB,gBAAW,GAAG,EAAE,CAAC;QAsBjB,iBAAY,GAAG,EAAE,CAAC;QAClB,wBAAmB,GAAG,EAAE,CAAC;QACzB,aAAQ,GAAG,EAAE,CAAC;QACd,eAAU,GAAG,EAAE,CAAC;QAChB,cAAS,GAAG,KAAK,CAAC;QAElB,cAAS,GAAG,KAAK,CAAC;QAClB,cAAS,GAAG,KAAK,CAAC;QAClB,2BAAsB,GAAG,EAAE,CAAC;QAC5B,kBAAa,GAAG,EAAE,CAAC;QACnB,eAAU,GAAG,IAAI,IAAI,EAAE,CAAC;QAExB,kBAAa,GAAG,KAAK,CAAC;QACtB,qBAAgB,GAAG,EAAE,CAAC;QAGtB,YAAO,GAAG,IAAI,CAAC;QAGf,YAAO,GAAG,KAAK,CAAC;QAUhB,yBAAoB,GAAG,IAAI,CAAC;QAG5B,eAAU,GAAG,IAAI,CAAC;QAUlB,kBAAa,GAAG,KAAK,CAAC;QACtB,wBAAwB;QACxB,oBAAe,GAAG,EAAE,CAAC;QAQrB,UAAK,GAAG,GAAG,CAAC;QACZ,WAAM,GAAG,GAAG,CAAC;QACb,iBAAY,GAAG,SAAS,CAAC;QACzB,eAAU,GAAG,KAAK,CAAC;QAEnB,iBAAY,GAAG,EAAE,CAAC;QAIlB,uBAAkB,GAAG,oFAAkB,CAAC;QAKtC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YACvB,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACtD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAChE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACjD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACxD,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,EAAE;YACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SAC5C;aACI,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,GAAG,EAAE;YAC3C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;SAC7D;aACI;YACH,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;SACjD;QACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAChE,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;QACvB,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;4BA9JU,mBAAmB;IAgK9B,yCAAW,GAAX;IAEA,CAAC;IAED,+CAA+C;IAC/C,sBAAsB;IACtB,wCAAwC;IACxC,0DAA0D;IAC1D,mGAAmG;IACnG,gCAAgC;IAChC,MAAM;IACN,IAAI;IAEJ,sCAAQ,GAAR;QAAA,iBAgCC;QA/BC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,KAAK,YAAY,EAApD,CAAoD,CAAC,CAAC;QAC3F,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;SAC1C;QAED,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE;YAC5V,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;SACvB;aACI;YACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;SACtB;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,UAAU,CAAC;YACT,KAAI,CAAC,mBAAmB,EAAE,CAAC;QAC7B,CAAC,EAAE,GAAG,CAAC,CAAC;QAER,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7C,CAAC;IAGD,sCAAQ,GAAR;QAAA,iBAMC;QALC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,cAAI;YAEhE,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,yCAAW,GAAX;QACE,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5E,CAAC;IACD,wCAAU,GAAV;QAAA,iBAUC;QATC,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,iBAAO;YACnD,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YAChD,IAAI,iBAAiB,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,KAAI,CAAC,SAAS,EAA9B,CAA8B,CAAC,CAAC;YACrF,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE;gBAClC,KAAI,CAAC,WAAW,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;aAErD;QACH,CAAC,CAAC,CAAC;IAEL,CAAC;IACD,yCAAW,GAAX,UAAY,OAAO;QACjB,OAAO,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAClG,CAAC;IAED,qCAAO,GAAP;QACE,IAAI,EAAE,GAAG,QAAQ,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;QAE3D,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE;YAC9C,IAAI,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;SAGrB;IACH,CAAC;IACD,yCAAW,GAAX;QAAA,iBAwBC;QAtBC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QAEvB,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,kBAAQ;YACpF,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YAC9C,IAAI,KAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC5B,IAAI,KAAI,CAAC,MAAM,EAAE;oBACf,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,QAAQ,CAAC,KAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBAC9D,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,QAAQ,CAAC,KAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;iBAC1E;gBACD,KAAI,CAAC,YAAY,EAAE,CAAC;aACrB;iBACI;gBACH,KAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;gBAC3B,KAAI,CAAC,eAAe,GAAG,EAAE,CAAC;gBAC1B,KAAI,CAAC,cAAc,GAAG,EAAE,CAAC;gBACzB,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;gBAEtB,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;gBACvB,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,MAAM,CAAC;aAC3B;QAEH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,gDAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,KAAK,CAAC;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC7C,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC,KAAK,EAAE;gBAC9C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACvC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;oBACxD,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACvE,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;iBACnC;qBACI;oBACH,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;oBAC7B,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;iBACnC;aACF;SACF;QACD,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IACD,mDAAqB,GAArB,UAAsB,KAAK;QAEzB,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;QAE1B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAE7C,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,KAAK,EAAE;aAE5C;SACF;IACH,CAAC;IAED,sCAAQ,GAAR;QAAA,iBAsBC;QArBC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,cAAI;YAExD,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YACzC,KAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAEzB,IAAI,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,KAAI,CAAC,SAAS,EAA3B,CAA2B,CAAC,CAAC;YACjE,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE;gBAExB,OAAO;aACR;iBAEI;gBACH,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE;oBAC/B,OAAO;iBACR;qBACI;oBACH,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;iBAC1D;aACF;QAEH,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,0CAAY,GAAZ;QAAA,iBAscC;QArcC,IAAI,CAAC,IAAI,CAAC,MAAM;YACd,OAAO;QACT,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAE3B,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,kBAAQ;YACpF,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YAC9C,IAAI,oBAAoB,CAAC;YACzB,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YACvB,KAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,KAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YACzB,KAAI,CAAC,eAAe,GAAG,EAAE,CAAC;YAC1B,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YAEvB,IAAI,SAAS,CAAC;YACd,IAAI,QAAQ,CAAC;YACb,IAAI,aAAa,CAAC;YAClB,IAAI,mBAAmB,CAAC;YACxB,IAAI,mBAAmB,CAAC;YACxB,IAAI,oBAAoB,CAAC;YACzB,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,SAAS,CAAC;YAChC,IAAI,KAAI,CAAC,MAAM,KAAK,GAAG,EAAE;gBACvB,IAAI,IAAI,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,KAAI,CAAC,MAAM,EAAxB,CAAwB,CAAC,CAAC;gBAC/D,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;oBACnB,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;iBAClC;aAGF;YACD,oBAAoB,GAAG,KAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YACxD,KAAI,CAAC,aAAa,GAAG,oBAAoB,CAAC;YAE1C,IAAI,KAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,SAAS;gBACjD,IAAI,KAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;oBAC9D,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;iBACxB;YAGH,IAAI,KAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,SAAS;gBACjD,IAAI,CAAC,CAAC,KAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE;oBAEjE,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;oBACtB,SAAS,GAAG,gBAAgB,CAAC;oBAC7B,QAAQ,GAAG,gBAAgB,CAAC;oBAC5B,aAAa,GAAG,cAAc,CAAC;oBAC/B,oBAAoB,GAAG,sBAAsB,CAAC;iBAE/C;qBACI;oBACH,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;oBACvB,SAAS,GAAG,YAAY,CAAC;oBACzB,QAAQ,GAAG,YAAY,CAAC;oBACxB,aAAa,GAAG,UAAU,CAAC;oBAE3B,oBAAoB,GAAG,kBAAkB,CAAC;iBAC3C;YACH,KAAI,CAAC,cAAc,GAAG,aAAa,CAAC;YACpC,KAAI,CAAC,kBAAkB,GAAG,aAAa,CAAC;YACxC,KAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC;YACnC,KAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC,KAAI,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,KAAI,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;gBAE/I,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;gBAEvC,IAAI,QAAQ,GAAQ,OAAO,CAAC;gBAE5B,KAAI,CAAC,aAAa,CAAC,6BAA6B,CAAC,oBAAoB,EAAE,MAAM,CAAC,KAAI,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,KAAI,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC,CAAC,SAAS,CAAC,iBAAO;oBAClJ,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;4CAEvC,CAAC;wBAER,IAAI,OAAO,GAAG,CAAC,CAAC;wBAAC,IAAI,OAAO,GAAG,CAAC,CAAC;wBACjC,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC;wBAE7B,IAAI,YAAY,GAAG,CAAC,CAAC;wBACrB,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,KAAK,KAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,KAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,GAAG,EAAE;4BAGzG,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;4BAGpC,IAAI,CAAC,KAAI,CAAC,UAAU,EAAE;gCACpB,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,YAAY,CAAC;6BAEzC;iCACI;gCAGH,IAAI,KAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,SAAS,EAAE;oCAC5C,IAAI,UAAU,GAAG,KAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;oCAE5C,IAAI,aAAW,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oCAE1C,KAAI,CAAC,cAAc,GAAG,EAAE,CAAC;4DAEhB,GAAC;wCAER,IAAI,OAAO,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,aAAW,CAAC,GAAC,CAAC,CAAC,QAAQ,EAAE,EAApD,CAAoD,CAAC,CAAC;wCAElG,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;4CACtB,IAAI,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,aAAW,CAAC,GAAC,CAAC,CAAC,CAAC,CAAC;4CAE5D,IAAI,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gDACjC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,aAAW,CAAC,GAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;;gDAElD,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;4CAG1B,IAAI,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gDACjC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,aAAW,CAAC,GAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;;gDAElD,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;4CAG1B,IAAI,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gDACjC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,aAAW,CAAC,GAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;;gDAElD,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;4CAG1B,IAAI,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gDACjC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,aAAW,CAAC,GAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;;gDAElD,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;4CAE1B,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;yCACtC;6CACI;yCAEJ;;oCAlCH,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,aAAW,CAAC,MAAM,EAAE,GAAC,EAAE;gDAAlC,GAAC;qCAsCT;oCAED,IAAI,KAAI,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;wCACpC,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,YAAY,CAAC;qCACzC;iCACF;qCACI;oCAEH,IAAI,KAAI,CAAC,MAAM,IAAI,GAAG,IAAI,KAAI,CAAC,SAAS,IAAI,GAAG,EAAE;wCAC/C,IAAI,IAAI,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,KAAI,CAAC,MAAM,IAAI,CAAC,CAAC,SAAS,KAAK,KAAI,CAAC,SAAS,EAA1D,CAA0D,CAAC,CAAC;wCACrG,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;wCACzB,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,YAAY,CAAC;qCAEzC;yCACI;wCACH,IAAI,IAAI,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,KAAI,CAAC,SAAS,EAA9B,CAA8B,CAAC,CAAC;wCACzE,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;wCACzB,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,YAAY,CAAC;qCACzC;iCAGF;6BACF;4BAGD,KAAI,CAAC,aAAa,CAAC,8BAA8B,CAAC,oBAAoB,EAAE,MAAM,CAAC,KAAI,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,KAAI,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,kBAAQ;gCAE/I,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;gCAEzC,KAAI,CAAC,aAAa,GAAG,QAAQ,CAAC;gCAM9B,4FAA4F;gCAC5F,uBAAuB;gCACvB,8BAA8B;gCAC9B,IAAI;gCAEJ,QAAQ;gCACR,0BAA0B;gCAC1B,IAAI;gCAIJ,IAAI,CAAC,KAAI,CAAC,UAAU,EAAE;oCACpB,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,aAAa,CAAC;iCAE3C;qCACI;oCAEH,IAAI,KAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,SAAS,EAAE;wCAG7C,IAAI,MAAM,GAAG,KAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;wCAEzC,IAAI,cAAY,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wCAEvC,KAAI,CAAC,eAAe,GAAG,EAAE,CAAC;gEACjB,GAAC;4CAGR,IAAI,OAAO,GAAG,KAAI,CAAC,aAAa,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,cAAY,CAAC,GAAC,CAAC,CAAC,QAAQ,EAAE,EAAtD,CAAsD,CAAC,CAAC;4CACrG,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gDACtB,IAAI,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,cAAY,CAAC,GAAC,CAAC,CAAC,CAAC,CAAC;gDAEzD,IAAI,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oDACjC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,cAAY,CAAC,GAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;;oDAE/C,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gDAG1B,IAAI,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oDACjC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,cAAY,CAAC,GAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;;oDAE/C,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gDAG1B,IAAI,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oDACjC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,cAAY,CAAC,GAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;;oDAE/C,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gDAG1B,IAAI,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oDACjC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,cAAY,CAAC,GAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;;oDAE/C,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gDAE1B,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;6CACvC;;wCA/BH,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,cAAY,CAAC,MAAM,EAAE,GAAC,EAAE;oDAAnC,GAAC;yCAiCT;wCACD,IAAI,KAAI,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE;4CACrC,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,aAAa,CAAC;yCAC3C;qCAEF;yCACI;wCAEH,IAAI,KAAI,CAAC,MAAM,IAAI,GAAG,IAAI,KAAI,CAAC,SAAS,IAAI,GAAG,EAAE;4CAC/C,IAAI,IAAI,GAAG,KAAI,CAAC,aAAa,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,KAAI,CAAC,MAAM,IAAI,CAAC,CAAC,SAAS,KAAK,KAAI,CAAC,SAAS,EAA1D,CAA0D,CAAC,CAAC;4CACtG,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;4CAC1B,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,aAAa,CAAC;yCAE3C;6CACI;4CACH,IAAI,IAAI,GAAG,KAAI,CAAC,aAAa,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,KAAI,CAAC,SAAS,EAA9B,CAA8B,CAAC,CAAC;4CAC1E,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;4CAC1B,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,aAAa,CAAC;yCAC3C;qCAEF;iCACF;gCAED,IAAM,YAAY,GAAG,EAAE,CAAC;gCACxB,IAAI,UAAU,GAAG,EAAE,CAAC;gCAAC,IAAM,UAAU,GAAG,EAAE,CAAC;gCAAC,IAAI,WAAW,GAAG,EAAE,CAAC;gCACjE,IAAI,UAAU,GAAG,EAAE,CAAC;gCAAC,IAAI,WAAW,GAAG,EAAE,CAAC;gCAC1C,IAAI,YAAY,GAAG,EAAE,CAAC;gCAAC,IAAI,aAAa,GAAG,EAAE,CAAC;gCAC9C,IAAI,mBAAmB,GAAG,EAAE,CAAC;gCAC7B,IAAI,YAAY,GAAG,EAAE,CAAC;gCACtB,IAAI,aAAa,GAAG,EAAE,CAAC;wDAEd,CAAC;oCACR,IAAI,eAAe,GAAG,EAAE,CAAC;oCAAC,IAAI,MAAM,GAAG,CAAC,CAAC;oCACzC,IAAI,WAAW,GAAG,EAAE,CAAC;oCAAC,IAAI,MAAM,GAAG,CAAC,CAAC;oCAGrC,IAAI,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,KAAK,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,EAAE;wCAG7I,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,aAAa,IAAI,IAAI,IAAI,CAAC,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,GAAG,EAA7D,CAA6D,CAAC,CAAC;wCAC9G,KAAI,CAAC,WAAW,CAAC,OAAO,CAAC,iBAAO;4CAG9B,IAAI,OAAO,CAAC,WAAW,CAAC,KAAK,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,OAAO,CAAC,YAAY,CAAC,KAAK,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE;gDAChI,IAAI,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE;oDAClC,MAAM,EAAE,CAAC;oDACT,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;oDAC3B,IAAI,MAAM,GAAG,KAAI,CAAC,UAAU,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,UAAU,KAAK,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,UAAU,EAAvG,CAAuG,CAAC;oDACjJ,WAAW,CAAC,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,MAAM,CAAC;iDAC7D;qDAAM;oDAEL,MAAM,EAAE,CAAC;oDACT,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;oDAC3B,KAAI,CAAC,aAAa,CAAC,WAAW,CAAC,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,EAAE,oBAAoB,EAAE,KAAI,CAAC,cAAc,EAAE,KAAI,CAAC,kBAAkB,CAAC,CAAC,SAAS,CAAC,eAAK;wDACzL,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;wDACnC,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;wDACnB,UAAU,CAAC,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,KAAI,CAAC,KAAK,CAAC;oDACjE,CAAC,CAAC,CAAC;iDACJ;6CACF;iDACI;gDACH,IAAI,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE;oDAClC,IAAI,MAAM,GAAG,KAAI,CAAC,UAAU,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,UAAU,KAAK,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,UAAU,EAAvG,CAAuG,CAAC;oDAEjJ,mBAAmB,CAAC,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;iDAC5E;6CACF;wCACH,CAAC,CAAC,CAAC;wCAGH,IAAI,UAAU,GAAG,KAAI,CAAC,eAAe,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,EAApE,CAAoE,CAAC,CAAC;wCAExH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4CAE1C,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,KAAK,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE;gDAEzF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oDAChD,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa,KAAK,CAAC,EAAE;wDAE1G,OAAO,EAAE,CAAC;qDACX;yDAAM,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa,KAAK,CAAC,EAAE;wDAEjH,OAAO,EAAE,CAAC;qDACX;iDACF;6CAEF;yCACF;wCAED,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,OAAO,CAAC;wCAChD,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,OAAO,CAAC;wCAE/C,IAAI,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;4CACtC,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,MAAM,CAAC;yCACnF;6CACI;4CAAE,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,MAAM,CAAC;yCAAE;wCACrD,IAAI,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE;4CACrC,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,MAAM,CAAC;yCACjF;6CACI;4CAAE,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,MAAM,CAAC;yCAAE;wCAEpD,IAAI,MAAM,KAAK,CAAC,EAAE;4CAChB,UAAU,CAAC,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,MAAM,CAAC;yCAC5D;wCAGD,IAAI,MAAM,KAAK,CAAC,EAAE;4CAChB,UAAU,CAAC,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,MAAM,CAAC;yCAC5D;wCAED,IAAI,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;wCAEhD,WAAW,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC;wCACnC,WAAW,CAAC,aAAa,CAAC,GAAG,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;wCAChE,WAAW,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC;wCAClC,WAAW,CAAC,YAAY,CAAC,GAAG,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;wCAE9D,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;wCAC3C,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;4CAC9B,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;wCAC/B,CAAC,CAAC,CAAC;wCAEH,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,YAAY,CAAC;wCAEvE,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;qCAG3C;oCAAC,IAAI,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,KAAK,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,EAAE;wCAE/I,YAAY,EAAE,CAAC;qCAChB;oCACD,WAAW,CAAC,aAAa,CAAC,GAAG,YAAY,CAAC;;gCApG5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE;4CAA3C,CAAC;iCAsGT;gCAED,KAAI,CAAC,WAAW,CAAC,OAAO,CAAC,iBAAO;oCAC9B,IAAI,OAAO,CAAC,WAAW,CAAC,KAAK,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;wCAC5F,IAAI,KAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE;yCACnE;6CAAM;4CACL,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;gDAC1D,IAAI,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE;oDAClC,OAAO,EAAE,CAAC;oDACV,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,aAAa,IAAI,IAAI,IAAI,CAAC,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,GAAG,EAA7D,CAA6D,CAAC,CAAC;oDAC9G,IAAI,OAAO,GAAG,KAAI,CAAC,UAAU,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,UAAU,KAAK,CAAC,EAAtE,CAAsE,CAAC;oDACjH,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,OAAO,CAAC;oDAClD,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,IAAI,CAAC;oDAC/C,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;iDAE3B;qDAAM;oDACL,OAAO,EAAE,CAAC;oDACV,KAAI,CAAC,aAAa,CAAC,WAAW,CAAC,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,oBAAoB,EAAE,KAAI,CAAC,cAAc,EAAE,KAAI,CAAC,kBAAkB,CAAC,CAAC,SAAS,CAAC,eAAK;wDACxJ,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;wDAEnC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,KAAK,CAAC;wDAC/C,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;wDAC1B,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,IAAI,CAAC;oDAEhD,CAAC,CAAC,CAAC;iDACJ;6CACF;yCACF;qCACF;gCACH,CAAC,CAAC,CAAC;gCAEH,KAAI,CAAC,cAAc,CAAC,OAAO,CAAC,wBAAc;oCACxC,KAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;oCAC7B,KAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;oCAC7B,KAAI,CAAC,eAAe,CAAC,OAAO,CAAC,yBAAe;wCAG1C,IAAI,cAAc,CAAC,SAAS,IAAI,eAAe,CAAC,SAAS,IAAI,eAAe,CAAC,QAAQ,IAAI,CAAC,EAAE;4CAC1F,KAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;yCAC/C;oCAEH,CAAC,CAAC,CAAC;oCAGH,KAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;wCACzC,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;oCAC/B,CAAC,CAAC,CAAC;oCACH,iEAAiE;oCACjE,IAAI,KAAI,CAAC,cAAc,CAAC,MAAM,IAAI,KAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE;wCAC9D,OAAO;qCACR;yCACI;wCACH,KAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;4CACzB,WAAW,EAAE,cAAc,CAAC,WAAW;4CACvC,cAAc,EAAE,KAAI,CAAC,kBAAkB;4CACvC,SAAS,EAAE,cAAc;yCAC1B,CAAC,CAAC;wCAEH,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;qCACnD;gCACH,CAAC,CAAC;gCAEF,IAAI,KAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG;qCAClE;oCAAE,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;iCAAE;gCAChE,WAAW,CAAC,cAAc,CAAC,GAAG,YAAY,CAAC;gCAC3C,WAAW,CAAC,eAAe,CAAC,GAAG,aAAa,CAAC;gCAC7C,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,OAAO,CAAC;gCACnC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,OAAO,CAAC;gCAClC,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,OAAO,CAAC;gCACrC,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,OAAO,CAAC;gCACpC,WAAW,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC;gCACtC,WAAW,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC;gCACrC,WAAW,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC;gCACxC,WAAW,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC;gCACvC,WAAW,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC;gCACtC,WAAW,CAAC,YAAY,CAAC,GAAG,WAAW,CAAC;gCACxC,WAAW,CAAC,gBAAgB,CAAC,GAAG,mBAAmB,CAAC;gCACpD,WAAW,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gCAC3C,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;oCACvC,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,WAAW,CAAC;iCAClE;gCAGD,IAAI,QAAQ,GAAG,KAAI,CAAC,KAAK,CAAC,KAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;gCAC/C,KAAI,CAAC,mBAAmB,EAAE,CAAC;4BAG7B,CAAC,CAAC,CAAC;yBACJ;;oBA1XH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE;gCAA/B,CAAC;qBA2XT;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IACD,mCAAK,GAAL,UAAM,GAAG,EAAE,IAAI;QACb,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,IAAI,EAAE;YACzC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;SACrC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,oCAAM,GAAN;QACE,IAAI,EAAE,GAAG,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,GAAG,GAAG,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAC9C,8BAA8B;QAC9B,0CAA0C;QAC1C,IAAI,aAAa,GAAG,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC;QAClE,IAAI,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;QAC/C,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC;QACxC,MAAM,CAAC,KAAK,EAAE,CAAC;QAEf,4BAA4B;QAC5B,8CAA8C;IAChD,CAAC;IAED,mCAAK,GAAL;QACE,4CAA4C;QAC5C,kDAAkD;QAClD,+BAA+B;QAC/B,wCAAwC;QACxC,IAAI,aAAa,GAAG,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC;QAClE,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC;QACxC,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,4BAA4B;QAC5B,8CAA8C;IAChD,CAAC;IAGD,wCAAU,GAAV,UAAW,OAAO;QAAlB,iBA0BC;QAzBC,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO;SACR;QACD,IAAM,IAAI,GAAG;YACX,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,WAAW;SAC5B,CAAC;QACF,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE;YAC5D,IAAI,EAAE,sCAAsC,GAAG,MAAM,GAAG,IAAI;SAC7D,CAAC,CAAC;QACH,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;YACtC,IAAI,MAAM,EAAE;gBACV,KAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,SAAS,CAAC,cAAI;oBACxD,IAAI,IAAI,CAAC,EAAE,EAAE;wBACX,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;wBACtB,KAAI,CAAC,UAAU,CAAC,4BAA4B,CAAC,CAAC;qBAC/C;oBACD,qBAAqB;oBACrB,yBAAyB;oBACzB,sBAAsB;oBACtB,KAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,uCAAS,GAAT;QACE,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,YAAY,EAAE;QACnB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IAExB,CAAC;IACD,qCAAO,GAAP;QACE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;IAED,wCAAU,GAAV;QAAA,iBAQC;QAPC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAE7D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC;YAC3B,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,aAAa,IAAI,IAAI,IAAI,CAAC,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,GAAG,EAA7D,CAA6D,CAAC,CAAC;QAEhH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,yCAAW,GAAX;QAAA,iBA0BC;QAzBC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC9D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,YAAY,GAAG,OAAO,CAAC;YAC5B,IAAI,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;YAErC,IAAI,KAAI,CAAC,MAAM,IAAI,GAAG,EAAE;gBACtB,KAAI,CAAC,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,KAAI,CAAC,MAAM,IAAI,CAAC,CAAC,SAAS,IAAI,KAAI,CAAC,SAAS,EAAzD,CAAyD,CAAC,CAAC;aACzG;iBAAM;gBACL,KAAI,CAAC,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,KAAI,CAAC,SAAS,EAA9B,CAA8B,CAAC,CAAC;aAC9E;YAID,IAAI,KAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,GAAG,EAAE;gBACjC,IAAI,SAAS,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,KAAK,KAAI,CAAC,KAAK,EAA3B,CAA2B,CAAC,CAAC;gBAC3E,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;oBACxB,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,GAAG,EAAE;wBAC/B,KAAI,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;qBACnC;iBAEF;aAGF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,2CAAa,GAAb;QAAA,iBAKC;QAJC,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,iBAAO;YAClD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,4CAAc,GAAd;QAAA,iBAKC;QAJC,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,iBAAO;YACnD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,eAAe,GAAG,OAAO,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,uCAAS,GAAT;QAAA,iBAKC;QAJC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,iBAAO;YAC9C,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,UAAU,GAAG,OAAO,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,yCAAW,GAAX;QAAA,iBAKC;QAJC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,iBAAO;YAChD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,YAAY,GAAG,OAAO,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qCAAO,GAAP;QAAA,iBAgGC;QA/FC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAAC,EAAE;QAC9B,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QAExB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC1D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;YACxB,IAAI,CAAC,KAAI,CAAC,UAAU,EAAE;gBAEpB,IAAI,KAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,GAAG,EAAE;oBACtC,IAAI,KAAI,CAAC,kBAAkB,CAAC,UAAU,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,EAAE;wBACnF,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,IAAI,KAAI,CAAC,eAAe,CAAC,YAAY,EAArD,CAAqD,CAAC,CAAC;qBACpG;yBACI,IAAI,KAAI,CAAC,kBAAkB,CAAC,IAAI,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,EAAE;wBAClF,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,IAAI,KAAI,CAAC,eAAe,CAAC,YAAY,IAAI,GAAG,CAAC,MAAM,IAAI,KAAI,CAAC,eAAe,CAAC,MAAM,EAAlG,CAAkG,CAAC,CAAC;qBACjJ;yBACI;wBACH,KAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;qBACzB;oBACD,6EAA6E;oBAC7E,sGAAsG;oBAEtG,0BAA0B;oBAC1B,2CAA2C;oBAC3C,IAAI;oBACJ,SAAS;oBACT,0EAA0E;oBAC1E,0BAA0B;oBAC1B,IAAI;iBACL;qBACI;oBACH,KAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;iBACzB;aAEF;iBACI,IAAI,KAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,SAAS,EAAE;gBAE9C,IAAI,OAAO,GAAG,KAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBACtC,IAAI,UAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACpC,IAAI,QAAQ,GAAG,UAAQ,CAAC;gBAExB,IAAI,CAAC,UAAQ,EAAE;oBACb,KAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;iBACzB;qBACI;oBAEH,IAAI,QAAQ,GAAG,EAAE,CAAC;4CACT,CAAC;wBACR,IAAI,IAAI,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,UAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAA9C,CAA8C,CAAC,CAAC;wBACrF,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;4BACnB,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;yBACzB;;oBAJH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAQ,CAAC,MAAM,EAAE,CAAC,EAAE;gCAA/B,CAAC;qBAKT;oBACD,KAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;iBAC1B;aACF;iBACI;gBACH,IAAI,KAAI,CAAC,kBAAkB,CAAC,UAAU,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,EAAE;oBACnF,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,IAAI,KAAI,CAAC,eAAe,CAAC,YAAY,EAArD,CAAqD,CAAC,CAAC;iBACpG;qBACI,IAAI,KAAI,CAAC,kBAAkB,CAAC,IAAI,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,EAAE;oBAClF,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,IAAI,KAAI,CAAC,eAAe,CAAC,YAAY,IAAI,GAAG,CAAC,MAAM,IAAI,KAAI,CAAC,eAAe,CAAC,MAAM,EAAlG,CAAkG,CAAC,CAAC;iBACjJ;qBACI;oBACH,KAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;iBACzB;gBACD,6EAA6E;gBAC7E,sGAAsG;gBAEtG,0BAA0B;gBAC1B,IAAI;gBACJ,SAAS;gBACT,0EAA0E;gBAC1E,0BAA0B;gBAC1B,2CAA2C;gBAC3C,IAAI;aACL;YAED,IAAI,KAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,GAAG,EAAE;gBAClC,IAAI,KAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;oBAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBAC7C,IAAI,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,iBAAiB,EAAE;4BACnD,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;yBACvC;qBACF;iBACF;aACF;YACD,KAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,oBAAoB;IACpB,0CAAY,GAAZ,UAAa,KAA4B,EAAE,WAAgB;QACzD,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;QAE7B,IAAI,KAAK,CAAC,iBAAiB,KAAK,KAAK,CAAC,SAAS,EAAE;YAC/C,kFAAkF;YAElF,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;YAC/C,IAAI,mBAAmB,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,OAAO,IAAI,KAAK,CAAC,aAAa,GAAG,CAAC,EAApC,CAAoC,CAAC,CAAC;YAEpG,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,IAAI,mBAAmB,CAAC,MAAM,IAAI,CAAC,EAAE;gBACrE,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,KAAK,CAAC,YAAY,GAAG,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;aAC1G;SACF;aACI;YAEH,iFAAiB,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAC5C,KAAK,CAAC,SAAS,CAAC,IAAI,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,YAAY,CAAC,CAAC;YAGtB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;YAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAEvD,IAAI,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,WAAW,CAAC,SAAS,IAAI,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;oBACpK,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;iBAC5D;aAGF;YAED,IAAI,mBAAmB,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,OAAO,IAAI,KAAK,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,CAAC,SAAS,KAAK,WAAW,CAAC,SAAS,EAA7E,CAA6E,CAAC,CAAC;YAE7I,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,KAAK,CAAC,YAAY,GAAG,CAAC,EAAE,WAAW,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;SACnG;IAGH,CAAC;IACD,mBAAmB;IACnB,yCAAW,GAAX,UAAY,KAA4B;QAEtC,IAAI,KAAK,CAAC,iBAAiB,KAAK,KAAK,CAAC,SAAS,EAAE;YAC/C,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;YAC9C,IAAI,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC,aAAa,GAAG,CAAC,EAA/C,CAA+C,CAAC,CAAC;YAE7G,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,IAAI,kBAAkB,CAAC,MAAM,IAAI,CAAC,EAAE;gBACnE,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;aAC5E;SACF;QACD,kFAAkF;IACpF,CAAC;IACD,yCAAW,GAAX,UAAY,WAAgB,EAAE,YAAY;QAA1C,iBA8BC;QA5BC,IAAM,IAAI,GAAG;YACX,SAAS,EAAE,WAAW,CAAC,SAAS;YAEhC,WAAW,EAAE,WAAW,CAAC,WAAW;YACpC,SAAS,EAAE,WAAW,CAAC,SAAS;YAChC,SAAS,EAAE,WAAW,CAAC,SAAS;YAChC,SAAS,EAAE,WAAW,CAAC,SAAS;YAChC,kBAAkB,EAAE,WAAW,CAAC,kBAAkB;YAElD,YAAY,EAAE,GAAG;YACjB,UAAU,EAAE,WAAW,CAAC,UAAU;YAElC,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,OAAO,EAAE,YAAY;YACrB,YAAY,EAAE,WAAW,CAAC,OAAO;SAClC,CAAC;QAEF,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,cAAI;YACvD,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE;aAExC;iBAAM;aAEN;YACD,KAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;IAGL,CAAC;IAED,0CAAY,GAAZ,UAAa,UAAe,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM;QAA7D,iBAuDC;QAtDC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QAGvB,IAAI,MAAM,CAAC,QAAQ,EAAE,IAAI,UAAU,EAAE;YACnC,IAAI,SAAS,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE;gBACxC,IAAI,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;gBAEvC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;oBAClC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBAC7B;;oBACI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aAChC;YAED,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,EAAE;gBAChC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC/D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;aAC9C;SACF;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAE1C,IAAI,MAAM,CAAC,QAAQ,EAAE,IAAI,MAAM,EAAE;gBAC/B,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;aAE3C;YACD,IAAM,IAAI,GAAG;gBACX,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU;gBACpC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ;gBAChC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY;gBACxC,SAAS,EAAE,SAAS;gBACpB,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,cAAc;gBAC5C,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY;gBACxC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU;gBACpC,SAAS,EAAE,IAAI,CAAC,WAAW;gBAC3B,SAAS,EAAE,IAAI,CAAC,WAAW;gBAC3B,OAAO,EAAE,IAAI,CAAC,MAAM;gBACpB,OAAO,EAAE,YAAY;gBACrB,IAAI,EAAE,MAAM;gBACZ,YAAY,EAAE,IAAI,CAAC,YAAY;aAChC,CAAC;YAEF,UAAU;YACV,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,cAAI;gBACxD,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE;oBACvC,KAAI,CAAC,YAAY,EAAE,CAAC;iBAErB;qBAAM;iBAEN;gBACD,KAAI,CAAC,aAAa,EAAE,CAAC;YAEvB,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAGD,2CAAa,GAAb;QAAA,iBAMC;QALC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC9D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,YAAY,GAAG,OAAO,CAAC;QAE9B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,wCAAU,GAAV;QAAA,iBASC;QARC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC7D,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACjD,IAAI,KAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;gBAClC,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;aAErB;QAEH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,yCAAW,GAAX;QAAA,iBAOC;QALC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,kBAAQ;YAC/D,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YACzC,KAAI,CAAC,aAAa,GAAG,QAAQ,CAAC;YAC9B,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,aAAa,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,yCAAW,GAAX;QAAA,iBAOC;QALC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC7D,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QAElD,CAAC,CAAC,CAAC;IAEL,CAAC;IACD,qCAAO,GAAP,UAAQ,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU;QAAhE,iBAmFC;QAjFC,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC;QAClC,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC;QAElC,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;YAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;QAED,IAAI,YAAY,GAAG,EAAE,CAAC;QAEtB,IAAI,UAAU,KAAK,CAAC,EAAE;YACpB,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;YACvC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;SAEpC;QAED,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,SAAS,CAAC,eAAK;YACxK,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAEnC,IAAM,SAAS,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE;gBAC5D,UAAU,EAAE,yBAAyB;gBACrC,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,SAAS;gBAC9C,KAAK,EAAE,OAAO;aACf,CAAC,CAAC;YAEH,IAAI,UAAU,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,KAAK,WAAW,IAAI,CAAC,CAAC,MAAM,KAAK,KAAI,CAAC,SAAS,EAAzD,CAAyD,CAAC,CAAC;YAEtG,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzB,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;aACtB;iBACI;gBACH,KAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;aAEvB;YAMD,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,KAAI,CAAC,SAAS,CAAC;YACvD,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC;YACrD,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,KAAI,CAAC,SAAS,CAAC;YAEvD,SAAS,CAAC,iBAAiB,CAAC,eAAe,GAAG,KAAI,CAAC,eAAe,CAAC;YACnE,SAAS,CAAC,iBAAiB,CAAC,eAAe,GAAG,KAAI,CAAC,eAAe,CAAC;YAEnE,SAAS,CAAC,iBAAiB,CAAC,kBAAkB,GAAG,KAAI,CAAC,kBAAkB,CAAC;YACzE,SAAS,CAAC,iBAAiB,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC;YACjE,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,KAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YACzE,SAAS,CAAC,iBAAiB,CAAC,kBAAkB,GAAG,KAAI,CAAC,kBAAkB,CAAC;YACzE,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,KAAK,CAAC;YAC7C,SAAS,CAAC,iBAAiB,CAAC,OAAO,GAAG,SAAS,CAAC,WAAW,CAAC;YAC5D,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,YAAY,CAAC;YACpD,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC;YAC3D,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC;YAE3D,SAAS,CAAC,iBAAiB,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC;YAEjE,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,KAAI,CAAC,YAAY,CAAC;YAC5D,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;YAC7D,SAAS,CAAC,iBAAiB,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC;YACjE,SAAS,CAAC,iBAAiB,CAAC,eAAe,GAAG,KAAI,CAAC,eAAe,CAAC;YACnE,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;YAC7D,6DAA6D;YAC7D,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC;YACrD,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;YAC7D,SAAS,CAAC,iBAAiB,CAAC,mBAAmB,GAAG,KAAI,CAAC,mBAAmB,CAAC;YAC3E,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;YAC7D,SAAS,CAAC,iBAAiB,CAAC,mBAAmB,GAAG,KAAI,CAAC,mBAAmB,CAAC;YAC3E,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,KAAI,CAAC,UAAU,CAAC;YACzD,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,UAAU,CAAC;YACpD,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,SAAS,CAAC;YAClD,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC;YAC3D,SAAS,CAAC,iBAAiB,CAAC,gBAAgB,GAAG,KAAI,CAAC,gBAAgB,CAAC;YACrE,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;gBACtC,KAAI,CAAC,YAAY,EAAE,CAAC;YACtB,CAAC,CAAC;QAGJ,CAAC,CAAC,CAAC;IAGL,CAAC;IAED,yCAAW,GAAX,UAAY,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS;QAAvD,iBAQC;QAPC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,SAAS,CAAC,eAAK;YAC5J,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YACnC,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAErB,CAAC,CAAC,CAAC;IAGL,CAAC;IAGD,gDAAkB,GAAlB;QAAA,iBAQC;QAPC,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC1E,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC;QAErC,CAAC,CAAC,CAAC;IAGL,CAAC;IACD,iDAAmB,GAAnB,UAAoB,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU;QAAvF,iBAoZC;QAlZC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAK7B,cAAc;QACd,uHAAuH;QACvH,yBAAyB;QACzB,gCAAgC;QAChC,MAAM;QAEN,UAAU;QACV,4BAA4B;QAC5B,MAAM;QAEN,KAAK;QACL,QAAQ;QAER,IAAI;QAIJ,IAAI,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,SAAS,EAAzB,CAAyB,CAAC,CAAC;QACzE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACrB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;SAC5B;aAEI;YACH,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;SACxB;QAMD,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,KAAK,WAAW,IAAI,CAAC,CAAC,MAAM,KAAK,KAAI,CAAC,SAAS,EAAzD,CAAyD,CAAC,CAAC;QAEtG,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;SACtB;aACI;YACH,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;SAEvB;QAGD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,OAAO;SACR;QAGD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAE1B,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC;QAElC,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC;QAClC,wBAAwB;QACxB,sBAAsB;QACtB,MAAM;QACN,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC;QAG/B,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,aAAa,EAAE;YAC9C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;YAC5C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;YAC5C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;SAC7C;aACI,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,aAAa,EAAE;YACnD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;YAC5C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;SAE7C;aACI,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,aAAa,EAAE;YACnD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;YAC5C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;SAC7C;aACI,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,aAAa,EAAE;YACpD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC;SACtC;QAGD,IAAI,UAAU,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE;YAC3E,OAAO;SACR;QAID,2EAA2E;QAC3E,QAAQ;QACR,UAAU;QACV,QAAQ;QAER,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QAExB,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE;YAC5D,IAAI,EAAE,QAAQ,GAAG,KAAK,GAAG,IAAI;SAE9B,CAAC,CAAC;QACH,SAAS,CAAC,iBAAiB,CAAC,KAAK,GAAG,UAAU,CAAC;QAC/C,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,UAAU,CAAC;QACpD,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,SAAS,CAAC;QAClD,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,SAAS,CAAC;QAClD,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,KAAK,CAAC;QAC9C,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACrD,SAAS,CAAC,iBAAiB,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QACnE,SAAS,CAAC,iBAAiB,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QACnE,SAAS,CAAC,iBAAiB,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QACnE,SAAS,CAAC,iBAAiB,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QAC/D,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACzD,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAE7D,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAEvD,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,qBAAW;YAE3C,SAAS,CAAC,iBAAiB,CAAC,KAAK,GAAG,UAAU,CAAC;YAC/C,IAAI,WAAW,KAAK,OAAO,EAAE;gBAE3B,KAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;aACtC;iBAAM,IAAI,WAAW,KAAK,QAAQ,EAAE;gBACnC,KAAI,CAAC,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;aACvC;iBAAM,IAAI,WAAW,KAAK,aAAa,EAAE;gBAExC,KAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;aAE/B;iBACI,IAAI,WAAW,KAAK,UAAU,EAAE;gBACnC,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,UAAU,CAAC;gBACpD,KAAI,CAAC,WAAW,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;aACzC;iBACI,IAAI,WAAW,KAAK,aAAa,EAAE;gBACtC,KAAI,CAAC,WAAW,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;aACzC;iBAEI,IAAI,WAAW,KAAK,QAAQ,EAAE;gBAEjC,KAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;aAGnD;iBACI,IAAI,WAAW,KAAK,cAAc,IAAI,UAAU,IAAI,CAAC,EAAE;gBAE1D,IAAM,YAAY,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oFAAuB,EAAE;oBAC7D,UAAU,EAAE,yBAAyB;oBACrC,IAAI,EAAE,WAAW,GAAG,KAAK,GAAG,IAAI;iBACjC,CAAC,CAAC;gBAEH,IAAI,cAAc,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC;oBAC7C,QAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,UAAU,CAAC,QAAQ,EAAE;gBAAlG,CAAkG,CACnG,CAAC;gBACF,YAAY,CAAC,iBAAiB,CAAC,SAAS,GAAG,SAAS,CAAC;gBACrD,YAAY,CAAC,iBAAiB,CAAC,UAAU,GAAG,UAAU,CAAC;gBACvD,YAAY,CAAC,iBAAiB,CAAC,YAAY,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;gBAC7E,YAAY,CAAC,iBAAiB,CAAC,gBAAgB,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAC7E,YAAY,CAAC,iBAAiB,CAAC,YAAY,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;gBAC7E,YAAY,CAAC,iBAAiB,CAAC,UAAU,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;gBACzE,YAAY,CAAC,iBAAiB,CAAC,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;gBACjF,YAAY,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;gBAChE,YAAY,CAAC,iBAAiB,CAAC,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBACnE,YAAY,CAAC,iBAAiB,CAAC,WAAW,GAAG,KAAI,CAAC,YAAY,CAAC;gBAC/D,YAAY,CAAC,iBAAiB,CAAC,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBAEjE,YAAY,CAAC,iBAAiB,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC;gBACxD,YAAY,CAAC,iBAAiB,CAAC,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;gBACjF,YAAY,CAAC,iBAAiB,CAAC,gBAAgB,GAAG,KAAI,CAAC,gBAAgB,CAAC;gBACxE,YAAY,CAAC,iBAAiB,CAAC,gBAAgB,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAC7E,YAAY,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;gBAChE,YAAY,CAAC,iBAAiB,CAAC,SAAS,GAAG,KAAI,CAAC,SAAS,CAAC;gBAC1D,YAAY,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;oBACzC,sBAAsB;oBACtB,KAAI,CAAC,aAAa,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;wBAC9D,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;wBAEjD,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;wBACvB,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;wBACtB,KAAI,CAAC,UAAU,GAAG,EAAE,CAAC;wBACrB,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;wBACtB,KAAI,CAAC,cAAc,GAAG,EAAE,CAAC;wBACzB,KAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;wBAE3B,KAAI,CAAC,aAAa,EAAE,CAAC;wBACrB,oBAAoB;wBACpB,2CAA2C;wBAC3C,KAAI,CAAC,YAAY,EAAE,CAAC;wBAEpB,KAAI,CAAC,mBAAmB,EAAE,CAAC;oBAE7B,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;aACJ;iBAAM,IAAI,WAAW,KAAK,cAAc,IAAI,SAAS,IAAI,CAAC,EAAE;gBAE3D,KAAI,CAAC,aAAa,CAAC,UAAU,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;oBAC7D,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;oBAChD,IAAM,gBAAgB,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iFAAsB,EAAE;wBAChE,UAAU,EAAE,yBAAyB;wBACrC,IAAI,EAAE,WAAW,GAAG,KAAK,GAAG,IAAI;qBACjC,CAAC,CAAC;oBAEH,IAAI,aAAa,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC;wBAC3C,QAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,SAAS,CAAC,QAAQ,EAAE;oBAA9C,CAA8C,CAC/C,CAAC;oBACF,gBAAgB,CAAC,iBAAiB,CAAC,SAAS,GAAG,SAAS,CAAC;oBACzD,gBAAgB,CAAC,iBAAiB,CAAC,MAAM,GAAG,KAAI,CAAC,MAAM,CAAC;oBACxD,gBAAgB,CAAC,iBAAiB,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC;oBAC5D,gBAAgB,CAAC,iBAAiB,CAAC,SAAS,GAAG,KAAI,CAAC,SAAS,CAAC;oBAC9D,gBAAgB,CAAC,iBAAiB,CAAC,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;oBAC9E,gBAAgB,CAAC,iBAAiB,CAAC,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;oBACpE,gBAAgB,CAAC,iBAAiB,CAAC,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;oBAC5E,gBAAgB,CAAC,iBAAiB,CAAC,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;oBAChF,gBAAgB,CAAC,iBAAiB,CAAC,kBAAkB,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;oBAC5F,gBAAgB,CAAC,iBAAiB,CAAC,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;oBACtE,gBAAgB,CAAC,iBAAiB,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC;oBAElE,gBAAgB,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,aAAG;wBAC1C,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBACvB,KAAI,CAAC,YAAY,EAAE,CAAC;oBACtB,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;aAEJ;iBAEI,IAAI,WAAW,KAAK,MAAM,IAAI,UAAU,IAAI,CAAC,EAAE;gBAElD,IAAI,gBAAc,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,CAAC,UAAU,KAAK,UAAU,EAAxD,CAAwD,CAAC,CAAC;gBAC7G,IAAI,gBAAc,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC7B,IAAM,WAAS,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oFAAuB,EAAE;wBAC1D,UAAU,EAAE,yBAAyB;wBACrC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;qBAC5B,CAAC,CAAC;oBAEH,IAAI,gBAAc,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,EAAE;wBACtC,WAAS,CAAC,iBAAiB,CAAC,gBAAgB,GAAG,CAAC,CAAC;qBAClD;yBACI;wBACH,WAAS,CAAC,iBAAiB,CAAC,gBAAgB,GAAG,gBAAc,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;qBAC7E;oBAED,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;wBACnC,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;oBAC/B,CAAC,CAAC,CAAC;oBAGH,IAAI,eAAe,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,gBAAc,CAAC,CAAC,CAAC,CAAC,MAAM,EAArC,CAAqC,CAAC,CAAC;oBAE3F,WAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,eAAe,CAAC;oBAE1D,WAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,gBAAc,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;oBAEtE,WAAS,CAAC,iBAAiB,CAAC,gBAAgB,GAAG,gBAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;oBAC1E,WAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,gBAAc,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;oBAC1E,WAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,gBAAc,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;oBACtE,WAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;oBAE7D,WAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,gBAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBAEvE,WAAS,CAAC,iBAAiB,CAAC,aAAa,GAAG,KAAI,CAAC,QAAQ,CAAC;oBAE1D,WAAS,CAAC,iBAAiB,CAAC,cAAc,GAAG,gBAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;oBAC9E,WAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,gBAAc,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;oBAC1E,WAAS,CAAC,iBAAiB,CAAC,OAAO,GAAG,gBAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;oBAChE,WAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;oBAC7D,WAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,KAAI,CAAC,YAAY,CAAC;oBAC5D,WAAS,CAAC,iBAAiB,CAAC,MAAM,GAAG,gBAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;oBAC9D,WAAS,CAAC,iBAAiB,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC;oBACjE,WAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC;oBACrD,WAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;oBAE7D,WAAS,CAAC,iBAAiB,CAAC,OAAO,GAAG,KAAI,CAAC,YAAY,CAAC;oBAExD,WAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,gBAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACpE,WAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,gBAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACpE,WAAS,CAAC,iBAAiB,CAAC,gBAAgB,GAAG,KAAI,CAAC,gBAAgB,CAAC;oBAErE,WAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC;oBAC3D,WAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;wBACtC,IAAI,MAAM,EAAE;4BACV,KAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;4BACxC,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;4BACvB,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;4BACtB,KAAI,CAAC,UAAU,GAAG,EAAE,CAAC;4BACrB,sBAAsB;4BAEtB,KAAI,CAAC,aAAa,EAAE,CAAC;4BACrB,oBAAoB;4BACpB,KAAI,CAAC,YAAY,EAAE;yBACpB;oBAGH,CAAC,CAAC,CAAC;iBACJ;aAEF;iBAEI,IAAI,WAAW,KAAK,MAAM,IAAI,SAAS,IAAI,CAAC,EAAE;gBAGjD,IAAM,WAAS,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iFAAsB,EAAE;oBACzD,UAAU,EAAE,yBAAyB;oBACrC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;iBAC5B,CAAC,CAAC;gBAEH,IAAI,aAAa,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,SAAS,EAAzB,CAAyB,CAAC,CAAC;gBAC7E,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC5B,WAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;oBACrE,WAAS,CAAC,iBAAiB,CAAC,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;oBAC7D,WAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC;oBACrD,WAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACnE,WAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,KAAI,CAAC,YAAY,CAAC;oBAC5D,WAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,KAAI,CAAC,YAAY,CAAC;oBAEzD,WAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACnE,WAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;oBACvE,WAAS,CAAC,iBAAiB,CAAC,kBAAkB,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;oBACrF,WAAS,CAAC,iBAAiB,CAAC,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;oBAC/D,WAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;wBAEtC,IAAI,MAAM;4BACR,KAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;wBAE1C,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;wBACvB,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;wBACtB,KAAI,CAAC,UAAU,GAAG,EAAE,CAAC;wBACrB,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;wBACtB,KAAI,CAAC,OAAO,EAAE,CAAC;oBAEjB,CAAC,CAAC,CAAC;iBACJ;aAEF;iBACI,IAAI,WAAW,KAAK,QAAQ,IAAI,UAAU,IAAI,CAAC,EAAE;gBACpD,IAAI,cAAc,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,CAAC,UAAU,KAAK,UAAU,EAAxD,CAAwD,CAAC,CAAC;gBAC7G,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;oBAE7B,KAAI,CAAC,UAAU,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;oBAC/C,KAAI,CAAC,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBAC7C,KAAI,CAAC,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;oBACvC,KAAI,CAAC,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;oBACzC,KAAI,CAAC,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBAC7C,KAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;oBAE3C,IAAM,WAAS,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oFAAuB,EAAE;wBAC1D,UAAU,EAAE,yBAAyB;wBACrC,IAAI,EAAE,4CAA4C,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,MAAM,GAAG,IAAI;qBAEpG,CAAC,CAAC;oBAEH,WAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;wBACtC,IAAI,MAAM,EAAE;4BAGV,KAAI,CAAC,aAAa,CAAC,cAAc,CAAC,KAAI,CAAC,UAAU,EAAE,KAAI,CAAC,SAAS,EAAE,KAAI,CAAC,MAAM,EAAE,KAAI,CAAC,OAAO,EAAE,KAAI,CAAC,SAAS,EAAE,KAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,cAAI;gCAEzI,IAAI,IAAI,CAAC,EAAE,EAAE;oCACX,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;oCACtB,KAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;iCACzC;gCACD,KAAI,CAAC,aAAa,EAAE,CAAC;gCACrB,KAAI,CAAC,YAAY,EAAE,CAAC;4BACtB,CAAC,CAAC,CAAC;yBAEJ;oBACH,CAAC,CAAC,CAAC;iBAEJ;aACF;iBAEI,IAAI,WAAW,KAAK,QAAQ,IAAI,SAAS,IAAI,CAAC,EAAE;gBACnD,IAAI,aAAa,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,SAAS,EAAzB,CAAyB,CAAC,CAAC;gBAC7E,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;oBAE5B,KAAI,CAAC,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBAC5C,KAAI,CAAC,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBAC5C,KAAI,CAAC,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;oBACtC,KAAI,CAAC,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;oBAExC,IAAM,WAAS,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iFAAsB,EAAE;wBACzD,UAAU,EAAE,yBAAyB;wBACrC,IAAI,EAAE,2CAA2C,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,MAAM,GAAG,IAAI;qBACjG,CAAC,CAAC;oBAEH,WAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;wBACtC,IAAI,MAAM,EAAE;4BAGV,KAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAI,CAAC,SAAS,EAAE,KAAI,CAAC,SAAS,EAAE,KAAI,CAAC,MAAM,EAAE,KAAI,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,cAAI;gCACxG,IAAI,IAAI,CAAC,EAAE,EAAE;oCACX,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;oCACtB,KAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;oCAExC,KAAI,CAAC,UAAU,EAAE,CAAC;oCAClB,UAAU,CAAC;wCACT,KAAI,CAAC,YAAY,EAAE,CAAC;oCACtB,CAAC,EAAE,GAAG,CAAC,CAAC;iCACT;4BACH,CAAC,CAAC,CAAC;yBAEJ;oBACH,CAAC,CAAC,CAAC;iBACJ;aACF;QACH,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,sCAAQ,GAAR,UAAS,KAAK;QACZ,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAEtC,IAAI,IAAI,CAAC,OAAO,KAAK,GAAG,EAAE;YACxB,IAAI,CAAC,QAAQ,GAAG,mBAAmB,CAAC;SACrC;aAAM,IAAI,IAAI,CAAC,OAAO,KAAK,GAAG,EAAE;YAC/B,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC;SAChC;aAAM,IAAI,IAAI,CAAC,OAAO,KAAK,GAAG,EAAE;YAC/B,IAAI,CAAC,QAAQ,GAAG,2BAA2B,CAAC;SAC7C;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;SACxB;IACH,CAAC;IACD,mDAAqB,GAArB,UAAsB,SAAS,EAAE,UAAU;QAA3C,iBAqMC;QAnMC,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,oBAAoB,CAAC;QACzB,oBAAoB,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QACxD,IAAI,CAAC,aAAa,CAAC,8BAA8B,CAAC,oBAAoB,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,SAAS,CAAC,kBAAQ;YAE9J,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YACzC,KAAI,CAAC,aAAa,GAAG,QAAQ,CAAC;YAC9B,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,aAAa,CAAC;YAE1C,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,IAAI,UAAU,GAAG,EAAE,CAAC;YACpB,IAAI,SAAS,GAAG,EAAE,CAAC;YACnB,IAAI,aAAa,GAAG,EAAE,CAAC;YACvB,IAAI,UAAU,GAAG,EAAE,CAAC;YACpB,IAAI,KAAI,CAAC,MAAM,KAAK,CAAC,EAAE;gBACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACpD,IAAI,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,EAAE;wBAC7F,SAAS,CAAC,IAAI,CAAC,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;qBACzC;iBACF;aACF;iBACI;gBACH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACpD,IAAI,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,KAAI,CAAC,MAAM,IAAI,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,EAAE;wBAC/I,SAAS,CAAC,IAAI,CAAC,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;qBACzC;iBACF;aACF;YAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAEjD,IAAI,KAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,EAAE;oBAChD,UAAU,GAAG,KAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;iBAE/C;aACF;YACD,IAAI,OAAO,CAAC;YAGZ,IAAI,MAAM,GAAG,KAAI,CAAC,eAAe,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,CAAC,EAAf,CAAe,CAAC,CAAC;YAC/D,aAAa,GAAG,EAAE,CAAC;YACnB,IAAI,WAAW,GAAG,EAAE,CAAC;YACrB,IAAI,UAAU,GAAG,EAAE,CAAC;YACpB,IAAI,WAAW,GAAG,EAAE,CAAC;YACrB,SAAS,CAAC,OAAO,CAAC,oBAAU;gBAC1B,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,UAAU,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,SAAS,CAAC,QAAQ,EAAE,EAAhH,CAAgH,CAAC,CAAC;gBAC/I,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;oBACtB,aAAa,GAAG,OAAO,CAAC;oBACxB,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,GAAG,aAAa,CAAC;iBACtD;gBACD,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC/B,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;gBAC/B,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,aAAa,CAAC;gBAG1C,OAAO,CAAC,OAAO,CAAC,gBAAM;oBACpB,KAAI,CAAC,aAAa,CAAC,6BAA6B,CAAC,oBAAoB,EAAE,MAAM,CAAC,KAAI,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,KAAI,CAAC,MAAM,CAAC,EAAE,KAAI,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,iBAAO;wBACxJ,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;wBAChD,IAAI,OAAO,GAAG,CAAC,CAAC;wBAChB,IAAI,OAAO,GAAG,CAAC,CAAC;wBAChB,IAAI,WAAW,GAAG,EAAE,CAAC;wBACrB,IAAI,UAAU,GAAG,EAAE,CAAC;wBAAC,IAAM,UAAU,GAAG,EAAE,CAAC;wBAC3C,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,aAAa,IAAI,IAAI,IAAI,CAAC,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,GAAG,EAA7D,CAA6D,CAAC,CAAC;wBAC9G,KAAI,CAAC,WAAW,CAAC,OAAO,CAAC,iBAAO;4BAE9B,IAAI,OAAO,CAAC,WAAW,CAAC,KAAK,SAAS,IAAI,OAAO,CAAC,YAAY,CAAC,KAAK,MAAM,CAAC,YAAY,CAAC,EAAE;gCAExF,IAAI,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE;oCAClC,OAAO,EAAE,CAAC;oCACV,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;oCAC3B,IAAI,MAAM,GAAG,KAAI,CAAC,UAAU,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,CAAC,UAAU,KAAK,OAAO,CAAC,YAAY,CAAC,EAAnE,CAAmE,CAAC;oCAC7G,WAAW,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,MAAM,CAAC;iCAE5C;qCAAM;oCACL,OAAO,EAAE,CAAC;oCACV,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;oCAC3B,KAAI,CAAC,aAAa,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,oBAAoB,EAAE,KAAI,CAAC,cAAc,EAAE,KAAI,CAAC,kBAAkB,CAAC,CAAC,SAAS,CAAC,eAAK;wCACrJ,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;wCACnC,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;wCACnB,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,KAAI,CAAC,KAAK,CAAC;oCAChD,CAAC,CAAC,CAAC;iCACJ;6BACF;wBACH,CAAC,CAAC,CAAC;wBACH,IAAI,OAAO,KAAK,CAAC,EAAE;4BACjB,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,OAAO,CAAC;yBAC5C;wBACD,IAAI,OAAO,KAAK,CAAC,EAAE;4BACjB,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,OAAO,CAAC;yBAC5C;wBACD,WAAW,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC;wBACtC,WAAW,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC;wBACrC,WAAW,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,WAAW,CAAC;oBAClD,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YAEL,CAAC,CAAC,CAAC;YAEH,KAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC;YACvD,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,IAAM,YAAY,GAAG,EAAE,CAAC;YACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACzC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,EAAE;oBAC/B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;iBACzB;aACF;YACD,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC3B,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC;YACpD,KAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,GAAG,UAAU,CAAC;YACxD,KAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,GAAG,WAAW,CAAC;YAC/D,KAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,GAAG,UAAU,CAAC;YAE9D,KAAI,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAC5D,IAAM,SAAS,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE;gBAC5D,UAAU,EAAE,CAAC,4BAA4B,CAAC;gBAC1C,IAAI,EAAE,QAAQ,GAAG,KAAK;gBACtB,QAAQ,EAAE,MAAM;aACjB,CAAC,CAAC;YACH,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,KAAI,CAAC,SAAS,CAAC;YACvD,SAAS,CAAC,iBAAiB,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC;YACjE,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,KAAI,CAAC,SAAS,CAAC;YACvD,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC;YACrD,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,KAAI,CAAC,SAAS,CAAC;YACvD,SAAS,CAAC,iBAAiB,CAAC,eAAe,GAAG,KAAI,CAAC,eAAe,CAAC;YACnE,SAAS,CAAC,iBAAiB,CAAC,eAAe,GAAG,KAAI,CAAC,eAAe,CAAC;YACnE,SAAS,CAAC,iBAAiB,CAAC,eAAe,GAAG,KAAI,CAAC,eAAe,CAAC;YACnE,SAAS,CAAC,iBAAiB,CAAC,aAAa,GAAG,KAAI,CAAC,aAAa,CAAC;YAC/D,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,KAAI,CAAC,UAAU,CAAC;YACzD,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,KAAI,CAAC,aAAa,CAAC;YAC7D,SAAS,CAAC,iBAAiB,CAAC,OAAO,GAAG,KAAI,CAAC,OAAO,CAAC;YACnD,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,SAAS,CAAC;YAClD,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,UAAU,CAAC;YACpD,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,UAAU,CAAC;YACrD,SAAS,CAAC,iBAAiB,CAAC,MAAM,GAAG,KAAI,CAAC,MAAM;YAChD,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,KAAI,CAAC,YAAY,CAAC;YAC5D,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;YAC7D,SAAS,CAAC,iBAAiB,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC;YACjE,SAAS,CAAC,iBAAiB,CAAC,eAAe,GAAG,KAAI,CAAC,eAAe,CAAC;YACnE,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;YAC7D,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,KAAI,CAAC,UAAU,CAAC;YACzD,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC;YACrD,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;YAC7D,SAAS,CAAC,iBAAiB,CAAC,mBAAmB,GAAG,KAAI,CAAC,mBAAmB,CAAC;YAC3E,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;YAC7D,SAAS,CAAC,iBAAiB,CAAC,mBAAmB,GAAG,KAAI,CAAC,mBAAmB,CAAC;YAC3E,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,SAAS,CAAC;YAClD,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,KAAI,CAAC,SAAS,CAAC;YACvD,SAAS,CAAC,iBAAiB,CAAC,aAAa,GAAG,KAAI,CAAC,aAAa,CAAC;YAC/D,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,KAAI,CAAC,cAAc,CAAC;YAC7D,SAAS,CAAC,iBAAiB,CAAC,cAAc,GAAG,KAAI,CAAC,kBAAkB,CAAC;YACrE,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC;YAC3D,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC;YAC3D,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC;YACrD,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,KAAI,CAAC,UAAU,CAAC;YACzD,SAAS,CAAC,iBAAiB,CAAC,gBAAgB,GAAG,KAAI,CAAC,gBAAgB,CAAC;YACrE,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;YAC7D,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;YAC7D,SAAS,CAAC,iBAAiB,CAAC,kBAAkB,GAAG,KAAI,CAAC,kBAAkB,CAAC;YACzE,SAAS,CAAC,iBAAiB,CAAC,MAAM,GAAG,KAAI,CAAC,MAAM;YAChD,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,KAAI,CAAC,YAAY,CAAC;YAC5D,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;YAC7D,SAAS,CAAC,iBAAiB,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC;YACjE,SAAS,CAAC,iBAAiB,CAAC,eAAe,GAAG,KAAI,CAAC,eAAe,CAAC;YACnE,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;YAC7D,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,KAAI,CAAC,UAAU,CAAC;YACzD,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC;YACrD,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;YAC7D,SAAS,CAAC,iBAAiB,CAAC,mBAAmB,GAAG,KAAI,CAAC,mBAAmB,CAAC;YAC3E,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;YAC7D,SAAS,CAAC,iBAAiB,CAAC,mBAAmB,GAAG,KAAI,CAAC,mBAAmB,CAAC;YAC3E,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,SAAS,CAAC;YAClD,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,UAAU,CAAC;YACpD,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,KAAI,CAAC,SAAS,CAAC;YACvD,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC5C,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC;YACrD,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC;YAC3D,SAAS,CAAC,iBAAiB,CAAC,kBAAkB,GAAG,KAAI,CAAC,kBAAkB,CAAC;YACzE,SAAS,CAAC,iBAAiB,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC;YACjE,SAAS,CAAC,iBAAiB,CAAC,gBAAgB,GAAG,KAAI,CAAC,gBAAgB,CAAC;YACrE,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC;YACrD,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,KAAI,CAAC,SAAS,CAAC;YACvD,SAAS,CAAC,iBAAiB,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;YACxE,SAAS,CAAC,iBAAiB,CAAC,kBAAkB,GAAG,KAAI,CAAC,kBAAkB,CAAC;YACzE,SAAS,CAAC,iBAAiB,CAAC,kBAAkB,GAAG,KAAI,CAAC,kBAAkB,CAAC;YACzE,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,aAAG;gBACnC,KAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,KAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC1B,KAAI,CAAC,YAAY,EAAE,CAAC;YACtB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IAEL,CAAC;IACD,2CAAa,GAAb,UAAc,SAAS;QAAvB,iBA2DC;QA1DC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpD,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,EAAE;oBAC7F,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;iBACzC;aACF;SACF;aACI;YACH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpD,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,EAAE;oBAC/I,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;iBACzC;aACF;SACF;QACD,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;QAC/B,CAAC,CAAC,CAAC;QACH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAEjD,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,EAAE;gBAChD,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC5C,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;aAC5C;SACF;QACD,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAEzC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,EAAE;gBAC/B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;aACzB;SACF;QACD,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC;QACrD,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC9D,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE;YAC5D,UAAU,EAAE,yBAAyB;YACrC,IAAI,EAAE,QAAQ,GAAG,KAAK;YACtB,KAAK,EAAE,OAAO;SACf,CAAC,CAAC;QACH,SAAS,CAAC,iBAAiB,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QACjE,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC;QAC7D,SAAS,CAAC,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QACnD,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,OAAO,CAAC;QAClD,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3D,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3D,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACrD,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACzD,SAAS,CAAC,iBAAiB,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACrE,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7D,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACvD,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7D,SAAS,CAAC,iBAAiB,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;QACzE,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,aAAG;YACnC,KAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,sCAAQ,GAAR,UAAS,SAAS,EAAE,UAAU;QAA9B,iBAgCC;QA/BC,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iFAAsB,EAAE;YACzD,UAAU,EAAE,yBAAyB;YACrC,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,UAAU;SACjC,CAAC,CAAC;QACH,SAAS,CAAC,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM;QAChD,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;QAC5D,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7D,SAAS,CAAC,iBAAiB,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QACjE,SAAS,CAAC,iBAAiB,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QACnE,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7D,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACzD,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACrD,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7D,SAAS,CAAC,iBAAiB,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QAC3E,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7D,SAAS,CAAC,iBAAiB,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QAC3E,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,SAAS,CAAC;QAClD,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,UAAU,CAAC;QACpD,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACvD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC5C,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACrD,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3D,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;YACtC,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YACvB,KAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,KAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,KAAI,CAAC,YAAY,EAAE;QACrB,CAAC,CAAC,CAAC;IAEL,CAAC;IACD,wCAAU,GAAV,UAAW,OAAO,EAAE,IAAI;QAAxB,iBAoBC;QAnBC,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YACpB,OAAO;SACR;QACD,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iFAAsB,EAAE;YACzD,UAAU,EAAE,yBAAyB;YACrC,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,SAAS;SAChC,CAAC,CAAC;QACH,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;QACpD,SAAS,CAAC,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACjD,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACrD,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACvD,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;QAC5D,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;YACtC,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YACvB,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,KAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,KAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,6CAAe,GAAf;QAAA,iBAKC;QAJC,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,iBAAO;YACpD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,yCAAW,GAAX,UAAY,SAAS,EAAE,UAAU;QAAjC,iBAsCC;QArCC,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oFAAuB,EAAE;YAC1D,UAAU,EAAE,yBAAyB;YACrC,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,SAAS;SAChC,CAAC,CAAC;QAEH,IAAI,UAAU,KAAK,CAAC,EAAE;YACpB,SAAS,CAAC,iBAAiB,CAAC,gBAAgB,GAAG,CAAC,CAAC;SAClD;aACI;YACH,SAAS,CAAC,iBAAiB,CAAC,gBAAgB,GAAG,UAAU,CAAC;SAC3D;QACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACnC,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;QAC/B,CAAC,CAAC,CAAC;QACH,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7D,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;QAC5D,SAAS,CAAC,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACjD,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7D,SAAS,CAAC,iBAAiB,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QACjE,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACrD,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7D,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7D,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,SAAS,CAAC;QAClD,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACvD,SAAS,CAAC,iBAAiB,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAErE,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3D,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;YACtC,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YACvB,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,KAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,KAAI,CAAC,aAAa,EAAE,CAAC;YACrB,KAAI,CAAC,YAAY,EAAE;QAErB,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,uCAAS,GAAT,UAAU,SAAS,EAAE,UAAU;QAA/B,iBAkCC;QAjCC,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8EAAqB,EAAE;YACxD,UAAU,EAAE,yBAAyB;YACrC,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,UAAU;SACjC,CAAC,CAAC;QAEH,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;QAC5D,SAAS,CAAC,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACjD,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACvD,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7D,SAAS,CAAC,iBAAiB,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QACjE,SAAS,CAAC,iBAAiB,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QACnE,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7D,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACzD,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACrD,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7D,SAAS,CAAC,iBAAiB,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QAC3E,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7D,SAAS,CAAC,iBAAiB,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QAC3E,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,SAAS,CAAC;QAClD,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,UAAU,CAAC;QACpD,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACvD,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3D,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;YACtC,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YACvB,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,KAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,KAAI,CAAC,kBAAkB,EAAE,CAAC;YAE1B,KAAI,CAAC,YAAY,EAAE;YACnB,KAAI,CAAC,mBAAmB,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;IAEL,CAAC;IACD,wCAAU,GAAV,UAAW,GAAW;QAEpB,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE;YAC5D,IAAI,EAAE,GAAG,GAAG,KAAK,GAAG,KAAK;SAC1B,CAAC,CAAC;QACH,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;YAEtC,IAAI,MAAM,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE;gBAEhC,IAAI,SAAS,GAAG,EAAE,CAAC;gBACnB,IAAI,GAAG,KAAK,KAAK,EAAE;oBACjB,SAAS,GAAG,oBAAoB,CAAC;iBAClC;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,4CAAc,GAAd;QAAA,iBAcC;QAbC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,iBAAO;YACnE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,SAAS,GAAG,OAAO,CAAC;YAEzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAE9C,IAAI,KAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,KAAK,IAAI,EAAE;oBAC1C,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;oBACpD,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;iBAChD;aACF;QACH,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,4CAAc,GAAd;QAAA,iBAkBC;QAjBC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,iBAAO;YACnE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,SAAS,GAAG,OAAO,CAAC;YAEzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAE9C,IAAI,KAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,KAAK,IAAI,EAAE;oBAC1C,KAAI,CAAC,kBAAkB,GAAG,KAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;oBAC1D,KAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;oBACrD,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;oBACvD,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;iBAErD;aAEF;QACH,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,iDAAmB,GAAnB;QACE,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAEnD,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,SAAS,EAAE;oBACzE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACvF,IAAI,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;wBAE/E,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC;wBAEjC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,IAAI,SAAS,EAAE;4BAEnK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;yBAEjE;6BAAM;4BAEL,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,gBAAgB,IAAI,CAAC,EAAE;gCACxC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;6BAEjC;iCAAM;gCAEL,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC;6BAElC;yBACF;qBAEF;iBACF;aAIF;SACF;IACH,CAAC;;;gBAjiEkC,6DAAa;gBAAoB,iEAAgB;gBAClE,kEAAS;gBAAmB,kEAAmB;gBAC1C,kEAAW;;IAhIvB,mBAAmB;QAjG/B,+DAAS,CAAC;YACT,QAAQ,EAAE,iBAAiB;YAC3B,mKAA2C;YAE3C,SAAS,EAAE,CAAC,6DAAa,EAAE,qBAAmB,CAAC;YAC/C,UAAU,EAAE;gBACV,oEAAO,CAAC,eAAe,EAAE;oBACvB,kEAAK,CAAC,SAAS,EAAE,kEAAK,CAAC;wBACrB,KAAK,EAAE,MAAM;wBACb,MAAM,EAAE,MAAM;qBACf,CAAC,CAAC;oBACH,kEAAK,CAAC,OAAO,EAAE,kEAAK,CAAC;wBACnB,gBAAgB;wBAChB,MAAM,EAAE,MAAM;qBACf,CAAC,CAAC;oBACH,uEAAU,CAAC,gBAAgB,EAAE,oEAAO,CAAC,QAAQ,CAAC,CAAC;oBAC/C,uEAAU,CAAC,gBAAgB,EAAE,oEAAO,CAAC,QAAQ,CAAC,CAAC;iBAChD,CAAC;gBAEF,oEAAO,CAAC,gBAAgB,EAAE;oBACxB,kEAAK,CAAC,SAAS,EAAE,kEAAK,CAAC;wBACrB,QAAQ,EAAE,MAAM;qBACjB,CAAC,CAAC;oBACH,kEAAK,CAAC,OAAO,EAAE,kEAAK,CAAC;wBACnB,QAAQ,EAAE,KAAK;qBAChB,CAAC,CAAC;oBACH,uEAAU,CAAC,gBAAgB,EAAE,oEAAO,CAAC,QAAQ,CAAC,CAAC;oBAC/C,uEAAU,CAAC,gBAAgB,EAAE,oEAAO,CAAC,QAAQ,CAAC,CAAC;iBAChD,CAAC;gBACF,oEAAO,CAAC,eAAe,EAAE;oBACvB,kEAAK,CAAC,SAAS,EAAE,kEAAK,CAAC;wBACrB,QAAQ,EAAE,MAAM;wBAChB,OAAO,EAAE,iBAAiB;qBAC3B,CAAC,CAAC;oBACH,kEAAK,CAAC,OAAO,EAAE,kEAAK,CAAC;wBACnB,QAAQ,EAAE,MAAM;wBAChB,OAAO,EAAE,iBAAiB;qBAC3B,CAAC,CAAC;oBACH,uEAAU,CAAC,gBAAgB,EAAE,oEAAO,CAAC,QAAQ,CAAC,CAAC;oBAC/C,uEAAU,CAAC,gBAAgB,EAAE,oEAAO,CAAC,QAAQ,CAAC,CAAC;iBAChD,CAAC;gBACF,oEAAO,CAAC,kBAAkB,EAAE;oBAC1B,kEAAK,CAAC,SAAS,EAAE,kEAAK,CAAC;wBACrB,QAAQ,EAAE,MAAM;wBAChB,MAAM,EAAE,MAAM;wBACd,KAAK,EAAE,MAAM;qBACd,CAAC,CAAC;oBACH,kEAAK,CAAC,OAAO,EAAE,kEAAK,CAAC;wBACnB,QAAQ,EAAE,KAAK;wBACf,MAAM,EAAE,MAAM;wBACd,KAAK,EAAE,MAAM;qBACd,CAAC,CAAC;oBACH,uEAAU,CAAC,gBAAgB,EAAE,oEAAO,CAAC,QAAQ,CAAC,CAAC;oBAC/C,uEAAU,CAAC,gBAAgB,EAAE,oEAAO,CAAC,QAAQ,CAAC,CAAC;iBAChD,CAAC;gBACF,oEAAO,CAAC,mBAAmB,EAAE;oBAC3B,kEAAK,CAAC,SAAS,EAAE,kEAAK,CAAC;wBACrB,QAAQ,EAAE,MAAM;wBAChB,MAAM,EAAE,MAAM;wBACd,KAAK,EAAE,MAAM;qBACd,CAAC,CAAC;oBACH,kEAAK,CAAC,OAAO,EAAE,kEAAK,CAAC;wBACnB,QAAQ,EAAE,KAAK;wBACf,MAAM,EAAE,MAAM;wBACd,KAAK,EAAE,MAAM;qBACd,CAAC,CAAC;oBACH,uEAAU,CAAC,gBAAgB,EAAE,oEAAO,CAAC,QAAQ,CAAC,CAAC;oBAC/C,uEAAU,CAAC,gBAAgB,EAAE,oEAAO,CAAC,QAAQ,CAAC,CAAC;iBAChD,CAAC;gBACF,oEAAO,CAAC,iBAAiB,EAAE;oBACzB,kEAAK,CAAC,SAAS,EAAE,kEAAK,CAAC;oBACrB,iBAAiB;oBACjB,kBAAkB;qBACnB,CAAC,CAAC;oBACH,kEAAK,CAAC,OAAO,EAAE,kEAAK,CAAC;oBACnB,gBAAgB;oBAChB,gBAAgB;qBACjB,CAAC,CAAC;oBACH,uEAAU,CAAC,gBAAgB,EAAE,oEAAO,CAAC,QAAQ,CAAC,CAAC;oBAC/C,uEAAU,CAAC,gBAAgB,EAAE,oEAAO,CAAC,QAAQ,CAAC,CAAC;iBAChD,CAAC;gBACF,oEAAO,CAAC,oBAAoB,EAAE;oBAC5B,kEAAK,CAAC,SAAS,EAAE,kEAAK,CAAC;wBACrB,mBAAmB;wBACnB,kBAAkB;wBAClB,KAAK,EAAE,MAAM;qBACd,CAAC,CAAC;oBACH,kEAAK,CAAC,OAAO,EAAE,kEAAK,CAAC;wBACnB,mBAAmB;wBACnB,iBAAiB;wBACjB,KAAK,EAAE,MAAM;qBACd,CAAC,CAAC;oBACH,uEAAU,CAAC,gBAAgB,EAAE,oEAAO,CAAC,QAAQ,CAAC,CAAC;oBAC/C,uEAAU,CAAC,gBAAgB,EAAE,oEAAO,CAAC,QAAQ,CAAC,CAAC;iBAChD,CAAC;aACH;;SACF,CAAC;OACW,mBAAmB,CAiqE/B;IAAD,0BAAC;CAAA;AAjqE+B;AAwqEhC;IAiGE,mCAAoB,MAA2B,EACtC,SAAkD,EACzB,IAAS,EAAS,aAA4B,EACtE,MAAiB,EAAU,OAA4B,EACvD,gBAA6C;QACrD,kCAAkC;QALhB,WAAM,GAAN,MAAM,CAAqB;QACtC,cAAS,GAAT,SAAS,CAAyC;QACzB,SAAI,GAAJ,IAAI,CAAK;QAAS,kBAAa,GAAb,aAAa,CAAe;QACtE,WAAM,GAAN,MAAM,CAAW;QAAU,YAAO,GAAP,OAAO,CAAqB;QACvD,qBAAgB,GAAhB,gBAAgB,CAA6B;QApGvD,aAAQ,GAAG,KAAK,CAAC;QAEjB,cAAS,GAAG,KAAK,CAAC;QAElB,cAAS,GAAG,KAAK,CAAC;QAOlB,YAAO,GAAG,EAAE,CAAC;QACb,aAAQ,GAAG,EAAE,CAAC;QACd,WAAM,GAAG,EAAE,CAAC;QACZ,gBAAW,GAAG,EAAE,CAAC;QACjB,qBAAgB,GAAG,EAAE,CAAC;QACtB,WAAM,GAAG,EAAE,CAAC;QAGZ,gBAAW,GAAG,EAAE,CAAC;QAgBjB,oBAAe,GAAG,EAAE,CAAC;QACrB,sBAAiB,GAAG,KAAK,CAAC;QAC1B,gBAAW,GAAG,EAAE,CAAC;QAMjB,gBAAW,GAAG,EAAE,CAAC;QAOjB,cAAS,GAAG,KAAK,CAAC;QAIlB,eAAU,GAAG,IAAI,IAAI,EAAE,CAAC;QAGxB,mBAAc,GAAG,EAAE,CAAC;QAMpB,oBAAe,GAAG,EAAE,CAAC;QAerB,cAAc;QACd,qBAAgB,GAAG,KAAK,CAAC;QAwBvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEnC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE;YAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAE3B,CAAC;kCAlHU,yBAAyB;IAmHpC,4CAAQ,GAAR;QAEE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAEpD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/C,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE3B,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAE7C,CAAC;IAED,6CAAS,GAAT;QACE,IAAI,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,IAAI,KAAK,IAAI,EAAE;YACjB,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK;SAC7B;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IAExB,CAAC;IACD,2CAAO,GAAP;QACE,IAAI,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,IAAI,KAAK,IAAI,EAAE;YACjB,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC;SAC/B;QAED,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;IAED,yCAAK,GAAL;QACE,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,IAAI,aAAa,GAAG,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC;QAC7D,IAAI,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,sBAAsB,CAAC,CAAC;QACjE,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACzB,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAEvC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACxB,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC;IAEd,CAAC;IACD,+CAAW,GAAX;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC;IACD,yCAAK,GAAL;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IACD,8CAAU,GAAV;QAEE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IACD,6CAAS,GAAT;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IACD,4CAAQ,GAAR;QACE,IAAI,EAAE,GAAG,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACxC,EAAE,CAAC,SAAS,GAAG,gBAAgB,CAAC;QAChC,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,kBAAkB;IACpB,CAAC;IACD,kDAAc,GAAd;IAEA,CAAC;IACD,mDAAe,GAAf;QAAA,iBAMC;QALC,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,iBAAO;YACpD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC;QAClC,CAAC,CAAC,CAAC;IAEL,CAAC;IAGD,8CAAU,GAAV,UAAW,GAAW;QAEpB,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAAyB,EAAE;YAC5D,IAAI,EAAE,GAAG,GAAG,KAAK,GAAG,KAAK;SAC1B,CAAC,CAAC;QAqBH,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;YAEtC,IAAI,MAAM,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE;gBAEhC,IAAI,SAAS,GAAG,EAAE,CAAC;gBACnB,IAAI,GAAG,KAAK,KAAK,EAAE;oBACjB,SAAS,GAAG,oBAAoB,CAAC;iBAClC;gBACD,SAAS;gBAET,wCAAwC;gBACxC,IAAI;aAEL;QAEH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,oDAAgB,GAAhB,UAAiB,UAAU,EAAE,QAAQ;QAArC,iBA0aC;QAxaC,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,EAAE;YACnC,OAAO;SACR;aACI,IAAI,IAAI,CAAC,QAAQ,EAAE;YACtB,OAAO;SACR;aACI,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACzC,OAAO;SACR;aACI,IAAI,IAAI,CAAC,UAAU,EAAE;YACxB,OAAO;SACR;QAGD,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE;YAC7D,IAAI,EAAE,aAAa,GAAG,KAAK,GAAG,IAAI;SACnC,CAAC,CAAC;QAGH,IAAI,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,KAAK,UAAU,EAA3B,CAA2B,CAAC,CAAC;QAC7E,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YAC1B,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAE1C,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;YAChD,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;SAC7C;QAED,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,CAAC,CAAC;QAC1C,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACvD,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAGrD,SAAS,CAAC,iBAAiB,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QACnE,SAAS,CAAC,iBAAiB,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QAEnE,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACvD,SAAS,CAAC,iBAAiB,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QACnE,SAAS,CAAC,iBAAiB,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QAE/D,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAEzD,IAAI,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC;YAC9C,QAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,KAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,UAAU,CAAC,QAAQ,EAAE;QAAzG,CAAyG,CAAC,CAAC;QAE7G,SAAS,CAAC,iBAAiB,CAAC,KAAK,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAChE,SAAS,CAAC,iBAAiB,CAAC,eAAe,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC1E,SAAS,CAAC,iBAAiB,CAAC,cAAc,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;QAE/E,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAEhE,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,qBAAW;YAE3C,IAAI,WAAW,KAAK,OAAO,EAAE;gBAC3B,KAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;aAC3B;iBACI,IAAI,WAAW,KAAK,aAAa,EAAE;gBAEtC,KAAI,CAAC,cAAc,CAAC,UAAU,EAAE,KAAI,CAAC,SAAS,CAAC,CAAC;aAEjD;iBACI,IAAI,WAAW,KAAK,QAAQ,EAAE;gBAEjC,KAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;aAE5B;iBAAM,IAAI,WAAW,KAAK,cAAc,EAAE;gBAEzC,IAAM,YAAY,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oFAAuB,EAAE;oBAC7D,UAAU,EAAE,yBAAyB;oBACrC,IAAI,EAAE,WAAW,GAAG,KAAK,GAAG,IAAI;iBACjC,CAAC,CAAC;gBAEH,KAAI,CAAC,UAAU,GAAG,UAAU,CAAC;gBAC7B,IAAI,aAAW,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,KAAK,UAAU,EAA3B,CAA2B,CAAC,CAAC;gBAC7E,IAAI,aAAW,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC1B,KAAI,CAAC,SAAS,GAAG,aAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBAC1C,KAAI,CAAC,YAAY,GAAG,aAAW,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;iBACjD;gBACD,IAAI,gBAAc,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC;oBAC7C,QAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,KAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,UAAU,CAAC,QAAQ,EAAE;gBAAzG,CAAyG,CAC1G,CAAC;gBAEF,YAAY,CAAC,iBAAiB,CAAC,SAAS,GAAG,KAAI,CAAC,SAAS,CAAC;gBAC1D,YAAY,CAAC,iBAAiB,CAAC,UAAU,GAAG,UAAU,CAAC;gBACvD,YAAY,CAAC,iBAAiB,CAAC,YAAY,GAAG,gBAAc,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;gBAC7E,YAAY,CAAC,iBAAiB,CAAC,gBAAgB,GAAG,gBAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAC7E,YAAY,CAAC,iBAAiB,CAAC,YAAY,GAAG,gBAAc,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;gBAC7E,YAAY,CAAC,iBAAiB,CAAC,UAAU,GAAG,gBAAc,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;gBACzE,YAAY,CAAC,iBAAiB,CAAC,cAAc,GAAG,gBAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;gBACjF,YAAY,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;gBAChE,YAAY,CAAC,iBAAiB,CAAC,OAAO,GAAG,gBAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBACnE,YAAY,CAAC,iBAAiB,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC;gBAC9D,YAAY,CAAC,iBAAiB,CAAC,MAAM,GAAG,gBAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBACjE,YAAY,CAAC,iBAAiB,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC;gBACxD,YAAY,CAAC,iBAAiB,CAAC,cAAc,GAAG,gBAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;gBACjF,YAAY,CAAC,iBAAiB,CAAC,gBAAgB,GAAG,KAAI,CAAC,gBAAgB,CAAC;gBACxE,YAAY,CAAC,iBAAiB,CAAC,gBAAgB,GAAG,gBAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAC7E,YAAY,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;gBAChE,YAAY,CAAC,iBAAiB,CAAC,SAAS,GAAG,KAAI,CAAC,SAAS,CAAC;gBAC1D,YAAY,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;oBAEzC,KAAI,CAAC,aAAa,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;wBAC9D,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;wBAEjD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;wBAEvC,KAAI,CAAC,eAAe,GAAG,OAAO,CAAC;wBAE/B,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,eAAe,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,KAAK,gBAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,KAAK,KAAI,CAAC,SAAS,EAA3E,CAA2E,CAAC,CAAC;wBACrI,IAAI,KAAK,GAAG,KAAI,CAAC,eAAe,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,KAAK,UAAU,EAA3B,CAA2B,CAAC,CAAC;wBAE1E,IAAI,UAAU,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,KAAK,gBAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,EAA3C,CAA2C,CAAC,CAAC;wBAC5F,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;4BACtC,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;wBAC/B,CAAC,CAAC,CAAC;wBAEH,IAAI,UAAU,CAAC,MAAM;4BACnB,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,KAAI,CAAC,eAAe,CAAC;;4BAC9F,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,GAAG,KAAI,CAAC,eAAe,CAAC;oBAE3E,CAAC,CAAC,CAAC;gBAGL,CAAC,CAAC,CAAC;aACJ;iBAEI,IAAI,WAAW,KAAK,MAAM,IAAI,QAAQ,KAAK,CAAC,EAAE;gBACjD,KAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBAC7B,IAAI,gBAAc,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,KAAK,UAAU,EAA3B,CAA2B,CAAC,CAAC;gBAEhF,IAAI,gBAAc,CAAC,MAAM,GAAG,CAAC,EAAE;oBAE7B,IAAM,WAAS,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oFAAuB,EAAE;wBAC1D,UAAU,EAAE,yBAAyB;wBACrC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;qBAC5B,CAAC,CAAC;oBAEH,IAAI,gBAAc,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,EAAE;wBACtC,WAAS,CAAC,iBAAiB,CAAC,gBAAgB,GAAG,CAAC,CAAC;qBAClD;yBACI;wBACH,WAAS,CAAC,iBAAiB,CAAC,gBAAgB,GAAG,gBAAc,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;qBAC7E;oBAED,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;wBACnC,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;oBAC/B,CAAC,CAAC,CAAC;oBAEH,IAAI,eAAe,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,gBAAc,CAAC,CAAC,CAAC,CAAC,MAAM,EAArC,CAAqC,CAAC,CAAC;oBAE1F,WAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,eAAe,CAAC;oBAE1D,WAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,gBAAc,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;oBAEtE,WAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,gBAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACpE,WAAS,CAAC,iBAAiB,CAAC,gBAAgB,GAAG,gBAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;oBAC1E,WAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,gBAAc,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;oBAC1E,WAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,gBAAc,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;oBAEtE,WAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;oBAG7D,WAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,gBAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBAEvE,WAAS,CAAC,iBAAiB,CAAC,aAAa,GAAG,gBAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;oBAEvE,WAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,gBAAc,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;oBACtE,WAAS,CAAC,iBAAiB,CAAC,cAAc,GAAG,gBAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;oBAC9E,WAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,gBAAc,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;oBAC1E,WAAS,CAAC,iBAAiB,CAAC,OAAO,GAAG,gBAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;oBAChE,WAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;oBAC7D,+DAA+D;oBAC/D,WAAS,CAAC,iBAAiB,CAAC,MAAM,GAAG,gBAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;oBAC9D,WAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;oBAC7D,WAAS,CAAC,iBAAiB,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC;oBACjE,WAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC;oBACrD,WAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;oBAE7D,WAAS,CAAC,iBAAiB,CAAC,OAAO,GAAG,KAAI,CAAC,YAAY,CAAC;oBACxD,WAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;oBAE7D,WAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,gBAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACpE,WAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,gBAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACpE,WAAS,CAAC,iBAAiB,CAAC,gBAAgB,GAAG,KAAI,CAAC,gBAAgB,CAAC;oBAErE,WAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC;oBAC3D,WAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;wBACtC,IAAI,MAAM;4BACR,KAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;wBAE1C,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;wBACtB,uBAAuB;wBACvB,4BAA4B;wBAE5B,IAAI,MAAM,GAAG,KAAI,CAAC,YAAY,CAAC;wBAC/B,KAAI,CAAC,aAAa,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;4BAC9D,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;4BAEjD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;4BAEvC,KAAI,CAAC,eAAe,GAAG,OAAO,CAAC;4BAI/B,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,eAAe,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,KAAK,gBAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,KAAK,gBAAc,CAAC,CAAC,CAAC,CAAC,SAAS,EAAxF,CAAwF,CAAC,CAAC;4BAClJ,IAAI,KAAK,GAAG,KAAI,CAAC,eAAe,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,KAAK,gBAAc,CAAC,CAAC,CAAC,CAAC,UAAU,EAA7C,CAA6C,CAAC,CAAC;4BAG5F,IAAI,IAAI,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,KAAK,gBAAc,CAAC,CAAC,CAAC,CAAC,UAAU,EAA3C,CAA2C,CAAC,CAAC;4BACtF,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gCACtC,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;4BAC/B,CAAC,CAAC,CAAC;4BAGH,IAAI,OAAO,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,KAAK,gBAAc,CAAC,CAAC,CAAC,CAAC,UAAU,EAA7C,CAA6C,CAAC,CAAC;4BAE3F,IAAI,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,KAAK,gBAAc,CAAC,CAAC,CAAC,CAAC,UAAU,EAA7C,CAA6C,CAAC,CAAC;4BAIlF,KAAI,CAAC,WAAW,CAAC,gBAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,GAAG,KAAI,CAAC,eAAe,CAAC;4BACjF,KAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;4BAAA,CAAC;4BAErC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gCAE/H,KAAI,CAAC,WAAW,CAAC,gBAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;gCAC3F,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;gCACzD,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;gCACrD,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gCAEnD,yBAAyB;6BAE1B;iCAEI;gCACH,KAAI,CAAC,YAAY,GAAG,gBAAc,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;gCACnD,KAAI,CAAC,UAAU,GAAG,gBAAc,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;gCAC/C,KAAI,CAAC,SAAS,GAAG,gBAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gCAC7C,2BAA2B;6BAC5B;4BAED,sBAAsB;wBACxB,CAAC,CAAC,CAAC;oBAGL,CAAC,CAAC,CAAC;iBACJ;aACF;iBACI,IAAI,WAAW,KAAK,MAAM,IAAI,QAAQ,IAAI,CAAC,EAAE;gBAChD,KAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBAC7B,IAAI,WAAS,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,UAAU,KAAK,UAAU,EAAtD,CAAsD,CAAC,CAAC;gBAEtG,IAAI,WAAS,CAAC,MAAM,GAAG,CAAC,EAAE;oBAGxB,IAAM,WAAS,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oFAAuB,EAAE;wBAC1D,UAAU,EAAE,yBAAyB;wBACrC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;qBAC5B,CAAC,CAAC;oBAEH,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;wBACnC,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;oBAC/B,CAAC,CAAC,CAAC;oBAGH,IAAI,eAAe,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,KAAI,CAAC,MAAM,EAAxB,CAAwB,CAAC,CAAC;oBAE7E,WAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,eAAe,CAAC;oBAG1D,WAAS,CAAC,iBAAiB,CAAC,gBAAgB,GAAG,WAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;oBACrE,WAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,WAAS,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;oBACrE,WAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,WAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;oBAGjE,WAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;oBAI7D,WAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,SAAS,CAAC;oBAE1D,WAAS,CAAC,iBAAiB,CAAC,aAAa,GAAG,KAAI,CAAC,QAAQ,CAAC;oBAE1D,WAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,WAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;oBACjE,WAAS,CAAC,iBAAiB,CAAC,cAAc,GAAG,WAAS,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;oBACzE,WAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,WAAS,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;oBAErE,WAAS,CAAC,iBAAiB,CAAC,OAAO,GAAG,WAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;oBAC3D,WAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;oBAC7D,+DAA+D;oBAC/D,WAAS,CAAC,iBAAiB,CAAC,MAAM,GAAG,WAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;oBACzD,WAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;oBAC7D,WAAS,CAAC,iBAAiB,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC;oBACjE,WAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC;oBACrD,WAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;oBAE7D,WAAS,CAAC,iBAAiB,CAAC,OAAO,GAAG,KAAI,CAAC,YAAY,CAAC;oBACxD,WAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;oBAE7D,WAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,WAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBAC/D,WAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,WAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBAC/D,WAAS,CAAC,iBAAiB,CAAC,gBAAgB,GAAG,KAAI,CAAC,gBAAgB,CAAC;oBAErE,WAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC;oBAC3D,WAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;wBACtC,IAAI,MAAM;4BAER,KAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;wBAC1C,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;wBACtB,IAAI,cAAc,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC;4BAC7C,QAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,WAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,WAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE;wBAA9H,CAA8H,CAC/H,CAAC;wBAEF,KAAI,CAAC,aAAa,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;4BAC9D,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;4BACjD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;4BACvC,KAAI,CAAC,eAAe,GAAG,OAAO,CAAC;4BAC/B,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,eAAe,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,KAAK,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,KAAK,WAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAnF,CAAmF,CAAC,CAAC;4BAC7I,IAAI,KAAK,GAAG,KAAI,CAAC,eAAe,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,KAAK,WAAS,CAAC,CAAC,CAAC,CAAC,UAAU,EAAxC,CAAwC,CAAC,CAAC;4BACvF,IAAI,UAAU,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,KAAK,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,EAA3C,CAA2C,CAAC,CAAC;4BAC5F,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gCACtC,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;4BAC/B,CAAC,CAAC,CAAC;4BACH,IAAI,UAAU,CAAC,MAAM;gCACnB,KAAI,CAAC,WAAW,CAAC,WAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,KAAI,CAAC,eAAe,CAAC;;gCACtG,KAAI,CAAC,WAAW,CAAC,WAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,GAAG,KAAI,CAAC,eAAe,CAAC;wBACnF,CAAC,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;iBACJ;aACF;iBACI,IAAI,WAAW,KAAK,QAAQ,IAAI,QAAQ,KAAK,CAAC,EAAE;gBACnD,IAAI,gBAAc,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,KAAI,CAAC,SAAS,IAAI,CAAC,CAAC,UAAU,KAAK,UAAU,EAA7D,CAA6D,CAAC,CAAC;gBAClH,IAAI,gBAAc,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC7B,KAAI,CAAC,UAAU,GAAG,gBAAc,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;oBAC/C,KAAI,CAAC,SAAS,GAAG,gBAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBAC7C,KAAI,CAAC,MAAM,GAAG,gBAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;oBACvC,KAAI,CAAC,SAAS,GAAG,gBAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBAC7C,IAAM,WAAS,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oFAAuB,EAAE;wBAC1D,UAAU,EAAE,yBAAyB;wBACrC,IAAI,EAAE,4CAA4C,GAAG,gBAAc,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,MAAM,GAAG,IAAI;qBACpG,CAAC,CAAC;oBACH,WAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;wBACtC,IAAI,MAAM,EAAE;4BACV,KAAI,CAAC,aAAa,CAAC,cAAc,CAAC,KAAI,CAAC,UAAU,EAAE,KAAI,CAAC,SAAS,EAAE,KAAI,CAAC,MAAM,EAAE,gBAAc,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,gBAAc,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,gBAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,cAAI;gCAChL,IAAI,IAAI,CAAC,EAAE,EAAE;oCACX,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;oCACtB,KAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;iCACzC;gCACD,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;gCACtB,IAAI,MAAM,GAAG,KAAI,CAAC,YAAY,CAAC;gCAC/B,KAAI,CAAC,aAAa,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;oCAC9D,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;oCACjD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;oCACvC,KAAI,CAAC,eAAe,GAAG,OAAO,CAAC;oCAC/B,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,eAAe,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,KAAK,gBAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,KAAK,gBAAc,CAAC,CAAC,CAAC,CAAC,SAAS,EAAxF,CAAwF,CAAC,CAAC;oCAClJ,IAAI,KAAK,GAAG,KAAI,CAAC,eAAe,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,KAAK,gBAAc,CAAC,CAAC,CAAC,CAAC,UAAU,EAA7C,CAA6C,CAAC,CAAC;oCAC5F,IAAI,IAAI,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,KAAK,gBAAc,CAAC,CAAC,CAAC,CAAC,UAAU,EAA3C,CAA2C,CAAC,CAAC;oCACtF,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;wCACtC,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;oCAC/B,CAAC,CAAC,CAAC;oCACH,IAAI,OAAO,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,KAAK,gBAAc,CAAC,CAAC,CAAC,CAAC,UAAU,EAA7C,CAA6C,CAAC,CAAC;oCAC3F,IAAI,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,KAAK,gBAAc,CAAC,CAAC,CAAC,CAAC,UAAU,EAA7C,CAA6C,CAAC,CAAC;oCAClF,KAAI,CAAC,WAAW,CAAC,gBAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,GAAG,KAAI,CAAC,eAAe,CAAC;oCACjF,KAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;oCAAA,CAAC;oCACrC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;wCAC/H,KAAI,CAAC,WAAW,CAAC,gBAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;wCAC3F,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;wCACzD,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;wCACrD,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;qCACpD;yCACI;wCACH,KAAI,CAAC,YAAY,GAAG,gBAAc,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;wCACnD,KAAI,CAAC,UAAU,GAAG,gBAAc,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;wCAC/C,KAAI,CAAC,SAAS,GAAG,gBAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;qCAC9C;gCACH,CAAC,CAAC,CAAC;4BACL,CAAC,CAAC,CAAC;yBACJ;oBACH,CAAC,CAAC,CAAC;iBACJ;aACF;iBAEI,IAAI,WAAW,KAAK,QAAQ,IAAI,QAAQ,KAAK,CAAC,EAAE;gBACnD,IAAI,WAAS,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,UAAU,KAAK,UAAU,EAAtD,CAAsD,CAAC,CAAC;gBACtG,IAAI,WAAS,CAAC,MAAM,GAAG,CAAC,EAAE;oBACxB,KAAI,CAAC,UAAU,GAAG,WAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;oBAC1C,KAAI,CAAC,SAAS,GAAG,WAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACxC,KAAI,CAAC,MAAM,GAAG,WAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;oBAClC,KAAI,CAAC,SAAS,GAAG,WAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACxC,IAAM,WAAS,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oFAAuB,EAAE;wBAC1D,UAAU,EAAE,yBAAyB;wBACrC,IAAI,EAAE,4CAA4C,GAAG,WAAS,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,MAAM,GAAG,IAAI;qBAC/F,CAAC,CAAC;oBACH,WAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;wBACtC,IAAI,MAAM,EAAE;4BACV,KAAI,CAAC,aAAa,CAAC,cAAc,CAAC,KAAI,CAAC,UAAU,EAAE,KAAI,CAAC,SAAS,EAAE,KAAI,CAAC,MAAM,EAAE,WAAS,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,WAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,WAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,cAAI;gCACjK,IAAI,IAAI,CAAC,EAAE,EAAE;oCACX,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;oCACtB,KAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;iCACzC;gCACD,IAAI,UAAU,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC;oCACzC,QAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,WAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,WAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE;gCAA9H,CAA8H,CAC/H,CAAC;gCACF,KAAI,CAAC,aAAa,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;oCAC9D,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;oCACjD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;oCACvC,KAAI,CAAC,eAAe,GAAG,OAAO,CAAC;oCAC/B,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,eAAe,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,KAAK,WAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,KAAK,WAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAA9E,CAA8E,CAAC,CAAC;oCACxI,IAAI,KAAK,GAAG,KAAI,CAAC,eAAe,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,KAAK,WAAS,CAAC,CAAC,CAAC,CAAC,UAAU,EAAxC,CAAwC,CAAC,CAAC;oCACvF,IAAI,UAAU,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,KAAK,WAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAtC,CAAsC,CAAC,CAAC;oCACvF,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;wCACtC,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;oCAC/B,CAAC,CAAC,CAAC;oCACH,IAAI,UAAU,CAAC,MAAM;wCACnB,KAAI,CAAC,WAAW,CAAC,WAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,KAAI,CAAC,eAAe,CAAC;;wCACtG,KAAI,CAAC,WAAW,CAAC,WAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,GAAG,KAAI,CAAC,eAAe,CAAC;gCACnF,CAAC,CAAC,CAAC;4BACL,CAAC,CAAC,CAAC;yBACJ;oBACH,CAAC,CAAC,CAAC;iBACJ;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,+CAAW,GAAX,UAAY,OAAO;QAAnB,iBAiJC;QAhJC,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,EAAjC,CAAiC,CAAC,CAAC;QAC5E,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;SAC/B;QAED,IAAI,CAAC,aAAa,CAAC,6BAA6B,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,SAAS,CAAC,iBAAO;YACtJ,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YAEhD,IAAI,aAAa,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,EAAjC,CAAiC,CAAC,CAAC;YACpF,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC5B,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,KAAK,CAAC,EAAE;oBACxC,IAAM,SAAS,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iFAAsB,EAAE;wBACzD,UAAU,EAAE,yBAAyB;wBACrC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS;qBACjC,CAAC,CAAC;oBAKH,sDAAsD;oBACtD,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC;oBAC3D,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;oBAC7D,SAAS,CAAC,iBAAiB,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC;oBACjE,SAAS,CAAC,iBAAiB,CAAC,eAAe,GAAG,KAAI,CAAC,eAAe,CAAC;oBACnE,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;oBAC7D,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,KAAI,CAAC,UAAU,CAAC;oBAGzD,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC;oBACrD,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;oBAC7D,SAAS,CAAC,iBAAiB,CAAC,mBAAmB,GAAG,KAAI,CAAC,mBAAmB,CAAC;oBAC3E,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;oBAC7D,SAAS,CAAC,iBAAiB,CAAC,mBAAmB,GAAG,KAAI,CAAC,mBAAmB,CAAC;oBAC3E,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;oBACrE,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACnE,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;oBACrE,SAAS,CAAC,iBAAiB,CAAC,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;oBAC3E,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACnE,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;oBACzE,SAAS,CAAC,iBAAiB,CAAC,kBAAkB,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;oBACrF,SAAS,CAAC,iBAAiB,CAAC,iBAAiB,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;oBACpF,SAAS,CAAC,iBAAiB,CAAC,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;oBAC7D,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;oBACjE,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;oBACrE,SAAS,CAAC,iBAAiB,CAAC,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;oBAC/D,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;oBACvE,kFAAkF;oBAElF,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACnE,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACnE,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACnE,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;oBACvE,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC;oBAC3D,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;oBACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACjD,IAAI,KAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,KAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,EAAE;4BACvG,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;yBAC9C;qBACF;oBACD,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;oBAE7D,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;wBACtC,IAAI,MAAM;4BACR,KAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;wBAC1C,KAAI,CAAC,aAAa,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,KAAI,CAAC,SAAS,EAAE,KAAI,CAAC,cAAc,EAAE,KAAI,CAAC,kBAAkB,CAAC,CAAC,SAAS,CAAC,eAAK;4BACnM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;4BACnC,KAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;wBACxB,CAAC,CAAC;oBACJ,CAAC,CAAC,CAAC;iBACJ;qBAAM;oBACL,IAAM,SAAS,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8EAAqB,EAAE;wBACxD,UAAU,EAAE,yBAAyB;wBACrC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS;qBACjC,CAAC,CAAC;oBAGH,IAAI,eAAe,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,EAApC,CAAoC,CAAC,CAAC;oBAEzF,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,eAAe,CAAC;oBAC1D,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,KAAI,CAAC,SAAS,CAAC;oBAEvD,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;oBAC7D,SAAS,CAAC,iBAAiB,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC;oBACjE,SAAS,CAAC,iBAAiB,CAAC,eAAe,GAAG,KAAI,CAAC,eAAe,CAAC;oBACnE,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;oBAC7D,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,KAAI,CAAC,UAAU,CAAC;oBACzD,SAAS,CAAC,iBAAiB,CAAC,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM;oBAE5D,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC;oBACrD,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;oBAC7D,SAAS,CAAC,iBAAiB,CAAC,mBAAmB,GAAG,KAAI,CAAC,mBAAmB,CAAC;oBAE3E,SAAS,CAAC,iBAAiB,CAAC,mBAAmB,GAAG,KAAI,CAAC,mBAAmB,CAAC;oBAC3E,+DAA+D;oBAC/D,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;oBACrE,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBAGnE,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;oBACrE,SAAS,CAAC,iBAAiB,CAAC,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;oBAC3E,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACnE,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;oBACzE,SAAS,CAAC,iBAAiB,CAAC,iBAAiB,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;oBACnF,SAAS,CAAC,iBAAiB,CAAC,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;oBAC7D,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;oBACjE,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;oBACrE,SAAS,CAAC,iBAAiB,CAAC,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;oBAC/D,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;oBAEvE,SAAS,CAAC,iBAAiB,CAAC,mBAAmB,GAAG,KAAI,CAAC,mBAAmB,CAAC;oBAE3E,SAAS,CAAC,iBAAiB,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;oBACpD,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACnE,SAAS,CAAC,iBAAiB,CAAC,iBAAiB,GAAG,KAAI,CAAC,iBAAiB,CAAC;oBACvE,SAAS,CAAC,iBAAiB,CAAC,aAAa,GAAG,KAAI,CAAC,aAAa,CAAC;oBAE/D,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;oBACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACjD,IAAI,KAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,KAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,EAAE;4BACvG,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;yBAC9C;qBACF;oBACD,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;oBAE7D,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;wBACtC,IAAI,MAAM;4BACR,KAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;wBAE1C,KAAI,CAAC,aAAa,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,KAAI,CAAC,SAAS,EAAE,KAAI,CAAC,cAAc,EAAE,KAAI,CAAC,kBAAkB,CAAC,CAAC,SAAS,CAAC,eAAK;4BACnM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;4BACnC,KAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;4BAEtB,IAAI,MAAM,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,EAAjC,CAAiC,CAAC,CAAC;wBAG5E,CAAC,CAAC;oBAEJ,CAAC,CAAC,CAAC;iBAEJ;aAGF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iDAAa,GAAb,UAAc,OAAO;QAArB,iBAuFC;QAtFC,IAAI,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,EAAjC,CAAiC,CAAC,CAAC;QACpF,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5B,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,KAAK,CAAC,EAAE;gBACxC,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC5C,IAAI,QAAe,CAAC;gBACpB,IAAI,CAAC,gBAAgB,CAAC,4BAA4B,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,cAAI;oBAC/E,QAAM,GAAG,IAAI,CAAC,IAAI,CAAC;gBACrB,CAAC,CAAC;gBACF,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8EAAqB,EAAE;oBACxD,UAAU,EAAE,yBAAyB;oBACrC,IAAI,EAAE,0CAA0C,GAAG,OAAO,CAAC,WAAW,GAAG,MAAM,GAAG,IAAI;oBACtF,KAAK,EAAE,OAAO;iBACf,CAAC,CAAC;gBACH,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;gBAC1D,SAAS,CAAC,iBAAiB,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;gBAC3E,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;oBACtC,IAAI,MAAM,EAAE;wBACV,IAAI,CAAC,QAAM,EAAE;4BACX,KAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,cAAI;gCAC7D,IAAI,IAAI,CAAC,EAAE,EAAE;oCACX,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;oCACtB,IAAM,WAAS,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8EAAqB,EAAE;wCACxD,UAAU,EAAE,yBAAyB;wCACrC,IAAI,EAAE,uBAAuB;qCAC9B,CAAC,CAAC;oCACH,WAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;wCACtC,KAAI,CAAC,aAAa,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,KAAI,CAAC,SAAS,EAAE,KAAI,CAAC,cAAc,EAAE,KAAI,CAAC,kBAAkB,CAAC,CAAC,SAAS,CAAC,eAAK;4CACnM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;4CACnC,KAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;wCACxB,CAAC,CAAC;oCACJ,CAAC,CAAC,CAAC;iCACJ;4BACH,CAAC,CAAC,CAAC;yBACJ;6BACI;4BACH,KAAI,CAAC,UAAU,CAAC,yDAAyD,CAAC,CAAC;yBAC5E;qBACF;gBACH,CAAC,CAAC,CAAC;aACJ;iBAAM;gBACL,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAE5C,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iFAAsB,EAAE;oBACzD,UAAU,EAAE,yBAAyB;oBACrC,IAAI,EAAE,+CAA+C,GAAG,OAAO,CAAC,OAAO,GAAG,MAAM,GAAG,IAAI;oBACvF,KAAK,EAAE,OAAO;iBAGf,CAAC,CAAC;gBAEH,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;gBAC1D,SAAS,CAAC,iBAAiB,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;gBAC3E,2BAA2B;gBAE3B,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;oBACtC,IAAI,MAAM,EAAE;wBAEV,0BAA0B;wBAC1B,KAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,cAAI;4BAE7D,IAAI,IAAI,CAAC,EAAE,EAAE;gCACX,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gCACtB,IAAM,YAAS,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iFAAsB,EAAE;oCACzD,UAAU,EAAE,yBAAyB;oCACrC,IAAI,EAAE,uBAAuB;oCAG7B,eAAe;iCAChB,CAAC,CAAC;gCACH,YAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;oCAGtC,KAAI,CAAC,aAAa,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,KAAI,CAAC,SAAS,EAAE,KAAI,CAAC,cAAc,EAAE,KAAI,CAAC,kBAAkB,CAAC,CAAC,SAAS,CAAC,eAAK;wCACnM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;wCACnC,KAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;oCAExB,CAAC,CAAC;gCAEJ,CAAC,CAAC,CAAC;6BACJ;wBAEH,CAAC,CAAC,CAAC;qBACJ;gBACH,CAAC,CAAC,CAAC;aACJ;SACF;IACH,CAAC;IACD,oDAAgB,GAAhB,UAAiB,UAAU;QAA3B,iBASC;QARC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC9D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YAEvC,KAAI,CAAC,eAAe,GAAG,OAAO,CAAC;YAE/B,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,eAAe,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,KAAK,UAAU,EAAzB,CAAyB,CAAC,CAAC;QAErF,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8CAAU,GAAV;QAAA,iBAKC;QAJC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC7D,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QAElD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,kDAAc,GAAd,UAAe,UAAU,EAAE,SAAS;QAApC,iBA0FC;QAxFC,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,KAAK,UAAU,EAA3B,CAA2B,CAAC,CAAC;QAC7E,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YAC1B,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1C,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;YAChD,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;SAC7C;QACD,IAAI,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC;YAC7C,QAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,KAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,UAAU,CAAC,QAAQ,EAAE;QAAzG,CAAyG,CAC1G,CAAC;QAEF,IAAI,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC;QAEhC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACnC,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;QAC/B,CAAC,CAAC,CAAC;QAGH,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oFAAuB,EAAE;YAC1D,UAAU,EAAE,yBAAyB;YACrC,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,SAAS;SAChC,CAAC,CAAC;QAEH,IAAI,UAAU,KAAK,CAAC,EAAE;YACpB,SAAS,CAAC,iBAAiB,CAAC,gBAAgB,GAAG,CAAC,CAAC;SAClD;aACI;YACH,SAAS,CAAC,iBAAiB,CAAC,gBAAgB,GAAG,UAAU,CAAC;SAC3D;QACD,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7D,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3D,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACvD,SAAS,CAAC,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACjD,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7D,SAAS,CAAC,iBAAiB,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QACjE,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACrD,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAE7D,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7D,wDAAwD;QACxD,iFAAiF;QACjF,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACvD,SAAS,CAAC,iBAAiB,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAErE,6DAA6D;QAC7D,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;YAEtC,IAAI,MAAM,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,KAAK,UAAU,EAAzB,CAAyB,CAAC,CAAC;YAAA,CAAC;YAEvE,KAAI,CAAC,aAAa,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;gBAC9D,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;gBAEjD,IAAI,OAAO,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,KAAK,UAAU,EAAzB,CAAyB,CAAC,CAAC;gBAEvE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE;oBACxD,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACnD,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;4BACzH,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;4BACtC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;4BAElD,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;4BAEjH,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;4BAC1E,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;4BACvF,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;4BAC1E,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE;yBACtF;6BACI;4BACH,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;4BAC/F,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;4BAC1E,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;4BACvF,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;4BAC1E,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE;yBAEtF;qBACF;iBAEF;gBAED,KAAI,CAAC,eAAe,EAAE,CAAC;YAEzB,CAAC,CAAC,CAAC;QAEL,CAAC,CAAC,CAAC;IAEL,CAAC;IAGD,sDAAkB,GAAlB;QAAA,iBAsBC;QArBC,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC1E,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YAEvC,IAAI,QAAa,CAAC;YAClB,QAAQ,GAAG,OAAO,CAAC;YAEnB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;gBAEzB,KAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,iBAAO;oBAC/D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;oBACvC,KAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC;gBAErC,CAAC,CAAC,CAAC;aACJ;iBACI;gBACH,KAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC;aACrC;QAEH,CAAC,CAAC,CAAC;IAGL,CAAC;IAKD,mDAAe,GAAf;QAAA,iBAmMC;QAlMC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,KAAI,CAAC,SAAS,IAAI,CAAC,CAAC,UAAU,KAAK,KAAI,CAAC,UAAU,EAAlE,CAAkE,CAAC,CAAC;QAEhH,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;QAEzC,IAAI,CAAC,aAAa,CAAC,6BAA6B,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,iBAAO;YAClJ,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YAEhD,IAAI,KAAI,CAAC,WAAW,CAAC,MAAM,KAAK,UAAU,EAAE;gBAE1C,OAAO;aACR;YAED,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,KAAI,CAAC,SAAS,IAAI,CAAC,CAAC,UAAU,KAAK,KAAI,CAAC,UAAU,EAAlE,CAAkE,CAAC,CAAC;YAEpH,IAAI,YAAY,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,aAAa,KAAK,CAAC,EAArB,CAAqB,CAAC,CAAC;YACvE,IAAI,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,aAAa,KAAK,CAAC,EAArB,CAAqB,CAAC,CAAC;YAGtE,IAAI,eAAe,GAAG,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,KAAK,KAAI,CAAC,UAAU,EAAhC,CAAgC,CAAC,CAAC;YAEjF,IAAI,cAAc,GAAG,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,KAAK,KAAI,CAAC,UAAU,EAAhC,CAAgC,CAAC,CAAC;YAE/E,IAAI,OAAO,CAAC;YACZ,IAAI,KAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,KAAI,CAAC,WAAW,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE;gBAC5E,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC9D,OAAO,GAAG;wBACR,SAAS,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;wBACxC,WAAW,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW;wBAC5C,YAAY,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY;wBAC9C,QAAQ,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ;wBACtC,UAAU,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU;wBAC1C,WAAW,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW;wBAC5C,OAAO,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO;qBACrC,CAAC;oBAEF,IAAI,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa,KAAK,CAAC,EAAE;wBAC3C,IAAI,KAAI,CAAC,QAAQ,KAAK,GAAG,EAAE;4BAEzB,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gCAClH,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,EAAE,CAAC,KAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;gCACzB,EAAE,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gCAElC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,EAAE;oCACnE,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;iCAErE;gCACD,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,EAAE;oCAChF,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;iCAClF;gCACD,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,EAAE;oCAEjG,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;iCAClG;gCAED,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC;gCAExM,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC;6BAC9F;iCACI;gCACH,IAAI,KAAI,CAAC,gBAAgB,EAAE;oCACzB,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC;oCACtH,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,GAAG,eAAe,CAAC;iCAC1F;;gCAED,qDAAqD;gCACrD;oCACE,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC;oCAExM,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iCACtF;6BAEF;yBAEF;6BAAM;4BAEL,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gCAC3G,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,EAAE,CAAC,KAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;gCACzB,EAAE,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gCAElC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,EAAE;oCAEhE,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;iCACjE;gCACD,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC;gCACtI,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC;6BACvF;iCACI;gCAEH,IAAI,KAAI,CAAC,gBAAgB,EAAE;oCACzB,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC;oCAClF,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,GAAG,YAAY,CAAC;iCAEhF;qCACI;oCACH,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oCAC9E,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC;iCAEvI;6BAEF;yBAEF;qBACF;yBACI;wBAEH,IAAI,KAAI,CAAC,QAAQ,KAAK,GAAG,EAAE;4BAGzB,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gCAC1G,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,EAAE,CAAC,KAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;gCACzB,EAAE,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gCAElC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,EAAE;oCAE/D,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;iCAChE;gCAED,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC;gCAEpI,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC;6BACtF;iCACI;gCACH,IAAI,KAAI,CAAC,gBAAgB,EAAE;oCACzB,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC;oCAChF,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,GAAG,WAAW,CAAC;iCAC9E;qCACI;oCACH,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC;oCACpI,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iCAC9E;6BAGF;yBAEF;6BACI;4BAEH,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gCAElH,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,EAAE,CAAC,KAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;gCACzB,EAAE,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gCAElC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,EAAE;oCAChG,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;iCACjG;gCAED,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC;gCAGtM,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC;6BAC9F;iCACI;gCACH,IAAI,KAAI,CAAC,gBAAgB,EAAE;oCACzB,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC;oCACxF,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC;iCACrH;;gCAED,kDAAkD;gCAClD;oCACE,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC;oCAEtM,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iCACtF;6BACF;yBAEF;qBACF;iBACF;aACF;YACD,IAAI,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,MAAM,CAAC,EAAE;gBACjC,IAAI,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,EAAE;oBAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACzE,IAAI,EAAE,GAAG,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;wBACjE,KAAI,CAAC,eAAe,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC;wBACjC,IAAI,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,IAAI,SAAS,EAAE;4BAChI,CAAC,GAAG,CAAC,GAAG,KAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,GAAG,KAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;yBACjE;6BAAM;4BACL,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAI,CAAC,gBAAgB,IAAI,CAAC,EAAE;gCACxC,KAAI,CAAC,eAAe,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;6BACjC;iCAAM;gCACL,KAAI,CAAC,eAAe,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC;6BAClC;yBACF;qBACF;iBACF;aAEF;QAEH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,4CAAQ,GAAR,UAAS,UAAU;QAAnB,iBAsEC;QArEC,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;QAEpB,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iFAAsB,EAAE;YACzD,UAAU,EAAE,yBAAyB;YACrC,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,UAAU;SACjC,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,KAAK,UAAU,EAA3B,CAA2B,CAAC,CAAC;QAC7E,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YAC1B,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1C,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;YAChD,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;SAC7C;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAE5C,SAAS,CAAC,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM;QAChD,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3D,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7D,SAAS,CAAC,iBAAiB,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QACjE,SAAS,CAAC,iBAAiB,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QACnE,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7D,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACzD,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACrD,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACrD,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7D,SAAS,CAAC,iBAAiB,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QAC3E,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7D,SAAS,CAAC,iBAAiB,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QAC3E,SAAS,CAAC,iBAAiB,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAEvE,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAEvD,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,UAAU,CAAC;QACpD,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAGvD,IAAI,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC;QACvC,IAAI,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,CAAC,EAAf,CAAe,CAAC,CAAC;QAEzD,IAAI,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,KAAK,UAAU,EAA3B,CAA2B,CAAC,CAAC;QAE9D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YAE9C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;SACrC;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,GAAG,EAAE;YAEpC,SAAS,CAAC,iBAAiB,CAAC,iBAAiB,GAAG,KAAK,CAAC;YACtD,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,UAAU,CAAC;SAErD;aAAM;YAEL,SAAS,CAAC,iBAAiB,CAAC,iBAAiB,GAAG,IAAI,CAAC;YACrD,SAAS,CAAC,iBAAiB,CAAC,aAAa,GAAG,UAAU,CAAC;YACvD,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC;SAExD;QAED,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;YACtC,8BAA8B;YAC9B,KAAI,CAAC,eAAe,EAAE,CAAC;YACvB,KAAI,CAAC,kBAAkB,EAAE,CAAC;YAE1B,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QAExB,CAAC,CAAC,CAAC;IAEL,CAAC;IAGD,6CAAS,GAAT,UAAU,UAAU;QAApB,iBA2EC;QAzEC,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;QAEpB,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8EAAqB,EAAE;YACxD,UAAU,EAAE,yBAAyB;YACrC,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,UAAU;SACjC,CAAC,CAAC;QAEH,IAAI,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,KAAK,UAAU,EAA3B,CAA2B,CAAC,CAAC;QAC7E,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YAC1B,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1C,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;YAChD,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;SAC7C;QACD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACvD,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3D,SAAS,CAAC,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACjD,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7D,SAAS,CAAC,iBAAiB,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QACjE,SAAS,CAAC,iBAAiB,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QACnE,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7D,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACzD,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACrD,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7D,SAAS,CAAC,iBAAiB,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QAC3E,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7D,SAAS,CAAC,iBAAiB,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QAC3E,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACvD,yDAAyD;QACzD,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAEvD,IAAI,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC;QACvC,IAAI,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,CAAC,EAAf,CAAe,CAAC,CAAC;QAEzD,IAAI,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,KAAK,UAAU,EAA3B,CAA2B,CAAC,CAAC;QAE9D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YAE9C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YACpC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY;SAElD;QAGD,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,GAAG,EAAE;YACpC,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,UAAU,CAAC;YACpD,SAAS,CAAC,iBAAiB,CAAC,iBAAiB,GAAG,KAAK,CAAC;SACvD;aAAM;YAEL,SAAS,CAAC,iBAAiB,CAAC,iBAAiB,GAAG,IAAI,CAAC;YACrD,SAAS,CAAC,iBAAiB,CAAC,aAAa,GAAG,UAAU,CAAC;YACvD,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC;YACvD,4EAA4E;SAG7E;QAED,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;YACtC,6BAA6B;YAC7B,qGAAqG;YACrG,IAAI;YAGJ,KAAI,CAAC,eAAe,EAAE,CAAC;YACvB,KAAI,CAAC,kBAAkB,EAAE,CAAC;YAI1B,KAAI,CAAC,mBAAmB,EAAE,CAAC;QAE7B,CAAC,CAAC,CAAC;IAEL,CAAC;IAGD,2CAAO,GAAP,UAAQ,UAAU,EAAE,SAAS;QAA7B,iBA8JC;QA5JC,IAAI,YAAY,GAAG,EAAE,CAAC;QAEtB,IAAI,UAAU,KAAK,CAAC,EAAE;YACpB,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;YAEvC,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;SACrC;QAED,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,eAAK;YACxJ,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAEnC,IAAM,SAAS,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE;gBAC7D,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,SAAS;gBAC/C,KAAK,EAAE,OAAO;aACf,CAAC,CAAC;YAEH,IAAI,UAAU,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,KAAK,WAAW,IAAI,CAAC,CAAC,MAAM,KAAK,KAAI,CAAC,SAAS,EAAzD,CAAyD,CAAC,CAAC;YAEtG,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzB,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;aACtB;iBACI;gBACH,KAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;aAEvB;YAED,IAAI,cAAc,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,KAAK,UAAU,CAAC,UAAU,EAAtC,CAAsC,CAAC,CAAC;YAE3F,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,KAAI,CAAC,SAAS,CAAC;YACvD,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC;YAGrD,SAAS,CAAC,iBAAiB,CAAC,eAAe,GAAG,KAAI,CAAC,eAAe,CAAC;YACnE,SAAS,CAAC,iBAAiB,CAAC,eAAe,GAAG,KAAI,CAAC,eAAe,CAAC;YAEnE,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,KAAI,CAAC,SAAS,CAAC;YACvD,SAAS,CAAC,iBAAiB,CAAC,eAAe,GAAG,KAAI,CAAC,eAAe,CAAC;YACnE,SAAS,CAAC,iBAAiB,CAAC,aAAa,GAAG,KAAI,CAAC,aAAa,CAAC;YAE/D,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,KAAI,CAAC,UAAU,CAAC;YACzD,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,KAAK,CAAC;YAC7C,SAAS,CAAC,iBAAiB,CAAC,OAAO,GAAG,KAAI,CAAC,SAAS,CAAC,WAAW,CAAC;YACjE,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,YAAY,CAAC;YACpD,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC;YAC3D,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC;YAC3D,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,KAAI,CAAC,aAAa,CAAC;YAC3D,SAAS,CAAC,iBAAiB,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC;YACjE,SAAS,CAAC,iBAAiB,CAAC,kBAAkB,GAAG,KAAI,CAAC,kBAAkB,CAAC;YAGzE,SAAS,CAAC,iBAAiB,CAAC,MAAM,GAAG,KAAI,CAAC,MAAM;YAChD,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC;YAC3D,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;YAC7D,SAAS,CAAC,iBAAiB,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC;YACjE,SAAS,CAAC,iBAAiB,CAAC,eAAe,GAAG,KAAI,CAAC,eAAe,CAAC;YACnE,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;YAC7D,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,KAAI,CAAC,UAAU,CAAC;YACzD,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC;YACrD,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;YAC7D,SAAS,CAAC,iBAAiB,CAAC,mBAAmB,GAAG,KAAI,CAAC,mBAAmB,CAAC;YAC3E,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;YAC7D,SAAS,CAAC,iBAAiB,CAAC,mBAAmB,GAAG,KAAI,CAAC,mBAAmB,CAAC;YAC3E,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,KAAI,CAAC,SAAS,CAAC;YACvD,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;YAC/D,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,KAAI,CAAC,SAAS,CAAC;YACvD,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC5C,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC;YACrD,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC;YAC3D,SAAS,CAAC,iBAAiB,CAAC,kBAAkB,GAAG,KAAI,CAAC,kBAAkB,CAAC;YAEzE,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;gBACtC,2BAA2B;gBAC3B,KAAI,CAAC,aAAa,CAAC,6BAA6B,CAAC,KAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC,KAAI,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,KAAI,CAAC,MAAM,CAAC,EAAE,KAAI,CAAC,kBAAkB,CAAC,CAAC,SAAS,CAAC,iBAAO;oBACjK,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;oBAIhD,KAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;oBAIxC,IAAI,eAAe,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,aAAa,KAAK,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,UAAU,EAA/D,CAA+D,CAAC,CAAC;oBACpH,IAAI,cAAc,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,aAAa,KAAK,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,UAAU,EAA/D,CAA+D,CAAC,CAAC;oBAGnH,IAAI,YAAY,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,aAAa,KAAK,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,EAAtE,CAAsE,CAAC,CAAC;oBACxH,IAAI,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,aAAa,KAAK,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,EAAtE,CAAsE,CAAC,CAAC;oBAGvH,KAAI,CAAC,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBAE7C,IAAI,SAAS,KAAK,CAAC,EAAE;wBACnB,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,EAAE;4BACpC,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC;4BAE/F,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;gCAC3B,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,YAAY,CAAC;6BAC7F;iCACI;gCAEH,OAAO,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;6BACrF;yBAEF;6BACI,IAAI,KAAI,CAAC,UAAU,KAAK,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE;4BAEzD,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;gCAC9B,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC;gCACtH,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,GAAG,eAAe,CAAC;6BAC1F;iCACI;gCACH,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;gCACjF,OAAO,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC;6BAE/E;yBAEF;qBAEF;yBACI;wBACH,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,EAAE;4BACpC,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC;4BAC7F,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;gCAC1B,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,WAAW,CAAC;6BAC3F;iCACI;gCAEH,OAAO,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;6BACpF;yBACF;6BACI,IAAI,KAAI,CAAC,UAAU,KAAK,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE;4BACzD;gCAEE,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;oCAC7B,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC;oCACpH,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC;iCAEzF;qCAEI;oCACH,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;oCAChF,OAAO,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC;iCAC/E;6BAEF;yBAEF;qBAEF;oBAED,KAAI,CAAC,eAAe,EAAE,CAAC;oBAEvB,KAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC7B,CAAC,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IACD,uDAAmB,GAAnB;QACE,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACjC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,EAAE;gBAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACzE,IAAI,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;oBACjE,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC;oBACjC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,IAAI,SAAS,EAAE;wBAEhI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;qBACjE;yBAAM;wBACL,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,gBAAgB,IAAI,CAAC,EAAE;4BACxC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;yBACjC;6BAAM;4BACL,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC;yBAClC;qBACF;iBAEF;aACF;SAEF;IACH,CAAC;;;gBAr7C2B,mBAAmB;gBAC3B,qEAAY;gDAC7B,oDAAM,SAAC,wEAAe;gBAA0C,6DAAa;gBAC9D,kEAAS;gBAAmB,kEAAmB;gBACrC,mHAA2B;;IArG5C,yBAAyB;QANrC,+DAAS,CAAC;YACT,QAAQ,EAAE,YAAY;YACtB,qIAA0B;YAE1B,SAAS,EAAE,CAAC,6DAAa,EAAE,mBAAmB,CAAC;;SAChD,CAAC;QAoGG,6GAAM,CAAC,wEAAe,CAAC;OAnGf,yBAAyB,CAwhDrC;IAAD,gCAAC;CAAA;AAxhDqC;AAgiDtC;IAoEE,oCACS,SAAmD,EAC1B,IAAS,EAAS,aAA4B,EACtE,MAAiB,EAAU,gBAA6C;QAFzE,cAAS,GAAT,SAAS,CAA0C;QAC1B,SAAI,GAAJ,IAAI,CAAK;QAAS,kBAAa,GAAb,aAAa,CAAe;QACtE,WAAM,GAAN,MAAM,CAAW;QAAU,qBAAgB,GAAhB,gBAAgB,CAA6B;QAtElF,aAAQ,GAAG,KAAK,CAAC;QACjB,cAAS,GAAG,KAAK,CAAC;QAIlB,cAAS,GAAG,KAAK,CAAC;QAQlB,YAAO,GAAG,EAAE,CAAC;QACb,aAAQ,GAAG,EAAE,CAAC;QACd,WAAM,GAAG,EAAE,CAAC;QACZ,gBAAW,GAAG,EAAE,CAAC;QACjB,WAAM,GAAG,EAAE,CAAC;QAEZ,SAAI,GAAG,IAAI,CAAC;QAoDV,kCAAkC;QAClC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEnC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE;YAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAE3B,CAAC;IACD,6CAAQ,GAAR;QACE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,gDAAW,GAAX;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC;IAED,+CAAU,GAAV,UAAW,GAAW;QACpB,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE;YAC5D,IAAI,EAAE,GAAG,GAAG,KAAK,GAAG,KAAK;SAC1B,CAAC,CAAC;IACL,CAAC;IAED,0CAAK,GAAL;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IACD,+CAAU,GAAV;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IACD,8CAAS,GAAT;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAGD,gDAAW,GAAX,UAAY,OAAO;QAAnB,iBAqJC;QAnJC,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YAClD,OAAO;SACR;QAED,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,EAAjC,CAAiC,CAAC,CAAC;QAC5E,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;SAC/B;QAED,IAAI,CAAC,aAAa,CAAC,6BAA6B,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,SAAS,CAAC,iBAAO;YACtJ,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YAEhD,IAAI,aAAa,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,EAAjC,CAAiC,CAAC,CAAC;YACpF,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC5B,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,KAAK,CAAC,EAAE;oBACxC,IAAM,SAAS,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iFAAsB,EAAE;wBACzD,UAAU,EAAE,yBAAyB;wBACrC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS;qBACjC,CAAC,CAAC;oBAEH,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC;oBAC3D,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;oBAC7D,SAAS,CAAC,iBAAiB,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC;oBACjE,SAAS,CAAC,iBAAiB,CAAC,eAAe,GAAG,KAAI,CAAC,eAAe,CAAC;oBACnE,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;oBAC7D,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,KAAI,CAAC,UAAU,CAAC;oBACzD,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC;oBACrD,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;oBAC7D,SAAS,CAAC,iBAAiB,CAAC,mBAAmB,GAAG,KAAI,CAAC,mBAAmB,CAAC;oBAC3E,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;oBAC7D,SAAS,CAAC,iBAAiB,CAAC,mBAAmB,GAAG,KAAI,CAAC,mBAAmB,CAAC;oBAC3E,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;oBACrE,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACnE,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;oBACrE,SAAS,CAAC,iBAAiB,CAAC,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;oBAC3E,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACnE,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;oBACzE,SAAS,CAAC,iBAAiB,CAAC,kBAAkB,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;oBACrF,SAAS,CAAC,iBAAiB,CAAC,iBAAiB,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;oBACpF,SAAS,CAAC,iBAAiB,CAAC,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;oBAC7D,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;oBACjE,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;oBACrE,SAAS,CAAC,iBAAiB,CAAC,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;oBAC/D,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;oBACvE,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACnE,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACnE,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACnE,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;oBACvE,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC;oBAE3D,IAAI,cAAc,GAAG,KAAI,CAAC,YAAY,CAAC;oBACvC,IAAI,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,CAAC,EAAf,CAAe,CAAC,CAAC;oBAEzD,IAAI,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,EAA5C,CAA4C,CAAC,CAAC;oBAE/E,IAAI,QAAQ,SAAQ,CAAC;oBACrB,IAAI,kBAAkB,SAAQ,CAAC;oBAC/B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;wBAE9C,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;wBAC/B,kBAAkB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY;qBAC7C;oBACD,IAAI,QAAQ,CAAC,QAAQ,EAAE,KAAK,GAAG,EAAE;wBAC/B,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;wBACrE,SAAS,CAAC,iBAAiB,CAAC,iBAAiB,GAAG,KAAK,CAAC;qBACvD;yBAAM;wBACL,SAAS,CAAC,iBAAiB,CAAC,iBAAiB,GAAG,IAAI,CAAC;wBACrD,SAAS,CAAC,iBAAiB,CAAC,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;wBACxE,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,QAAQ,CAAC;qBACnD;oBACD,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;wBACtC,IAAI,MAAM;4BACR,KAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;wBAC1C,KAAI,CAAC,aAAa,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,KAAI,CAAC,SAAS,EAAE,KAAI,CAAC,cAAc,EAAE,KAAI,CAAC,kBAAkB,CAAC,CAAC,SAAS,CAAC,eAAK;4BACnM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;4BACnC,KAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;wBACxB,CAAC,CAAC;oBACJ,CAAC,CAAC,CAAC;iBACJ;qBAAM;oBACL,IAAM,SAAS,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8EAAqB,EAAE;wBACxD,UAAU,EAAE,yBAAyB;wBACrC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS;qBACjC,CAAC,CAAC;oBAEH,IAAI,eAAe,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,EAApC,CAAoC,CAAC,CAAC;oBACzF,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,eAAe,CAAC;oBAC1D,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;oBAC7D,SAAS,CAAC,iBAAiB,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC;oBACjE,SAAS,CAAC,iBAAiB,CAAC,eAAe,GAAG,KAAI,CAAC,eAAe,CAAC;oBACnE,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;oBAC7D,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,KAAI,CAAC,UAAU,CAAC;oBACzD,SAAS,CAAC,iBAAiB,CAAC,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;oBAC7D,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,KAAI,CAAC,SAAS,CAAC;oBACvD,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC;oBACrD,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;oBAC7D,SAAS,CAAC,iBAAiB,CAAC,mBAAmB,GAAG,KAAI,CAAC,mBAAmB,CAAC;oBAC3E,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;oBAC7D,SAAS,CAAC,iBAAiB,CAAC,mBAAmB,GAAG,KAAI,CAAC,mBAAmB,CAAC;oBAC3E,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;oBACrE,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACnE,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;oBACrE,SAAS,CAAC,iBAAiB,CAAC,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;oBAC3E,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACnE,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;oBACzE,SAAS,CAAC,iBAAiB,CAAC,iBAAiB,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;oBACnF,SAAS,CAAC,iBAAiB,CAAC,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;oBAC7D,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;oBACjE,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;oBACrE,SAAS,CAAC,iBAAiB,CAAC,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;oBAC/D,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;oBACvE,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;oBAC7D,SAAS,CAAC,iBAAiB,CAAC,mBAAmB,GAAG,KAAI,CAAC,mBAAmB,CAAC;oBAC3E,SAAS,CAAC,iBAAiB,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;oBACpD,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACnE,IAAI,cAAc,GAAG,KAAI,CAAC,YAAY,CAAC;oBACvC,IAAI,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,CAAC,EAAf,CAAe,CAAC,CAAC;oBACzD,IAAI,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,EAA5C,CAA4C,CAAC,CAAC;oBAE/E,IAAI,QAAQ,SAAQ,CAAC;oBACrB,IAAI,kBAAkB,SAAQ,CAAC;oBAC/B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;wBAE9C,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;wBAC/B,kBAAkB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY;qBAC7C;oBACD,IAAI,QAAQ,CAAC,QAAQ,EAAE,KAAK,GAAG,EAAE;wBAC/B,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;wBACrE,SAAS,CAAC,iBAAiB,CAAC,iBAAiB,GAAG,KAAK,CAAC;qBACvD;yBAAM;wBAEL,SAAS,CAAC,iBAAiB,CAAC,iBAAiB,GAAG,IAAI,CAAC;wBACrD,SAAS,CAAC,iBAAiB,CAAC,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;wBACxE,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,QAAQ,CAAC;qBACnD;oBACD,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;wBACtC,IAAI,MAAM;4BACR,KAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;wBAE1C,KAAI,CAAC,aAAa,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,KAAI,CAAC,SAAS,EAAE,KAAI,CAAC,cAAc,EAAE,KAAI,CAAC,kBAAkB,CAAC,CAAC,SAAS,CAAC,eAAK;4BACnM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;4BACnC,KAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;4BACtB,IAAI,MAAM,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,EAAjC,CAAiC,CAAC,CAAC;wBAC5E,CAAC,CAAC;oBACJ,CAAC,CAAC,CAAC;iBACJ;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,kDAAa,GAAb,UAAc,OAAO;QAArB,iBA8EC;QA5EC,IAAI,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,EAAjC,CAAiC,CAAC,CAAC;QACpF,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5B,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,KAAK,CAAC,EAAE;gBACxC,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAE5C,IAAI,QAAe,CAAC;gBACpB,IAAI,CAAC,gBAAgB,CAAC,4BAA4B,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,cAAI;oBAC/E,QAAM,GAAG,IAAI,CAAC,IAAI,CAAC;gBACrB,CAAC,CAAC;gBACF,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8EAAqB,EAAE;oBACxD,UAAU,EAAE,yBAAyB;oBACrC,IAAI,EAAE,0CAA0C,GAAG,OAAO,CAAC,WAAW,GAAG,MAAM,GAAG,IAAI;oBACtF,KAAK,EAAE,OAAO;iBACf,CAAC,CAAC;gBAEH,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;oBACtC,IAAI,MAAM,EAAE;wBACV,IAAI,CAAC,QAAM,EAAE;4BACX,KAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,cAAI;gCAC7D,IAAI,IAAI,CAAC,EAAE,EAAE;oCACX,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;oCACtB,IAAM,YAAS,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8EAAqB,EAAE;wCACxD,UAAU,EAAE,yBAAyB;wCACrC,IAAI,EAAE,uBAAuB;qCAC9B,CAAC,CAAC;oCACH,YAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;wCACtC,KAAI,CAAC,aAAa,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,KAAI,CAAC,SAAS,EAAE,KAAI,CAAC,cAAc,EAAE,KAAI,CAAC,kBAAkB,CAAC,CAAC,SAAS,CAAC,eAAK;4CACnM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;4CACnC,KAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;wCACxB,CAAC,CAAC;oCACJ,CAAC,CAAC,CAAC;iCACJ;4BACH,CAAC,CAAC,CAAC;yBACJ;6BACI;4BACH,KAAI,CAAC,UAAU,CAAC,yDAAyD,CAAC,CAAC;yBAC5E;qBACF;gBACH,CAAC,CAAC,CAAC;aACJ;iBAAM;gBACL,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAE5C,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iFAAsB,EAAE;oBACzD,UAAU,EAAE,yBAAyB;oBACrC,IAAI,EAAE,+CAA+C,GAAG,OAAO,CAAC,OAAO,GAAG,MAAM,GAAG,IAAI;oBACvF,KAAK,EAAE,OAAO;iBAGf,CAAC,CAAC;gBACH,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;oBACtC,IAAI,MAAM,EAAE;wBACV,KAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,cAAI;4BAE7D,IAAI,IAAI,CAAC,EAAE,EAAE;gCACX,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gCACtB,IAAM,YAAS,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iFAAsB,EAAE;oCACzD,UAAU,EAAE,yBAAyB;oCACrC,IAAI,EAAE,uBAAuB;iCAC9B,CAAC,CAAC;gCACH,YAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;oCAGtC,KAAI,CAAC,aAAa,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,KAAI,CAAC,SAAS,EAAE,KAAI,CAAC,cAAc,EAAE,KAAI,CAAC,kBAAkB,CAAC,CAAC,SAAS,CAAC,eAAK;wCACnM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;wCACnC,KAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;oCAExB,CAAC,CAAC;gCAEJ,CAAC,CAAC,CAAC;6BACJ;wBACH,CAAC,CAAC,CAAC;qBACJ;gBACH,CAAC,CAAC,CAAC;aACJ;SACF;IAEH,CAAC;;gBA7QmB,qEAAY;gDAC7B,oDAAM,SAAC,wEAAe;gBAA0C,6DAAa;gBAC9D,kEAAS;gBAA4B,mHAA2B;;IAvEvE,0BAA0B;QANtC,+DAAS,CAAC;YACT,QAAQ,EAAE,YAAY;YACtB,qIAA0B;YAE1B,SAAS,EAAE,CAAC,6DAAa,CAAC;;SAC3B,CAAC;QAuEG,6GAAM,CAAC,wEAAe,CAAC;OAtEf,0BAA0B,CAoVtC;IAAD,iCAAC;CAAA;AApVsC;;;;;;;;;;;;;;;;;;;;;;;;AC3zHmB;AAC0B;AAClC;AACG;AACmB;AACzB;AAO/C;IAgDE,0BAAmB,MAAiB,EAAS,aAA4B,EAAU,OAA4B;QAA5F,WAAM,GAAN,MAAM,CAAW;QAAS,kBAAa,GAAb,aAAa,CAAe;QAAU,YAAO,GAAP,OAAO,CAAqB;QA/C/G,uBAAkB,GAAG,mFAAkB,CAAC;QACxC,WAAM,GAAG,KAAK,CAAC;QAEf,mBAAc,GAAG,EAAE,CAAC;QAEpB,eAAU,GAAG,EAAE,CAAC;QAWhB,cAAS,GAAG,KAAK,CAAC;QAGlB,MAAC,GAAW,CAAC,CAAC;QACd,eAAU,GAAG,EAAE,CAAC;QAChB,kBAAa,GAAG,EAAE,CAAC;QAEnB,gBAAW,GAAG,EAAE,CAAC;QACjB,WAAM,GAAY,KAAK,CAAC;QACxB,WAAM,GAAG,EAAE,CAAC;QAEZ,UAAK,GAAG,IAAI,CAAC;QACb,kBAAa,GAAG,KAAK,CAAC;QACtB,cAAS,GAAG,KAAK,CAAC;QAClB,kBAAa,GAAG,KAAK,CAAC;QAStB,iBAAY,GAAG,EAAE,CAAC;QAClB,YAAO,GAAG,IAAI,CAAC;QAQb,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACjD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAChE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAClE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAChE,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED,mCAAQ,GAAR;QACE,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;YAClD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;SAC3C;aACI;YACH,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;SACrB;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,KAAK,SAAS,EAAjD,CAAiD,CAAC,CAAC;QAC7F,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;SAC1C;QACD,IAAI,CAAC,UAAU,EAAE,CAAC;IAEpB,CAAC;IACD,sCAAW,GAAX;QACE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAChB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IACD,kCAAO,GAAP;QAAA,iBAkBC;QAjBC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC1D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;YACxB,IAAI,KAAI,CAAC,eAAe,EAAE;gBACxB,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,KAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE;oBACnF,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,IAAI,KAAI,CAAC,eAAe,CAAC,YAAY,EAArD,CAAqD,CAAC;iBACnG;qBACI,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,KAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE;oBAClF,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,IAAI,KAAI,CAAC,eAAe,CAAC,YAAY,IAAI,GAAG,CAAC,MAAM,IAAI,KAAI,CAAC,eAAe,CAAC,MAAM,EAAlG,CAAkG,CAAC;oBAC/I,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;iBAC3C;qBACI;oBACH,KAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;iBACzB;aACF;QAEH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,qCAAU,GAAV;QAAA,iBAsCC;QArCC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CACvC,UAAC,IAAI;YACH,OAAO,CACL,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChH,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChH,CAAC,IAAI,CAAC,kBAAkB,KAAK,IAAI,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC9H,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAC3G,CAAC;QACJ,CAAC,CAEF,CAAC;QAEF,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,EAAE;YAChC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;QAGD,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE,EAAE;YAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC;YACnC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;YACxC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC1C;aACI;YACH,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC;YACnC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;gBACnC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE;oBAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aAC3C;SACF;IAGH,CAAC;IACD,qCAAU,GAAV;QAAA,iBAsGC;QApGC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC7D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC;YAC3B,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC;YACjD,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC;YACxC,IAAI,KAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;gBACjC,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;aAC3B;iBACI;gBAEH,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAChD,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;iBAC7D;gBACD,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC;gBACxB,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;gBACtB,IAAI,KAAI,CAAC,eAAe,EAAE;oBACxB,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,KAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE;wBACnF,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,iBAAO,IAAI,YAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAO,IAAI,cAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAhC,CAAgC,CAAC,EAA/D,CAA+D,CAAC,CAAC;qBACxH;yBACI,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,KAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE;wBAClF,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,MAAM,IAAI,KAAI,CAAC,eAAe,CAAC,MAAM,EAAzC,CAAyC,CAAC;qBAC7F;yBACI;wBACH,IAAI,IAAI,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,KAAI,CAAC,SAAS,EAA9B,CAA8B,CAAC,CAAC;wBACxE,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC;qBACzB;oBAED,IAAI,CAAC,KAAI,CAAC,eAAe,CAAC,cAAc,EAAE;wBACxC,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC;wBACxC,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC;wBAC/D,KAAI,CAAC,oBAAoB,CAAC,KAAI,CAAC,QAAQ,CAAC;wBACxC,OAAO;qBACR;oBACD,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;oBAClE,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;oBAC7C,IAAI,KAAI,CAAC,UAAU,IAAI,SAAS,EAAE;wBAChC,IAAI,aAAW,GAAG,MAAM,CAAC,IAAI,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC;gDAEtC,CAAC;4BACR,IAAI,OAAO,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,aAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAApD,CAAoD,CAAC,CAAC;4BAEjG,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gCACtB,IAAI,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,KAAI,CAAC,UAAU,CAAC,aAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gCAEjE,IAAI,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oCACjC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAI,CAAC,UAAU,CAAC,aAAW,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;;oCAEvD,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gCAG1B,IAAI,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oCACjC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAI,CAAC,UAAU,CAAC,aAAW,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;;oCAEvD,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gCAG1B,IAAI,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oCACjC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAI,CAAC,UAAU,CAAC,aAAW,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;;oCAEvD,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gCAG1B,IAAI,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oCACjC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAI,CAAC,UAAU,CAAC,aAAW,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;;oCAEvD,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gCAE1B,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;6BACtC;;wBA9BH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAW,CAAC,MAAM,EAAE,CAAC,EAAE;oCAAlC,CAAC;yBA+BT;wBACD,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,cAAc,CAAC;qBACxC;iBACF;qBACI;oBACH,IAAI,IAAI,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,KAAI,CAAC,SAAS,EAA9B,CAA8B,CAAC,CAAC;oBACxE,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC;iBACzB;gBACD,IAAI,KAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC/B,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC;oBACxC,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;oBAC1B,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;oBACvB,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;oBAC3B,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC;oBAE/D,KAAI,CAAC,oBAAoB,CAAC,KAAI,CAAC,QAAQ,CAAC;iBACzC;qBACI,IAAI,KAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;oBACtC,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;oBAC3B,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;oBACtB,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;iBAC3B;aAEF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,+CAAoB,GAApB,UAAqB,QAAQ;QAC3B,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE;YACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;SAC1C;QACD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAC/C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;gBACnC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE;oBAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aAC3C;SACF;IACH,CAAC;IAID,+BAAI,GAAJ,UAAK,QAAQ;QACX,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,0BAA0B;QACtD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IAGD,uCAAY,GAAZ;QACE,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAE3D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,6CAA6C;YAC7C,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YACtC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YAC5C,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;YACvD,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACzC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;YACvC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;YACnC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;YACvC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAEvB;QAED,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,GAAG,UAAU,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,WAAW,GAAG,IAAI,CAAC,gBAAgB,EAAE,EAAE,EAAE,gBAAgB,EAAE,0DAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAC3R,CAAC;IACD,qCAAU,GAAV,UAAW,GAAW;QAAtB,iBA6EC;QA3EC,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE;YACzD,UAAU,EAAE,yBAAyB;YACrC,IAAI,EAAE,GAAG,GAAG,KAAK,GAAG,KAAK;SAC1B,CAAC,CAAC;QAEH,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACzD,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3D,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACrD,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACvD,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAE3D,IAAI,GAAG,KAAK,KAAK,EAAE;YACjB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,SAAS,CAAC,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;SAClD;QAED,IAAI,GAAG,KAAK,MAAM,EAAE;YAClB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC;YAEjC,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YACvD,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YAC3D,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YACvD,SAAS,CAAC,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACjD,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YACzD,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YACrD,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YAC7D,SAAS,CAAC,iBAAiB,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;YACzE,SAAS,CAAC,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YACnD,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YAC7D,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YACrD,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;SAErD;QAED,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;YACtC,IAAI,KAAI,CAAC,UAAU,KAAK,EAAE,IAAI,KAAI,CAAC,UAAU,KAAK,SAAS,EAAE;gBAC3D,KAAI,CAAC,UAAU,EAAE,CAAC;aACnB;iBACI;gBACH,KAAI,CAAC,UAAU,EAAE,CAAC;aACnB;YAED,IAAI,MAAM,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE;gBAEhC,IAAI,SAAS,GAAG,EAAE,CAAC;gBACnB,IAAI,GAAG,KAAK,KAAK,EAAE;oBACjB,SAAS,GAAG,oBAAoB,CAAC;iBAClC;qBACI;oBACH,SAAS,GAAG,sBAAsB,CAAC;iBACpC;gBAED,KAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,IAAM,YAAY,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE;oBAC5D,UAAU,EAAE,yBAAyB;oBACrC,IAAI,EAAE,SAAS,GAAG,KAAK,GAAG,KAAK;iBAEhC,CAAC,CAAC;gBACH,UAAU,CAAC;oBACT,KAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,CAAC,EAAE,GAAG,CAAC,CAAC;gBACR,YAAY,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,iBAAO;oBAC1C,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;oBACtB,IAAI,KAAI,CAAC,UAAU,KAAK,EAAE,IAAI,KAAI,CAAC,UAAU,KAAK,SAAS,EAAE;wBAC3D,KAAI,CAAC,UAAU,EAAE,CAAC;qBACnB;yBACI;wBACH,KAAI,CAAC,UAAU,EAAE,CAAC;qBACnB;gBACH,CAAC,CAAC,CAAC;aACJ;QAEH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sCAAW,GAAX,UAAY,OAAO;QACjB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;QACrD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAE7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC7C,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;gBAC3C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;aAC1D;SACF;QACD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED,iCAAM,GAAN,UAAO,MAAM,EAAE,MAAM;QACnB,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;YAClE,OAAO,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC;SAChC;IACH,CAAC;IAKD,mCAAQ,GAAR;QAEE,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;YAC9C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;SACvC;IACH,CAAC;IAED,wCAAa,GAAb,UAAc,OAAO;QAArB,iBAgCC;QA/BC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAE/B,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE;YACzD,UAAU,EAAE,yBAAyB;YACrC,IAAI,EAAE,2CAA2C,GAAG,OAAO,CAAC,WAAW,GAAG,MAAM,GAAG,IAAI;SAExF,CAAC,CAAC;QACH,2BAA2B;QAE3B,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;YACtC,IAAI,MAAM,EAAE;gBACV,KAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAI,CAAC,SAAS,EAAE,KAAI,CAAC,SAAS,EAAE,KAAI,CAAC,MAAM,EAAE,KAAI,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,cAAI;oBAExG,IAAI,IAAI,CAAC,EAAE,EAAE;wBACX,KAAI,CAAC,QAAQ,EAAE,CAAC;wBAChB,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;wBACtB,KAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;qBAEzC;oBACD,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;oBACtB,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC;oBACxB,KAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IAIL,CAAC;;gBAvZ0B,kEAAS;gBAAwB,6DAAa;gBAAmB,kEAAmB;;IAhDpG,gBAAgB;QAL5B,+DAAS,CAAC;YACT,QAAQ,EAAE,aAAa;YACvB,uJAAuC;YACvC,SAAS,EAAE,CAAC,6DAAa,CAAC;SAC3B,CAAC;OACW,gBAAgB,CA0c5B;IAAD,uBAAC;CAAA;AA1c4B;AAkd7B;IAyBE,gCACS,SAA+C,EACtB,IAAS,EAAS,aAA4B;QADvE,cAAS,GAAT,SAAS,CAAsC;QACtB,SAAI,GAAJ,IAAI,CAAK;QAAS,kBAAa,GAAb,aAAa,CAAe;QAzBhF,cAAS,GAAG,KAAK,CAAC;QAelB,YAAO,GAAG,IAAI,CAAC;QACf,iBAAY,GAAa,EAAE,CAAC;QAC5B,sBAAiB,GAAG,EAAE,CAAC;QAEvB,gBAAW,GAAG,KAAK,CAAC;QAGpB,gBAAW,GAAG,KAAK,CAAC;QAIlB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEnC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE;YAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;aAAM,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE;YACnC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;aACI;YACH,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE;gBACvB,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;aACpC;iBAAM;gBACL,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;aACpC;SACF;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IACD,yCAAQ,GAAR;QAEE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE;YAC5C,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAChD,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE;wBAC9C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;qBAC7D;iBACF;aACF;YACD,IAAI,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;YACvC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;gBAClC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAC7B;iBACI;gBACH,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aAC3B;YAED,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;gBAClC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;aAChE;YACD,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YACzB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SACzC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS,EAAE;YAC7D,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAChD,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE;wBAE9C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;qBAC7D;iBACF;aACF;YAED,IAAI,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;YAEvC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;gBAElC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAC7B;;gBACI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAC3D;YAEH,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YACzB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SACzC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YAClB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;SACxB;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;YACrD,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;gBACxB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC;aAClC;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAChD,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE;oBAC9C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;iBACrD;aACF;SACF;QAED,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QACzB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;YACxB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;gBACrB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;aACzB;SACF;IAEH,CAAC;IAED,2CAAU,GAAV,UAAW,CAAC,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IAED,2CAAU,GAAV;QAAA,iBAMC;QALC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC7D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC;QAE7B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,2CAAU,GAAV;QAAA,iBAaC;QAZC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAExB,UAAU,CAAC;YACT,KAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAC3B,CAAC,EAAE,IAAI,CAAC,CAAC;QACT,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE;YAC5B,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,GAAG,kCAAkC,CAAC;YACnD,OAAO;SACR;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEzB,CAAC;IACD,2CAAU,GAAV,UAAW,KAAK;QACd,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAElB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAClC,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;QAC/B,CAAC,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAChD,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE;oBACpE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;iBAC7D;aACF;SACF;QAED,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE;YACjC,IAAI,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;YAEvC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;gBAClC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAC7B;;gBACI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SAChC;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QACzB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;IAE/C,CAAC;IACD,2CAAU,GAAV;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IACD,0CAAS,GAAT;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IACD,uCAAM,GAAN,UAAO,GAAW;QAAlB,iBAiDC;QA/CC,IAAM,IAAI,GAAG;YACX,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS,EAAE,IAAI,CAAC,WAAW;YAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,WAAW;YAC3B,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,YAAY,EAAE,GAAG;YACjB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,IAAI,EAAE,GAAG;YACT,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC;QAEF,IAAI,GAAG,KAAK,KAAK,EAAE;YACjB,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,cAAI;gBACvD,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE;oBACvC,KAAI,CAAC,QAAQ,GAAG,oBAAoB,CAAC;oBACrC,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;oBACvB,KAAI,CAAC,SAAS,GAAG,EAAE,CAAC;oBACpB,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;oBACtB,KAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;oBAE7B,IAAI,CAAC,KAAI,CAAC,MAAM,EAAE;wBAChB,KAAI,CAAC,OAAO,GAAG,EAAE,CAAC;wBAClB,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;qBACxB;yBACI;wBACH,KAAI,CAAC,OAAO,GAAG,KAAI,CAAC,YAAY,CAAC,KAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;wBACnE,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,OAAO,CAAC,CAAC;qBACtC;oBACD,KAAI,CAAC,UAAU,EAAE,CAAC;iBACnB;qBAAM;oBACL,KAAI,CAAC,QAAQ,GAAG,aAAa,CAAC;iBAC/B;YAEH,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,cAAI;gBACvD,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE;oBACvC,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;iBAC5B;qBAAM;oBACL,KAAI,CAAC,QAAQ,GAAG,sBAAsB,CAAC;iBACxC;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IACD,sCAAK,GAAL;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;;gBAjNmB,qEAAY;gDAC7B,oDAAM,SAAC,wEAAe;gBAA0C,6DAAa;;IA3BrE,sBAAsB;QANlC,+DAAS,CAAC;YACT,QAAQ,EAAE,YAAY;YACtB,iIAA0B;YAC1B,8BAA8B;YAC9B,SAAS,EAAE,CAAC,6DAAa,CAAC;SAC3B,CAAC;QA4BG,6GAAM,CAAC,wEAAe,CAAC;OA3Bf,sBAAsB,CA4OlC;IAAD,6BAAC;CAAA;AA5OkC;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9d8C;AACG;AAElC;AACoB;AACmB;AACpC;AACV;AAC6B;AACzB;AAQ/C;IAsFE,0BAAoB,aAA4B,EAAS,MAAiB,EAAU,OAA4B,EAAU,QAAkB;QAAxH,kBAAa,GAAb,aAAa,CAAe;QAAS,WAAM,GAAN,MAAM,CAAW;QAAU,YAAO,GAAP,OAAO,CAAqB;QAAU,aAAQ,GAAR,QAAQ,CAAU;QArF5I,cAAS,GAAG,0DAAS,CAAC;QAOtB,cAAS,GAAG,KAAK,CAAC;QAClB,YAAO,GAAG,KAAK,CAAC;QAUhB,MAAC,GAAW,CAAC,CAAC;QACd,eAAU,GAAG,EAAE,CAAC;QAChB,kBAAa,GAAG,EAAE,CAAC;QAEnB,gBAAW,GAAG,EAAE,CAAC;QACjB,WAAM,GAAY,KAAK,CAAC;QACxB,WAAM,GAAG,EAAE,CAAC;QAEZ,UAAK,GAAG,IAAI,CAAC;QACb,kBAAa,GAAG,EAAE,CAAC;QAYnB,iBAAY,GAAG,EAAE,CAAC;QAIlB,gBAAW,GAAG,KAAK,CAAC;QACpB,iBAAY,GAAG,KAAK,CAAC;QAErB,eAAU,GAAG,EAAE,CAAC;QAChB,WAAM,GAAG,EAAE,CAAC;QACZ,UAAK,GAAG,EAAE,CAAC;QACX,gBAAW,GAAG,EAAE,CAAC;QACjB,aAAQ,GAAG,IAAI,CAAC;QAChB,iBAAY,GAAG,EAAE,CAAC;QAClB,cAAS,GAAG,EAAE,CAAC;QACf,eAAU,GAAG,EAAE,CAAC;QAChB,kBAAa,GAAG,KAAK,CAAC;QACtB,eAAU,GAAG,EAAE,CAAC;QAEhB,cAAS,GAAG,KAAK,CAAC;QAClB,kBAAa,GAAG,KAAK,CAAC;QACtB,kBAAa,GAAG,KAAK,CAAC;QAQtB,SAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAQlB,gBAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QAIzB,kBAAa,GAAG,KAAK,CAAC;QAEtB,cAAS,GAAG,aAAa,CAAC;QAC1B,iBAAY,GAAG,CAAC,CAAC;QACjB,kBAAa,GAAG,KAAK,CAAC;QACtB,gBAAW,GAAG,IAAI,CAAC;QAEjB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAChE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAClE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACjD,uDAAuD;QAEvD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAChE,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,SAAS,EAAE,CAAC;IAEnB,CAAC;IACD,mCAAQ,GAAR;QAAA,iBA6BC;QA1BC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAExB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,KAAK,UAAU,EAAlD,CAAkD,CAAC,CAAC;QAC9F,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;SAC1C;QAGD,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,qBAAqB;QACrB,UAAU,CAAC;YAGT,KAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC,EAAE,GAAG,CAAC,CAAC;QACR,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,EAAE,CAAC;QAGnB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAG5B,CAAC;IAED,sCAAW,GAAX;QACE,4BAA4B;QAC5B,qFAAqF;QACrF,mEAAmE;QACnE,4CAA4C;QAC5C,wEAAwE;IAC1E,CAAC;IAED,yCAAc,GAAd;QACE,mDAAmD;QAEnD,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC;QACvB,kCAAkC;QAClC,IAAI,IAAI,CAAC,YAAY,GAAG,EAAE,EAAE;YAC1B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,kCAAkC;SACnC;aAAM;YACL,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,iCAAiC;SAClC;IACH,CAAC;IACD,oCAAS,GAAT;QACE,0BAA0B;QAC1B,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,qCAAU,GAAV;QACE,+BAA+B;QAC/B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3B,CAAC;IAGD,qCAAU,GAAV;QAAA,iBAQC;QAPC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAE7D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC;YAC3B,KAAI,CAAC,kBAAkB,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,aAAa,IAAI,IAAI,IAAI,CAAC,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,GAAG,EAA7D,CAA6D,CAAC;QAEvH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,uCAAY,GAAZ;QACE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAC3D,mBAAmB;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YACjD,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YAC5C,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;YACvD,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;YACjD,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;YAGtD,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,KAAK,IAAI,EAAE;gBACtC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;aAC7F;iBAAM;gBACL,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;aACjC;YAGD,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;YACpC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAE9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;YACtC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;YACvC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;YACnC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC1B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;YACpC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAEhC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAE9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YAEjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;SACxC;QAED,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,GAAG,UAAU,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,WAAW,GAAG,IAAI,CAAC,gBAAgB,EAAE,EAAE,EAAE,gBAAgB,EAAE,0DAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QAEzR,kFAAkF;IACpF,CAAC;IACD,gCAAK,GAAL;QACE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC;IAChC,CAAC;IACD,iCAAM,GAAN;QACE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC;QAC/B,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,sCAAW,GAAX;QAAA,iBAKC;QAJC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC9D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,YAAY,GAAG,OAAO,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,yCAAc,GAAd;QAAA,iBAKC;QAJC,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,iBAAO;YACnD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,eAAe,GAAG,OAAO,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sCAAW,GAAX;QAAA,iBAKC;QAJC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,iBAAO;YAChD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,YAAY,GAAG,OAAO,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,kCAAO,GAAP;QAAA,iBAiBC;QAhBC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC1D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;YACxB,IAAI,KAAI,CAAC,eAAe,EAAE;gBACxB,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,mFAAkB,CAAC,UAAU,EAAE;oBAC9E,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,IAAI,KAAI,CAAC,eAAe,CAAC,YAAY,EAArD,CAAqD,CAAC;iBACnG;qBACI,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,mFAAkB,CAAC,IAAI,EAAE;oBAC7E,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,IAAI,KAAI,CAAC,eAAe,CAAC,YAAY,IAAI,GAAG,CAAC,MAAM,IAAI,KAAI,CAAC,eAAe,CAAC,MAAM,EAAlG,CAAkG,CAAC;oBAC/I,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;iBAC3C;qBACI;oBACH,KAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;iBACzB;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qCAAU,GAAV;QAAA,iBAMC;QALC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAE7D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,sCAAW,GAAX;QAAA,iBAOC;QALC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,kBAAQ;YAC/D,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YACzC,KAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;QAE/B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sCAAW,GAAX;QAAA,iBAIC;QAHC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC7D,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qCAAU,GAAV;QAAA,iBA8DC;QA7DC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CACxC,UAAC,IAAI;YACH,OAAO,CACL,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChH,CAAC,IAAI,CAAC,kBAAkB,KAAK,IAAI,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC9H,CAAC,IAAI,CAAC,iBAAiB,KAAK,IAAI,IAAI,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC5H,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC1G,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CACnH,CAAC;QACJ,CAAC,CACF,CAAC;QACF,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC;QAChC,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,EAAE;YAChC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;SAC5B;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE,EAAE;YAC1B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC;YACnC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;YACxC,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE;gBACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;aAC1C;YACD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAC7C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAI,IAAI,CAAC,aAAa,EAAE;gBAEtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aACzC;YACD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC3B;aAAM;YACL,oCAAoC;YACpC,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC;YACpC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE;gBACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;aAC1C;YACD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAC/C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvC,IAAI,IAAI,CAAC,aAAa;oBACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aAC3C;YAED,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;gBACnC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE;oBAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aAC3C;SACF;IACH,CAAC;IACD,sCAAW,GAAX;QACE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,sCAAW,GAAX;QAAA,iBAmGC;QAlGC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QAErB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QAGxB,sBAAsB;QACtB,uBAAuB;QACvB,2BAA2B;QAE3B,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;;YAC9D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC;YAC3B,IAAI,eAAe,GAAG,KAAI,CAAC,WAAW,CAAC;YACvC,4DAA4D;YAC5D,IAAI;YACJ,uBAAuB;YACvB,IAAI;YAEJ,IAAI,KAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;gBACjC,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;aAC3B;iBAEI;gBACH,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC;gBAC/D,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAE3B,6GAA6G;gBAC7G,6GAA6G;gBAC7G,6BAA6B;gBAC7B,IAAI;gBACJ,SAAS;gBACT,6EAA6E;gBAC7E,6BAA6B;gBAC7B,IAAI;gBACJ,kEAAkE;gBAClE,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC;gBACxB,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;gBACtB,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC;gBACxC,IAAI,KAAI,CAAC,WAAW,IAAI,EAAE,EAAE;oBAC1B,KAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;iBACvB;gBAED,OAAO,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,EAAE;oBACvC,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC;oBAC1C,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;iBAC1C;gBACD,IAAI,CAAC,KAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAI,CAAC,QAAQ,CAAC;oBAC7C,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC;gBACzC,IAAI,KAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;oBACnC,IAAI,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE;wBAC7B,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;iBAC3C;aAEF;YACD,4BAA4B;YAC5B,IAAI,CAAC,KAAI,CAAC,WAAW;gBACnB,OAAO;YACT,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC/C,KAAI,CAAC,UAAU,GAAG,EAAE,CAAC;gBAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAEhD,IAAI,KAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;wBAEhE,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;qBAC3C;iBACF;gBACD,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;gBACzD,KAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,KAAI,CAAC,UAAU,CAAC;gBAE1C,gCAAgC;gBAChC,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,KAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,iBAAiB;oBAC1C,UAAU,EAAE,KAAI,CAAC,UAAU;oBAC3B,UAAU,EAAE,KAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,eAAe;oBAE9C,OAAO,EAAE,KAAI,CAAC,UAAU,CAAC,MAAM;iBAChC,CAAC,CAAC;aACJ;;gBACD,sBAAsB;gBAEtB,KAAiB,6DAAI,CAAC,KAAK,6CAAE;oBAAxB,IAAI,IAAI;oBACX,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;iBAChC;;;;;;;;;YAAA,CAAC;QAIJ,CAAC,CAAC,CAAC;QACH,2BAA2B;IAC7B,CAAC;IAGD,+BAAI,GAAJ,UAAK,KAA4B,EAAE,QAAgB;QACjD,oBAAoB;QACpB,IAAI,KAAK,CAAC,iBAAiB,KAAK,KAAK,CAAC,SAAS,EAAE;YAC/C,8EAAe,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;SAEhF;aAAM;YACL,gFAAiB,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAC5C,KAAK,CAAC,SAAS,CAAC,IAAI,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,YAAY,CAAC,CAAC;YACtB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;SAEnD;QACD,kBAAkB;IACpB,CAAC;IAGD,uCAAY,GAAZ,UAAa,QAAa,EAAE,QAAgB;QAA5C,iBA8CC;QA7CC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACvC,IAAM,IAAI,GAAG;YACX,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;YAChC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW;YACpC,kBAAkB,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,kBAAkB;YAClD,SAAS,EAAE,IAAI,CAAC,WAAW;YAC3B,SAAS,EAAE,IAAI,CAAC,WAAW;YAC3B,QAAQ,EAAE,QAAQ;YAClB,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;YAChC,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAc;YAC1C,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM;YAC1B,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY;SACvC,CAAC;QAEF,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,cAAI;YAClD,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE;gBACvC,KAAI,CAAC,aAAa,CAAC,cAAc,CAAC,KAAI,CAAC,SAAS,EAAE,KAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;oBACjF,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;oBACvC,KAAI,CAAC,SAAS,GAAG,OAAO,CAAC;oBACzB,IAAM,IAAI,GAAG;wBACX,SAAS,EAAE,KAAI,CAAC,SAAS;wBACzB,SAAS,EAAE,KAAI,CAAC,SAAS;wBACzB,WAAW,EAAE,KAAI,CAAC,SAAS;wBAC3B,kBAAkB,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,kBAAkB;wBAClD,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW;wBACpC,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAc;wBAC1C,SAAS,EAAE,KAAI,CAAC,WAAW;qBAC5B;oBACD,KAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,cAAI;wBAC1E,KAAI,CAAC,KAAK,GAAG,EAAE,CAAC;wBAChB,KAAI,CAAC,MAAM,GAAG,EAAE,CAAC;wBACjB,KAAI,CAAC,UAAU,GAAG,EAAE,CAAC;wBACrB,KAAI,CAAC,WAAW,EAAE,CAAC;oBACrB,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;aACJ;iBACI;aAEJ;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IACD,+BAAI,GAAJ,UAAK,QAAQ;QACX,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,0BAA0B;QACtD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,oCAAS,GAAT;QAAA,iBAoDC;QAnDC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QAErB,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC,SAAS,CAAC,iBAAO;YACrD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,UAAU,GAAG,OAAO,CAAC;YAC1B,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;YACnD,KAAI,CAAC,aAAa,CAAC,UAAU,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;gBAE7D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;gBACvC,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC;gBAE3B,KAAI,CAAC,aAAa,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;oBAC9D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;oBACvC,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC;oBAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBAC/C,IAAI,UAAU,GAAG,KAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;wBAC/C,IAAI,SAAS,GAAG,EAAE,CAAC;wBACnB,SAAS,CAAC,IAAI,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;wBAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCAChD,IAAI,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE;oCACjC,IAAI,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE;wCAClE,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;wCACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4CACzC,IAAI,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE;gDAChD,IAAM,IAAI,GAAG;oDACX,SAAS,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;oDACxC,WAAW,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW;oDAC5C,kBAAkB,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,kBAAkB;oDAC1D,SAAS,EAAE,KAAI,CAAC,WAAW;oDAC3B,SAAS,EAAE,KAAI,CAAC,WAAW;oDAC3B,QAAQ,EAAE,KAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,eAAe;oDAC5C,cAAc,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,cAAc;oDAClD,MAAM,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM;oDAClC,YAAY,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY;iDAC/C,CAAC;gDACF,KAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,cAAI;gDACpD,CAAC,CAAC,CAAC;gDACH,MAAM;6CACP;yCACF;qCACF;iCACF;6BACF;yBACF;qBACF;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IACD,qCAAU,GAAV,UAAW,GAAW;QAAtB,iBAoFC;QAnFC,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE;YACzD,UAAU,EAAE,yBAAyB;YACrC,IAAI,EAAE,GAAG,GAAG,KAAK,GAAG,KAAK;SAC1B,CAAC,CAAC;QACH,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3D,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3D,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACzD,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACvD,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACrD,SAAS,CAAC,iBAAiB,CAAC,cAAc,GAAG,IAAI,CAAC;QAElD,IAAI,GAAG,KAAK,MAAM,EAAE;YAElB,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC;YACjC,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YACvD,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YAC3D,SAAS,CAAC,iBAAiB,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;YACzE,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YACrD,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YACvD,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YAC3D,SAAS,CAAC,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACjD,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YAE7D,IAAI,IAAI,CAAC,cAAc;gBACrB,SAAS,CAAC,iBAAiB,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;;gBAC9D,SAAS,CAAC,iBAAiB,CAAC,cAAc,GAAG,IAAI,CAAC;SAExD;QACD,IAAI,GAAG,KAAK,KAAK,EAAE;YACjB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YACnB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;gBACnD,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;aACtD;YACD,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB;QAED,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;YACtC,IAAI,KAAI,CAAC,UAAU,KAAK,EAAE,EAAE;gBAC1B,uBAAuB;aACxB;iBACI;gBACH,KAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBAChB,KAAI,CAAC,MAAM,GAAG,EAAE,CAAC;gBACjB,KAAI,CAAC,UAAU,GAAG,EAAE,CAAC;gBACrB,KAAI,CAAC,WAAW,EAAE,CAAC;aACpB;YAED,IAAI,MAAM,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE;gBAChC,IAAI,SAAS,GAAG,EAAE,CAAC;gBACnB,IAAI,GAAG,KAAK,KAAK,EAAE;oBACjB,SAAS,GAAG,oBAAoB,CAAC;iBAClC;qBACI;oBACH,SAAS,GAAG,sBAAsB,CAAC;iBACpC;gBACD,IAAM,YAAY,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE;oBAC5D,UAAU,EAAE,yBAAyB;oBACrC,IAAI,EAAE,SAAS,GAAG,KAAK,GAAG,KAAK;iBAChC,CAAC,CAAC;gBACH,UAAU,CAAC;oBACT,KAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,CAAC,EAAE,GAAG,CAAC,CAAC;gBACR,YAAY,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,iBAAO;oBAC1C,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;oBACtB,KAAI,CAAC,KAAK,GAAG,EAAE,CAAC;oBAChB,KAAI,CAAC,MAAM,GAAG,EAAE,CAAC;oBACjB,KAAI,CAAC,UAAU,GAAG,EAAE,CAAC;oBACrB,IAAI,KAAI,CAAC,UAAU,KAAK,EAAE,EAAE;wBAC1B,KAAI,CAAC,UAAU,EAAE,CAAC;qBACnB;yBACI;wBACH,KAAI,CAAC,WAAW,EAAE,CAAC;qBACpB;gBACH,CAAC,CAAC,CAAC;aACJ;QAEH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,sCAAW,GAAX,UAAY,OAAO;QAEjB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;QACrD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IACD,wCAAa,GAAb,UAAc,GAAW;QAAzB,iBAcC;QAbC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YACjF,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,SAAS,GAAG,OAAO,CAAC;YACzB,IAAM,IAAI,GAAG;gBACX,SAAS,EAAE,KAAI,CAAC,SAAS;gBACzB,SAAS,EAAE,KAAI,CAAC,SAAS;gBACzB,WAAW,EAAE,KAAI,CAAC,SAAS;gBAC3B,cAAc,EAAE,KAAI,CAAC,cAAc;gBACnC,SAAS,EAAE,KAAI,CAAC,WAAW;aAC5B;YACD,KAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,cAAI;YACjF,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,6CAAkB,GAAlB;QAAA,iBAKC;QAJC,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC1E,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,mCAAQ,GAAR,UAAS,OAAO;QAAhB,iBAyCC;QAxCC,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iFAAsB,EAAE;YACzD,UAAU,EAAE,yBAAyB;YACrC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,OAAO;SAC/B,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACxC,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3D,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7D,SAAS,CAAC,iBAAiB,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QACnE,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7D,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACrD,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7D,SAAS,CAAC,iBAAiB,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QAC3E,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7D,SAAS,CAAC,iBAAiB,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QAC3E,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QAC5D,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QAC1D,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QAC5D,SAAS,CAAC,iBAAiB,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAClE,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QAC1D,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QAChE,SAAS,CAAC,iBAAiB,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;QAC5E,SAAS,CAAC,iBAAiB,CAAC,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;QAC3E,SAAS,CAAC,iBAAiB,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QACpD,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACxD,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QAC5D,SAAS,CAAC,iBAAiB,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QACtD,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QAC9D,SAAS,CAAC,iBAAiB,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;QAC9E,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QAC1D,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QAC1D,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QAC1D,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QAC9D,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3D,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;YACtC,KAAI,CAAC,UAAU,EAAE,CAAC;YAClB,KAAI,CAAC,aAAa,CAAC,cAAc,CAAC,KAAI,CAAC,SAAS,EAAE,KAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;gBACjF,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;gBACvC,KAAI,CAAC,SAAS,GAAG,OAAO,CAAC;YAC3B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IACD,0CAAe,GAAf,UAAgB,SAAS;QACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjD,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,SAAS,CAAC,QAAQ,EAAE,EAAE;gBACtE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;aAC9C;SACF;IACH,CAAC;IAED,qCAAU,GAAV,UAAW,OAAO;QAAlB,iBAmEC;QAlEC,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE;YACzD,UAAU,EAAE,yBAAyB;YACrC,IAAI,EAAE,gDAAgD,GAAG,OAAO,CAAC,WAAW,GAAG,MAAM,GAAG,IAAI;SAC7F,CAAC,CAAC;QACH,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;YACtC,IAAI,MAAM,EAAE;gBACV,KAAI,CAAC,aAAa,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,EAAE,KAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;oBACpF,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;oBACvC,KAAI,CAAC,SAAS,GAAG,OAAO,CAAC;oBACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBAC9C,IAAI,KAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,GAAG,IAAI,KAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,GAAG,EAAE;4BAChG,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;yBAC5C;qBACF;oBACD,IAAM,IAAI,GAAG;wBACX,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,WAAW,EAAE,KAAI,CAAC,aAAa;wBAC/B,WAAW,EAAE,OAAO,CAAC,WAAW;wBAChC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;wBAC9C,SAAS,EAAE,KAAI,CAAC,WAAW;wBAC3B,SAAS,EAAE,KAAI,CAAC,WAAW;wBAC3B,QAAQ,EAAE,GAAG;wBACb,cAAc,EAAE,OAAO,CAAC,cAAc;qBACvC;oBAED,KAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,cAAI;wBACrE,KAAI,CAAC,KAAK,GAAG,EAAE,CAAC;wBAChB,KAAI,CAAC,MAAM,GAAG,EAAE,CAAC;wBACjB,KAAI,CAAC,UAAU,GAAG,EAAE,CAAC;wBACrB,KAAI,CAAC,WAAW,EAAE,CAAC;wBACnB,IAAI,IAAI,CAAC,EAAE,EAAE;4BACX,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;4BACtB,KAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;yBACtC;wBACD,KAAI,CAAC,KAAK,GAAG,EAAE,CAAC;wBAChB,KAAI,CAAC,MAAM,GAAG,EAAE,CAAC;wBACjB,KAAI,CAAC,UAAU,GAAG,EAAE,CAAC;wBACrB,KAAI,CAAC,WAAW,EAAE,CAAC;wBAEnB,IAAM,KAAK,GAAG;4BACZ,SAAS,EAAE,OAAO,CAAC,SAAS;4BAC5B,WAAW,EAAE,OAAO,CAAC,WAAW;4BAChC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;4BAC9C,SAAS,EAAE,KAAI,CAAC,WAAW;4BAC3B,SAAS,EAAE,KAAI,CAAC,WAAW;4BAC3B,QAAQ,EAAE,GAAG;4BACb,SAAS,EAAE,KAAI,CAAC,SAAS;4BACzB,cAAc,EAAE,OAAO,CAAC,cAAc;4BACtC,MAAM,EAAE,OAAO,CAAC,MAAM;4BACtB,YAAY,EAAE,OAAO,CAAC,YAAY;yBACnC,CAAC;wBAEF,KAAI,CAAC,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,cAAI;4BACnD,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE;gCACvC,KAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gCAChB,KAAI,CAAC,MAAM,GAAG,EAAE,CAAC;gCACjB,KAAI,CAAC,UAAU,GAAG,EAAE,CAAC;gCACrB,KAAI,CAAC,WAAW,EAAE,CAAC;6BACpB;iCAAM;6BACN;wBACH,CAAC,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mCAAQ,GAAR;QAEE,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;YAC9C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;SACvC;IACH,CAAC;IACD,wCAAa,GAAb,UAAc,OAAO;QAArB,iBAsBC;QArBC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE;YACzD,UAAU,EAAE,yBAAyB;YACrC,IAAI,EAAE,2CAA2C,GAAG,OAAO,CAAC,WAAW,GAAG,MAAM,GAAG,IAAI;SACxF,CAAC,CAAC;QAEH,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;YACtC,IAAI,MAAM,EAAE;gBACV,KAAI,CAAC,aAAa,CAAC,cAAc,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,cAAI;oBAC9D,IAAI,IAAI,CAAC,EAAE,EAAE;wBACX,KAAI,CAAC,QAAQ,EAAE,CAAC;wBAChB,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;wBACtB,KAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;qBACzC;oBACD,KAAI,CAAC,KAAK,GAAG,EAAE,CAAC;oBAChB,KAAI,CAAC,MAAM,GAAG,EAAE,CAAC;oBACjB,KAAI,CAAC,UAAU,GAAG,EAAE,CAAC;oBACrB,KAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,oCAAS,GAAT,UAAU,OAAO;QAAjB,iBA6BC;QA5BC,IAAI,IAAI,CAAC,WAAW,KAAK,CAAC,CAAC,EAAE;YAC3B,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC;SACtC;aACI;YACH,IAAI,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC,SAAS,EAAE;gBACzC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;aACtB;iBACI;gBACH,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC;aACtC;SACF;QACD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YACjF,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,SAAS,GAAG,OAAO,CAAC;YACzB,IAAI,KAAI,CAAC,eAAe,EAAE;gBACxB,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,mFAAkB,CAAC,UAAU,EAAE;oBAC9E,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,SAAS,CAAC,MAAM,CAAC,iBAAO,IAAI,YAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAO,IAAI,cAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAhC,CAAgC,CAAC,EAA/D,CAA+D,CAAC,CAAC;iBACpH;qBACI,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,mFAAkB,CAAC,IAAI,EAAE;oBAC7E,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,SAAS,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,MAAM,IAAI,KAAI,CAAC,eAAe,CAAC,MAAM,EAAzC,CAAyC,CAAC;iBACzF;qBACI;oBACH,IAAI,IAAI,GAAG,KAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,KAAI,CAAC,SAAS,EAA9B,CAA8B,CAAC,CAAC;oBACtE,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;iBACvB;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;gBAtzBkC,6DAAa;gBAAiB,kEAAS;gBAAmB,kEAAmB;gBAAoB,wDAAQ;;IALpG;QAAvC,+DAAS,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;oDAAoB;IAjFhD,gBAAgB;QAN5B,+DAAS,CAAC;YACT,QAAQ,EAAE,aAAa;YACvB,uJAAuC;YACvC,0CAA0C;YAC1C,SAAS,EAAE,CAAC,6DAAa,EAAE,wDAAQ,CAAC;SACrC,CAAC;OACW,gBAAgB,CA64B5B;IAAD,uBAAC;CAAA;AA74B4B;AAo5B7B;IAuBE,gCACS,SAA+C,EACtB,IAAS,EAAS,aAA4B,EAAU,QAAkB;QADnG,cAAS,GAAT,SAAS,CAAsC;QACtB,SAAI,GAAJ,IAAI,CAAK;QAAS,kBAAa,GAAb,aAAa,CAAe;QAAU,aAAQ,GAAR,QAAQ,CAAU;QAxB5G,SAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,cAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,cAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,YAAO,GAAG,IAAI,IAAI,EAAE,CAAC;QAKrB,cAAS,GAAG,KAAK,CAAC;QAOlB,mBAAc,GAAG,IAAI,IAAI,EAAE,CAAC;QAC5B,gBAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QAKzB,gBAAW,GAAG,KAAK,CAAC;QAIlB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE;YAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IACD,yCAAQ,GAAR;IACA,CAAC;IACD,sCAAK,GAAL;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IACD,oCAAG,GAAH,UAAI,IAAY,EAAE,KAAoC;QACpD,IAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,YAAY,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,UAAU,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC;QAC3K,IAAI,CAAC,cAAc,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9C,CAAC;IAED,4CAAW,GAAX;QAAA,iBAwBC;QAvBC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAExB,UAAU,CAAC;YACT,KAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAC3B,CAAC,EAAE,IAAI,CAAC,CAAC;QACT,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAM,SAAS,GAAG,CAAC,CAAC;QACpB,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAC/D,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;YACzJ,IAAI,CAAC,QAAQ,GAAG,kCAAkC,CAAC;YACnD,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE;aACxB;YACD,KAAK,EAAE,CAAC;SACT;QACD,IAAI,KAAK,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YACnB,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE;gBACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACxB;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACxB;SACF;aAAM;SACN;IACH,CAAC;IACD,2CAAU,GAAV;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IACD,0CAAS,GAAT;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IACD,uCAAM,GAAN,UAAO,GAAW;QAAlB,iBAyCC;QAxCC,IAAM,IAAI,GAAG;YACX,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,SAAS,EAAE,IAAI,CAAC,WAAW;YAC3B,SAAS,EAAE,IAAI,CAAC,WAAW;YAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC;QAEF,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAClG,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC;QAC1B,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;YAChC,IAAI,IAAI,CAAC,cAAc,GAAG,KAAK,EAAE;gBAC/B,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC;gBAC/B,OAAO;aACR;SACF;QACD,IAAI,GAAG,KAAK,KAAK,EAAE;YACjB,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,cAAI;gBAClD,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE;oBACvC,KAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;oBACxB,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;iBAC5B;qBAAM;oBACL,KAAI,CAAC,QAAQ,GAAG,aAAa,CAAC;iBAC/B;YACH,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,cAAI;gBAClD,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE;oBACvC,KAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;oBACxB,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;iBAC5B;qBAAM;oBACL,KAAI,CAAC,QAAQ,GAAG,sBAAsB,CAAC;iBACxC;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IACD,8CAAa,GAAb,UAAc,GAAW;QAAzB,iBAoBC;QAnBC,IAAI,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,eAAe,KAAK,KAAI,CAAC,QAAQ,EAAnC,CAAmC,CAAC,CAAC;QACjF,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAEtC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YACjF,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,SAAS,GAAG,OAAO,CAAC;YACzB,IAAM,IAAI,GAAG;gBACX,SAAS,EAAE,KAAI,CAAC,SAAS;gBACzB,SAAS,EAAE,KAAI,CAAC,SAAS;gBACzB,WAAW,EAAE,KAAI,CAAC,SAAS;gBAC3B,WAAW,EAAE,KAAI,CAAC,WAAW;gBAC7B,kBAAkB,EAAE,KAAI,CAAC,kBAAkB;gBAC3C,cAAc,EAAE,KAAI,CAAC,cAAc;gBACnC,SAAS,EAAE,KAAI,CAAC,WAAW;aAC5B;YACD,KAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,cAAI;gBAC/E,KAAI,CAAC,SAAS,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IACD,0CAAS,GAAT,UAAU,EAAU;QAApB,iBAKC;QAJC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YACrE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,SAAS,GAAG,OAAO,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,6CAAY,GAAZ,UAAa,KAAK;QAChB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC;IAC9B,CAAC;;gBA5HmB,qEAAY;gDAC7B,oDAAM,SAAC,wEAAe;gBAA0C,6DAAa;gBAAoB,wDAAQ;;IAzBjG,sBAAsB;QANlC,+DAAS,CAAC;YACT,QAAQ,EAAE,YAAY;YACtB,iIAA0B;YAC1B,6BAA6B;YAC7B,SAAS,EAAE,CAAC,6DAAa,EAAE,wDAAQ,CAAC;SACrC,CAAC;QA0BG,6GAAM,CAAC,wEAAe,CAAC;OAzBf,sBAAsB,CAqJlC;IAAD,6BAAC;CAAA;AArJkC;;;;;;;;;;;;;;;;;;;;;ACr6Be;AACA;AACG;AACN;AAO/C;IAyBE,oCAAmB,aAA4B,EAAU,OAA4B;QAAlE,kBAAa,GAAb,aAAa,CAAe;QAAU,YAAO,GAAP,OAAO,CAAqB;QArBrF,WAAM,GAAY,KAAK,CAAC;QACxB,WAAM,GAAG,EAAE,CAAC;QAEZ,UAAK,GAAG,IAAI,CAAC;QACb,MAAC,GAAW,CAAC,CAAC;QACd,eAAU,GAAG,EAAE,CAAC;QAChB,kBAAa,GAAG,EAAE,CAAC;QAEnB,gBAAW,GAAG,EAAE,CAAC;QACjB,kBAAa,GAAG,KAAK,CAAC;QACtB,eAAU,GAAG,EAAE,CAAC;QAEhB,cAAS,GAAG,KAAK,CAAC;QAClB,kBAAa,GAAG,KAAK,CAAC;QAEtB,eAAU,GAAG,IAAI,IAAI,EAAE,CAAC;QAOtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACtD,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,GAAG,EAAE;SAEvC;aACI;YACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;SAC/C;IACH,CAAC;IAED,6CAAQ,GAAR;QACE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAC7D,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7C,CAAC;IAED,wDAAmB,GAAnB;QAAA,iBA2BC;QA1BC,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YACtE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC;YACnC,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;YACvE,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC;YAChD,IAAI,KAAI,CAAC,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE;gBACzC,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;aAC3B;iBACI;gBACH,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAE3B,OAAO,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,EAAE;oBACvC,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC;oBAC1C,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;iBAC1C;gBACD,IAAI,CAAC,KAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAI,CAAC,QAAQ,CAAC;oBAAE,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC;gBACxF,IAAI,KAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;oBACjC,IAAI,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE;wBAC7B,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;iBAC3C;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,+CAAU,GAAV;QAAA,iBAwDC;QAvDC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,UAAU,CAAC;QAC3C,IAAI,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CACvD,UAAC,IAAI;YACH,OAAO,CACL,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChH,CAAC,IAAI,CAAC,kBAAkB,KAAK,IAAI,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC9H,CAAC,IAAI,CAAC,iBAAiB,KAAK,IAAI,IAAI,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC5H,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC1G,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CACnH,CAAC;QACJ,CAAC,CAEF,CAAC;QACF,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAC/C,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,IAAI,CAAC,EAAE;YACxC,sBAAsB;YACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE,EAAE;YAC1B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,UAAU,CAAC;YAC3C,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC;YAChD,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE;gBACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;aAC1C;YACD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAC7C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAI,IAAI,CAAC,aAAa,EAAE;gBAEtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aACzC;YACD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC;YAC3C,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE;gBACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;aAC1C;YACD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAC/C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvC,IAAI,IAAI,CAAC,aAAa;oBACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aAC3C;YAED,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;gBACnC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE;oBAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aAC3C;SACF;IACH,CAAC;IAGD,yCAAI,GAAJ,UAAK,QAAQ;QACX,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,0BAA0B;QACtD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,iDAAY,GAAZ;QACE,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAGnE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxD,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YACvD,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YAE7D,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;YACxE,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;YAClE,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;YAGvE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;YAEvC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;YACtC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAEhC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;YAEnC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC1B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;YACpC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAE/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;YAEvC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;YACpC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;SAC/B;QACD,IAAI,IAAS,CAAC;QACd,IAAI,GAAG,EAAE,CAAC;QACV;;;;;;;;SAQC;QACD,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,GAAG,sBAAsB,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,qBAAqB,EAAE,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,4BAA4B,EAAE,0DAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IACvT,CAAC;;gBArLiC,6DAAa;gBAAmB,kEAAmB;;IAzB1E,0BAA0B;QALtC,+DAAS,CAAC;YACT,QAAQ,EAAE,wBAAwB;YAClC,wLAAkD;SAEnD,CAAC;OACW,0BAA0B,CAgNtC;IAAD,iCAAC;CAAA;AAhNsC;;;;;;;;;;;;ACVvC,gCAAgC,uBAAuB,GAAG,aAAa,wBAAwB,GAAG,oBAAoB,kBAAkB,sBAAsB,GAAG,YAAY,oBAAoB,GAAG,mBAAmB,2CAA2C,GAAG,WAAW,gBAAgB,uBAAuB,8BAA8B,GAAG,YAAY,uBAAuB,uBAAuB,GAAG,QAAQ,iBAAiB,8BAA8B,iBAAiB,oBAAoB,GAAG,QAAQ,iBAAiB,oBAAoB,GAAG,mBAAmB,8BAA8B,qBAAqB,0BAA0B,GAAG,iBAAiB,wBAAwB,GAAG,oBAAoB,qBAAqB,GAAG,mBAAmB,wBAAwB,GAAG,iBAAiB,uBAAuB,eAAe,GAAG,kCAAkC,oBAAoB,GAAG,eAAe,gBAAgB,GAAG,qBAAqB,+BAA+B,GAAG,wBAAwB,uCAAuC,GAAG,6CAA6C,++H;;;;;;;;;;;;;;;;;;;;;;ACAthC;AACJ;AACO;AACK;AAEG;AACK;AAOlE;IAkBE,0BAAoB,OAA4B,EACtC,cAA8B,EAC/B,MAAiB;QAFN,YAAO,GAAP,OAAO,CAAqB;QACtC,mBAAc,GAAd,cAAc,CAAgB;QAC/B,WAAM,GAAN,MAAM,CAAW;QAnB1B,aAAQ,GAAW,EAAE,CAAC;QAStB,sBAAiB,GAAY,KAAK;QAElC,yBAAoB,GAAa,CAAC,8DAAe,CAAC,SAAS,EAAE,8DAAe,CAAC,OAAO,CAAC,CAAC;QASpF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAChE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAClE,CAAC;IAED,mCAAQ,GAAR;QAAA,iBAsBC;QArBC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,KAAK,YAAY,EAApD,CAAoD,CAAC,CAAC;QAChG,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;SAC1C;QAED,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;QAC9C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,kBAAkB,EAAE,CAAC;QAEhE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,SAAS,IAAI,CAAC,EAAlB,CAAkB,CAAC,CAAC,SAAS,CAAC;QACxF,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,IAAI,YAAY,EAAnB,CAAmB,CAAC,CAAC;QACnF,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,cAAI;YAC5D,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;gBACxB,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,EAAvC,CAAuC,CAAC,CAAC,OAAO,CAAC;gBAChG,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,EAA5C,CAA4C,CAAC,CAAC,SAAS,CAAC;gBAClH,KAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,EAAnC,CAAmC,CAAC,CAAC;gBACnG,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,KAAI,CAAC,eAAe,EAAE,KAAI,CAAC,SAAS,EAAE,KAAI,CAAC,WAAW,EAAE,KAAI,CAAC,iBAAiB,EAAE,KAAI,CAAC,gBAAgB,CAAC,CAAC;aAChK;YACD,KAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC;QACxE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,uCAAY,GAAZ;QAAA,iBAYC;QAXC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACzB,IAAI,CAAC,QAAQ,GAAG,kCAAkC,CAAC;YACnD,OAAO;SACR;QACD,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC/J,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,cAAI;YAC/D,IAAI,IAAI,CAAC,IAAI,EAAE;gBACb,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qEAAsB,CAAC,CAAC;aAC1C;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sCAAW,GAAX,UAAY,eAAe;QACzB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC5J,CAAC;IAED,wCAAa,GAAb,UAAc,iBAAiB;QAC7B,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC7C,CAAC;IAED,yCAAc,GAAd,UAAe,eAAe;QAC5B,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;IAC1C,CAAC;;gBA1D4B,kEAAmB;gBACtB,wEAAc;gBACvB,2DAAS;;IApBf,gBAAgB;QAL5B,+DAAS,CAAC;YACT,QAAQ,EAAE,aAAa;YACvB,uJAAuC;;SAExC,CAAC;OACW,gBAAgB,CA6E5B;IAAD,uBAAC;CAAA;AA7E4B;;;;;;;;;;;;;ACG7B;AAAA;AAAA,IAAY,eAIX;AAJD,WAAY,eAAe;IACvB,gEAA6C;IAC7C,2CAAwB;IACxB,uCAAoB;AACxB,CAAC,EAJW,eAAe,KAAf,eAAe,QAI1B;;;;;;;;;;;;ACpBD,yBAAyB,gBAAgB,uBAAuB,GAAG,YAAY,uBAAuB,uBAAuB,GAAG,QAAQ,iBAAiB,8BAA8B,iBAAiB,oBAAoB,GAAG,QAAQ,iBAAiB,oBAAoB,GAAG,WAAW,8BAA8B,GAAG,mBAAmB,8BAA8B,qBAAqB,0BAA0B,GAAG,iBAAiB,wBAAwB,GAAG,oBAAoB,qBAAqB,GAAG,mBAAmB,wBAAwB,GAAG,SAAS,oBAAoB,GAAG,iBAAiB,eAAe,GAAG,iBAAiB,uBAAuB,eAAe,GAAG,kCAAkC,oBAAoB,GAAG,6CAA6C,2/F;;;;;;;;;;;;;;;;;;;ACCrtB;AACA;AACG;AAQrD;IA2BE,uCAAoB,aAA4B,EAAU,OAA4B;QAAlE,kBAAa,GAAb,aAAa,CAAe;QAAU,YAAO,GAAP,OAAO,CAAqB;QArBtF,cAAS,GAAG,EAAE,CAAC;QACf,UAAK,GAAG,EAAE,CAAC;QACX,WAAM,GAAY,KAAK,CAAC;QACxB,WAAM,GAAG,EAAE,CAAC;QAEZ,UAAK,GAAG,IAAI,CAAC;QACb,MAAC,GAAW,CAAC,CAAC;QACd,eAAU,GAAG,EAAE,CAAC;QAChB,kBAAa,GAAG,EAAE,CAAC;QAEnB,gBAAW,GAAG,EAAE,CAAC;QACjB,kBAAa,GAAG,KAAK,CAAC;QAEtB,eAAU,GAAG,EAAE,CAAC;QAEhB,cAAS,GAAG,KAAK,CAAC;QAClB,kBAAa,GAAG,KAAK,CAAC;QAEtB,eAAU,GAAG,IAAI,IAAI,EAAE,CAAC;QAKtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAEpE,CAAC;IAED,gDAAQ,GAAR;QACE,sBAAsB;QACtB,uBAAuB;QACvB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAE3B,CAAC;IAED,yDAAiB,GAAjB;QAAA,iBA6BC;QA5BC,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YACpE,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACjD,IAAI,KAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;gBAClC,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;aAC5B;iBACI;gBACH,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,YAAY,CAAC,CAAC,CAAC;gBAChE,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC;gBACzC,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,OAAO,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,EAAE;oBACvC,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC;oBAC1C,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;iBAC1C;gBACD,IAAI,CAAC,KAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAI,CAAC,QAAQ,CAAC;oBAC7C,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC;gBACzC,IAAI,KAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;oBACnC,IAAI,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE;wBAC7B,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;iBAC3C;aACF;QACH,CAAC,CAAC,CAAC;IAGL,CAAC;IAED,4CAAI,GAAJ,UAAK,QAAQ;QACX,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,0BAA0B;QACtD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,kDAAU,GAAV;QAAA,iBAuBC;QAtBC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC;QAEpC,IAAI,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAC7C,UAAC,IAAI;YACH,OAAO,CACL,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzG,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAC5G,CAAC;QACJ,CAAC,CAEF,CAAC;QACF,IAAI,CAAC,YAAY,GAAG,gBAAgB,CAAC;QACrC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,EAAE;YACjC,sBAAsB;YACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE,EAAE;YAC1B,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;IACH,CAAC;;gBA3EkC,6DAAa;gBAAmB,kEAAmB;;IA3B3E,6BAA6B;QALzC,+DAAS,CAAC;YACT,QAAQ,EAAE,4BAA4B;YACtC,oMAAsD;;SAEvD,CAAC;OACW,6BAA6B,CAyGzC;IAAD,oCAAC;CAAA;AAzGyC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACX+B;AACvB;AAC2B;AAGpD;AACA;AAC4B;AACb;AAEmD;AACxB;AACK;AACzB;AAS/C;IA0DE,iCAAoB,aAA4B,EACtC,iBAAoC,EAAU,MAAiB,EAAU,OAA4B;QAD3F,kBAAa,GAAb,aAAa,CAAe;QACtC,sBAAiB,GAAjB,iBAAiB,CAAmB;QAAU,WAAM,GAAN,MAAM,CAAW;QAAU,YAAO,GAAP,OAAO,CAAqB;QAzD/G,mBAAc,GAAsB,EAAE,CAAC;QAEvC,mBAAc,GAAa,CAAC,sGAAiB,CAAC,UAAU,EAAE,sGAAiB,CAAC,IAAI,CAAC,CAAC;QAElF,eAAU,GAAY,KAAK,CAAC;QAK5B,cAAS,GAAG,EAAE,CAAC;QACf,UAAK,GAAG,EAAE,CAAC;QACX,SAAI,GAAG,EAAE,CAAC;QACV,gBAAW,GAAG,EAAE,CAAC;QACjB,iBAAY,GAAG,EAAE,CAAC;QAClB,eAAU,GAAG,EAAE,CAAC;QAChB,eAAU,GAAG,CAAC,CAAC;QACf,cAAS,GAAG,IAAI,CAAC;QAEjB,kBAAa,GAAG,KAAK,CAAC;QAItB,eAAU,GAAG,EAAE,CAAC;QAEhB,eAAU,GAAG,EAAE,CAAC;QAGhB,iBAAY,GAAG,IAAI,CAAC;QACpB,MAAC,GAAW,CAAC,CAAC;QACd,eAAU,GAAG,CAAC,CAAC;QACf,kBAAa,GAAG,EAAE,CAAC;QAEnB,gBAAW,GAAG,CAAC,CAAC;QAChB,mBAAc,GAAG,KAAK,CAAC;QACvB,eAAU,GAAG,EAAE,CAAC;QAEhB,cAAS,GAAG,KAAK,CAAC;QAClB,eAAU,GAAG,EAAE,CAAC;QAOhB,aAAQ,GAAG,EAAE,CAAC;QAGd,eAAU,GAAG,IAAI,IAAI,EAAE,CAAC;QAGxB,WAAM,GAAY,KAAK,CAAC;QACxB,WAAM,GAAG,EAAE,CAAC;QAEZ,UAAK,GAAG,IAAI,CAAC;QAEb,cAAS,GAAW,2DAAS,CAAC;QAG5B,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACtD,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAC9D,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAEhE,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,GAAG,EAAE;SAEvC;aACI;YACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;SAC/C;IAEH,CAAC;IAID,0CAAQ,GAAR;QAGE,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE;YACvC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC;SACrC;aACI;YACH,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;SACjB;QAED,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,oFAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,oFAAkB,CAAC,IAAI,CAAC,EAAE;gBAC1J,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC;aAC/D;iBACI;gBACH,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;oBAE1B,IAAI,CAAC,gBAAgB,CAAC,sGAAiB,CAAC,UAAU,CAAC;iBACpD;;oBAEC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;aAEjC;SAEF;aACI;YACH,IAAI,CAAC,IAAI,CAAC,gBAAgB;gBAExB,IAAI,CAAC,gBAAgB,CAAC,sGAAiB,CAAC,UAAU,CAAC;;gBAGnD,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;SACjC;QAED,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAE7C,CAAC;IAED,4CAAU,GAAV,UAAW,KAAK;QAAhB,iBASC;QARC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1B,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,KAAI,CAAC,MAAM,EAAxB,CAAwB,CAAC;QAC/D,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;SACnC;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IACD,kDAAgB,GAAhB,UAAiB,aAAqB;QACpC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,kBAAkB,GAAG,aAAa,CAAC;QACxC,IAAI,CAAC,UAAU,GAAG,aAAa,KAAK,sGAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAEhF,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAEzD,CAAC;IAED,kDAAgB,GAAhB,UAAiB,oBAAoB;QACnC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,sBAAsB,CAAC,oBAAoB,CAAC,CAAC;QAClD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,KAAK,oBAAoB,EAAzC,CAAyC,CAAC,CAAC,cAAc,CAAC;IAClH,CAAC;IAEO,gDAAc,GAAtB;QAAA,iBAgBC;QAfC,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,cAAI;YAC1E,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC;YAChC,IAAI,KAAI,CAAC,eAAe,EAAE;gBAExB,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,oFAAkB,CAAC,UAAU,EAAE;oBAC9E,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,KAAK,KAAI,CAAC,eAAe,CAAC,YAAY,EAAtD,CAAsD,CAAC,CAAC;iBACjH;qBACI,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,oFAAkB,CAAC,IAAI,EAAE;oBAC7E,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,KAAK,KAAI,CAAC,eAAe,CAAC,YAAY,EAAtD,CAAsD,CAAC,CAAC;oBAChH,KAAI,CAAC,sBAAsB,CAAC,KAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;iBAChE;aAEF;YACD,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,KAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;QACzL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,wDAAsB,GAA9B,UAA+B,oBAAoB;QAAnD,iBAuDC;QAtDC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,cAAI;YAClE,IAAI,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YAChD,KAAI,CAAC,QAAQ,GAAG,eAAe,CAAC;YAEhC,IAAI,KAAI,CAAC,eAAe,IAAI,eAAe,EAAE;gBAC3C,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,oFAAkB,CAAC,UAAU,EAAE;oBAC9E,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,KAAK,KAAI,CAAC,eAAe,CAAC,YAAY,EAAtD,CAAsD,CAAC,CAAC;iBACrG;qBACI,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,oFAAkB,CAAC,IAAI,EAAE;oBAC7E,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,KAAK,KAAI,CAAC,eAAe,CAAC,YAAY,IAAI,GAAG,CAAC,MAAM,IAAI,KAAI,CAAC,eAAe,CAAC,MAAM,EAAnG,CAAmG,CAAC,CAAC;oBACjJ,KAAI,CAAC,oBAAoB,GAAG,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;oBAC1D,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;iBACvC;qBACI;oBACH,IAAI,CAAC,oBAAoB,EAAE;wBACzB,KAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;wBAC9B,KAAI,CAAC,QAAQ,GAAG,eAAe,CAAC;qBACjC;yBACI,IAAI,oBAAoB,IAAI,CAAC,EAAE;wBAClC,KAAI,CAAC,QAAQ,GAAG,eAAe,CAAC;qBACjC;yBACI;wBACH,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,KAAK,oBAAoB,EAAzC,CAAyC,CAAC,CAAC;qBACxF;iBAEF;aACF;iBACI;gBACH,IAAI,oBAAoB,IAAI,CAAC;oBAC3B,KAAI,CAAC,QAAQ,GAAG,eAAe,CAAC;;oBAEhC,KAAI,CAAC,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,KAAK,oBAAoB,EAAzC,CAAyC,CAAC,CAAC;aAC5F;YAED,IAAI,KAAI,CAAC,gBAAgB,IAAI,SAAS,EAAE;gBACtC,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,gBAAgB,CAAC;aACrC;iBACI,IAAI,KAAI,CAAC,eAAe,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,KAAK,oFAAkB,CAAC,IAAI,EAAE;gBACtG,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,MAAM,CAAC;aAC3B;iBACI;gBACH,KAAI,CAAC,MAAM,GAAG,CAAC,CAAC;aACjB;YAED,KAAI,CAAC,aAAa,CAAC,UAAU,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;gBAC7D,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;gBAChD,IAAI,KAAI,CAAC,MAAM,IAAI,CAAC,EAAE;oBACpB,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,iBAAO,IAAI,YAAI,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAO,IAAI,cAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,aAAa,IAAI,CAAC,EAA9D,CAA8D,CAAC,EAAhG,CAAgG,CAAC,CAAC;oBAClJ,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;iBACzE;gBACD,KAAI,CAAC,eAAe,EAAE,CAAC;YACzB,CAAC,CAAC,CAAC;QAEL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sCAAI,GAAJ,UAAK,QAAQ;QACX,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,sBAAsB;QAClD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IAGD,iDAAe,GAAf;QAAA,iBAyMC;QAxMC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QAErB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,qBAAqB;QACrB,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC7D,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YAEhD,IAAI,KAAI,CAAC,MAAM,IAAI,CAAC;gBAClB,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,iBAAO,IAAI,YAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAO,IAAI,cAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAhC,CAAgC,CAAC,IAAI,OAAO,CAAC,aAAa,IAAI,CAAC,EAA7F,CAA6F,CAAC,CAAC;iBAClJ;gBACH,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,iBAAO,IAAI,cAAO,CAAC,MAAM,IAAI,KAAI,CAAC,MAAM,IAAI,OAAO,CAAC,aAAa,IAAI,CAAC,EAA3D,CAA2D,CAAC,CAAC;aACpH;YAED,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC;YAE1C,KAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,GAAG,EAAE,KAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,qBAAW;gBAC9E,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;gBACxD,IAAI,KAAI,CAAC,UAAU,EAAE;4CACV,CAAC;wBACR,IAAI,IAAI,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,aAAa,KAAK,CAAC,IAAI,CAAC,CAAC,kBAAkB,KAAK,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,kBAAkB,EAA5F,CAA4F,CAAC,CAAC;wBAEtI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;4BACnB,mCAAmC;4BAEnC,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;4BAC1B,KAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC;4BACzE,KAAI,CAAC,UAAU,CAAC,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;4BAC5E,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;gCACvC,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;6BAChC;4BACD,4BAA4B;4BAC5B,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;4BAExB,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gCACd,IAAI,EAAE,IAAI;gCACV,KAAK,EAAE,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,oBAAoB;gCACnD,KAAK,EAAE,IAAI,CAAC,MAAM;6BACnB,CAAC,CAAC;4BAEH,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,IAAI;gCAElC,OAAO,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;4BACjC,CAAC,CAAC,CAAC;yBACJ;;oBAzBH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE;gCAA3C,CAAC;qBA4BT;iBACF;qBAAM;oBACL,KAAI,CAAC,UAAU,GAAG,mBAAmB,CAAC;oBACtC,IAAI,CAAC,KAAI,CAAC,UAAU,CAAC,MAAM,EAAE;wBAC3B,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;wBACvB,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;qBAC5B;yBACI;wBACH,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;wBACtB,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;qBAC3B;oBACD,OAAO;iBACR;gBACD,IAAI,KAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;oBAChC,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;oBACvB,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;oBAC3B,OAAO;iBACR;qBACI;oBACH,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;oBACtB,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;iBAE3B;gBACD,IAAI,SAAS,GAAG,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC;gBAClD,IAAI,MAAM,GAAG,CAAC,CAAC;gBACf,KAAI,CAAC,UAAU,GAAG,EAAE,CAAC;gBAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAEzC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAE7B,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACrC,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAClC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC;iBAC7B;gBAED,IAAI,GAAG,GAAG;oBACR,mBAAmB,EAAE,MAAM;oBAC3B,uBAAuB,EAAE,MAAM;iBAChC,CAAC;gBAEF,IAAI,KAAK,GAAG,2CAAW,CAAC;oBACtB,MAAM,EAAE,gBAAgB;oBACxB,IAAI,EAAE;wBACJ,IAAI,EAAE,GAAG;wBACT,IAAI,EAAE;4BAEJ,uBAAuB,EAAE,IAAI;yBAC9B;wBACD,IAAI,EAAE,KAAK;wBACX,KAAK,EAAE;4BAEL,uBAAuB,EAAE,MAAM;yBAEhC,EAAE,MAAM,EAAE;4BACT,CAAC,oBAAoB,EAAE,uBAAuB,CAAC;yBAChD;qBAGF;oBAED,KAAK,EAAE;wBACL,IAAI,EAAE,wBAAwB;wBAC9B,OAAO,EAAE;4BACP,GAAG,EAAE,EAAE;4BACP,KAAK,EAAE,EAAE;4BACT,MAAM,EAAE,EAAE;4BACV,IAAI,EAAE,EAAE;yBACT;qBACF;oBACD,KAAK,EAAE;wBACL,OAAO,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;qBAChC;oBACD,MAAM,EAAE;wBACN,IAAI,EAAE,IAAI;wBACV,QAAQ,EAAE,OAAO;qBAElB;oBAED,IAAI,EAAE;wBACJ,CAAC,EAAE;4BACD,IAAI,EAAE,UAAU;4BAChB,qCAAqC;4BACrC,WAAW;4BACX,oCAAoC;4BACpC,6BAA6B;4BAC7B,KAAK;4BACL,UAAU,EAAE,KAAI,CAAC,UAAU;4BAC3B,IAAI,EAAE;gCACJ,MAAM,EAAE,EAAE;gCACV,SAAS,EAAE,KAAK;6BAEjB;4BAGD,MAAM,EAAE,GAAG;yBAEZ;wBACD,CAAC,EAAE;4BACD,UAAU;4BACV,KAAK,EAAE,oBAAoB;4BAC3B,IAAI,EAAE;gCACJ,MAAM,EAAE,yCAAS,CAAC,GAAG,CAAC;gCACtB,MAAM,EAAE,wCAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gCACrD,2CAA2C;6BAC5C;yBACF;wBACD,EAAE,EAAE;4BACF,IAAI,EAAE,IAAI;4BACV,KAAK,EAAE,uBAAuB;4BAC9B,GAAG,EAAE,CAAC;4BACN,GAAG,EAAE,CAAC;4BACN,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;4BAC9B,IAAI,EAAE;gCACJ,MAAM,EAAE,yCAAS,CAAC,MAAM,CAAC;6BAC1B;yBAEF;qBAEF;iBAEF,CAAC,CAAC;gBACH,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,UAAU,CAAC,MAAM,CAAC;gBACvC,IAAI,cAAc,GAAG,KAAI,CAAC,UAAU,CAAC;gBACrC,IAAI,KAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;oBAChC,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;iBAC7B;qBACI;oBACH,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC,CAAC;oBAE9D,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;oBAC3B,OAAO,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,EAAE;wBACvC,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC;wBAC1C,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;qBAC1C;oBACD,IAAI,CAAC,KAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAI,CAAC,QAAQ,CAAC;wBAAE,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC;oBACxF,IAAI,KAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;wBACjC,IAAI,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE;4BAC7B,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;qBAC3C;iBACF;YAEH,CAAC,CAAC,CAAC;QAEL,CAAC,CAAC,CAAC;IACL,CAAC;IACD,oDAAkB,GAAlB;QAAA,iBAMC;QAJC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC7D,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QAElD,CAAC,CAAC,CAAC;IACL,CAAC;IACD,4CAAU,GAAV;QAAA,iBAiEC;QAhEC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,UAAU,CAAC;QAE7C,IAAI,yBAAyB,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAC/D,UAAC,IAAI;YACH,OAAO,CACL,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChH,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAClH,CAAC,IAAI,CAAC,oBAAoB,KAAK,IAAI,IAAI,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAClI,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACxG,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChH,CAAC,IAAI,CAAC,UAAU,KAAK,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC/G,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAClH,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;mBAE7G,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAClH,CAAC,CAEF,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,yBAAyB,CAAC;QAC5C,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE;YAC/B,UAAU,CAAC;gBACT,KAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;YAClC,CAAC,EAAE,GAAG,CAAC,CAAC;YACR,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SAExB;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE,EAAE;YAC1B,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,UAAU,CAAC;YAC7C,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;YACrB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC;YAClD,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE;gBACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;aACzC;YACD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAC7C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAI,IAAI,CAAC,aAAa,EAAE;gBAEtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aACzC;YACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;aAAM;YAEL,IAAI,CAAC,QAAQ,GAAG,yBAAyB,CAAC,MAAM,CAAC;YACjD,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;YACrB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE;gBACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;aACzC;YACD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAC/C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvC,IAAI,IAAI,CAAC,aAAa;oBACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aAC3C;YAED,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;gBACnC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC5B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aAC3C;SACF;IACH,CAAC;IAGD,8CAAY,GAAZ;QAAA,iBA6HC;QA5HC,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAE1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,IAAI,CAAC,kBAAkB,KAAK,sGAAiB,CAAC,UAAU,EAAE;gBAC5D,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;aAC9D;YACD,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC9C,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YACpD,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;YAEtD,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC;YAC/D,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACzD,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YAC7D,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;YAElD,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;YACtD,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YAEpD,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;YACnC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAE7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAG3B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YAEjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;YAEzC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAEhC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAGhC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;YAClC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACxB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACzB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAE7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAG3B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;YACvC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACzB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAEhC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;SAG/B;QAED,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAEtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxC,6CAA6C;YAC7C,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACxC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACxC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SAC3B;QAED,IAAI,UAAU,GAAG,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,gBAAgB,CAAC,kCAAkC,CAAC,CAAC;QACpI,IAAI,gBAAgB,GAAG,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;QAEpH,IAAI,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC1C,MAAM,CAAC,OAAO,CAAC,UAAU,OAAO;YAC9B,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,cAAc,CAAC;QAC/C,CAAC,CAAC;QAEF,IAAI,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;QAC5C,eAAe,CAAC,OAAO,CAAC,UAAU,OAAO;YACvC,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,WAAW,CAAC;QAC5C,CAAC,CAAC;QAEF,IAAI,KAAK,GAAG,EAAE,CAAC;QAEf,oDAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAE;aACzD,IAAI,CAAC,UAAU,OAAO;YACrB,IAAI,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;YACtB,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC;YAElB,KAAK,GAAG,OAAO,CAAC;QAGlB,CAAC,CAAC,CAAC;QACL,UAAU,CAAC;QAEX,CAAC,EAAE,GAAG,CAAC,CAAC;QAGR,IAAI,IAAS,CAAC;QACd,IAAI,IAAI,CAAC,kBAAkB,IAAI,sGAAiB,CAAC,UAAU,IAAI,IAAI,CAAC,cAAc,EAAE;YAClF,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC;SAC5B;aAAM,IAAI,CAAC,CAAC,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,kBAAkB,IAAI,sGAAiB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE;YAC3G,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;SACtB;aAAM;YACL,IAAI,GAAG,kBAAkB,CAAC;SAC3B;QACD,UAAU,CAAC;YACT,KAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAI,CAAC,WAAW,GAAG,8BAA8B,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,6BAA6B,EAAE,WAAW,GAAG,KAAI,CAAC,WAAW,EAAE,KAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAI,CAAC,kBAAkB,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,EAAE,oCAAoC,EAAE,2DAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QACxb,CAAC,EAAE,IAAI,CAAC,CAAC;IAEX,CAAC;IAED,6CAAW,GAAX,UAAY,KAAK;QACf,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG;YAC9C,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,6CAA6C;QAC7C,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,EAAE,MAAM;YAChC,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IAEf,CAAC;IACD,yCAAO,GAAP,UAAQ,IAAI;QAEV,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE;YAClD,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;SACrB,CAAC,CAAC;QAEH,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;QAExC,CAAC,CAAC,CAAC;IAEL,CAAC;;gBAvlBkC,6DAAa;gBACnB,8EAAiB;gBAAkB,2DAAS;gBAAmB,kEAAmB;;IA3DpG,uBAAuB;QAPnC,+DAAS,CAAC;YACT,QAAQ,EAAE,qBAAqB;YAC/B,+KAA+C;YAC/C,mDAAmD;YACnD,SAAS,EAAE,CAAC,6DAAa,CAAC;YAC1B,MAAM,EAAE,CAAC,WAAW,EAAE,cAAc,EAAE,kBAAkB,CAAC;SAC1D,CAAC;OACW,uBAAuB,CAkpBnC;IAAD,8BAAC;CAAA;AAlpBmC;AA0pBpC;IAGE,yBACS,SAAwC,EACf,UAAe;QADxC,cAAS,GAAT,SAAS,CAA+B;QACf,eAAU,GAAV,UAAU,CAAK;IAAI,CAAC;IAEtD,kCAAQ,GAAR;QACE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;IACnC,CAAC;IAED,+BAAK,GAAL;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;;gBATmB,8DAAY;gDAC7B,oDAAM,SAAC,iEAAe;;IALd,eAAe;QAL3B,+DAAS,CAAC;YACT,QAAQ,EAAE,YAAY;YACtB,yIAA4B;SAE7B,CAAC;QAMG,6GAAM,CAAC,iEAAe,CAAC;OALf,eAAe,CAe3B;IAAD,sBAAC;CAAA;AAf2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChrB8B;AACR;AAEG;AACwB;AACpD;AAEe;AACgC;AACzB;AAU/C;IA2CE,mCAAoB,MAAqB,EAAU,OAA4B,EAAU,MAAiB;QAAtF,WAAM,GAAN,MAAM,CAAe;QAAU,YAAO,GAAP,OAAO,CAAqB;QAAU,WAAM,GAAN,MAAM,CAAW;QA1C1G,cAAS,GAAW,0DAAS,CAAC;QAG9B,eAAU,GAAW,EAAE,CAAC;QAIxB,eAAU,GAAG,CAAC,CAAC;QACf,cAAS,GAAG,EAAE,CAAC;QACf,UAAK,GAAG,EAAE,CAAC;QACX,SAAI,GAAG,EAAE,CAAC;QACV,eAAU,GAAG,EAAE,CAAC;QAChB,eAAU,GAAG,EAAE,CAAC;QAChB,eAAU,GAAG,EAAE,CAAC;QAChB,cAAS,GAAG,KAAK,CAAC;QAClB,kBAAa,GAAG,KAAK,CAAC;QACtB,MAAC,GAAW,CAAC,CAAC;QACd,eAAU,GAAG,CAAC,CAAC;QACf,kBAAa,GAAG,EAAE,CAAC;QAEnB,gBAAW,GAAG,CAAC,CAAC;QAChB,mBAAc,GAAG,KAAK,CAAC;QACvB,eAAU,GAAG,EAAE,CAAC;QAChB,sBAAiB,GAAG,IAAI,CAAC;QACzB,iBAAY,GAAG,IAAI,CAAC;QACpB,uBAAkB,GAAG,EAAE,CAAC;QAMxB,aAAQ,GAAG,EAAE,CAAC;QAEd,eAAU,GAAG,IAAI,IAAI,EAAE,CAAC;QAIxB,WAAM,GAAY,KAAK,CAAC;QACxB,WAAM,GAAG,EAAE,CAAC;QAEZ,UAAK,GAAG,IAAI,CAAC;QAGX,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACtD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAC7D,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAChE,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,GAAG,EAAE;SAEvC;aACI;YACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;SAC/C;IACH,CAAC;IAED,4CAAQ,GAAR;QACE,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;YAClD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;SAC3C;aACI;YACH,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;YACtB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;SACjB;QACD,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7C,CAAC;IAED,+CAAW,GAAX;QAAA,iBAIC;QAHC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,kBAAQ;YAC1C,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACL,CAAC;IACD,+CAAW,GAAX,UAAY,KAAK;QACf,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG;YAC9C,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,6CAA6C;QAC7C,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,EAAE,MAAM;YAChC,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;IAED,wCAAI,GAAJ,UAAK,QAAQ;QACX,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,sBAAsB;QAClD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,qDAAiB,GAAjB,UAAkB,KAAK;QAAvB,iBAQC;QAPC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1B,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,KAAI,CAAC,MAAM,EAAxB,CAAwB,CAAC;QAC/D,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;SACnC;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,2CAAO,GAAP;QAAA,iBAqCC;QApCC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,cAAI;YAChD,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YACjC,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,KAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,sBAAY;gBAC3D,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;gBACjD,KAAI,CAAC,WAAW,GAAG,YAAY,CAAC;gBAChC,IAAI,KAAI,CAAC,eAAe,EAAE;oBACxB,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,mFAAkB,CAAC,UAAU,EAAE;wBAC9E,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,KAAK,KAAI,CAAC,eAAe,CAAC,YAAY,EAAtD,CAAsD,CAAC,CAAC;qBAErG;yBACI,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,mFAAkB,CAAC,IAAI,EAAE;wBAC7E,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,KAAK,KAAI,CAAC,eAAe,CAAC,YAAY,IAAI,GAAG,CAAC,MAAM,IAAI,KAAI,CAAC,eAAe,CAAC,MAAM,EAAnG,CAAmG,CAAC,CAAC;wBACjJ,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;qBACvC;iBACF;gBACD,IAAI,KAAI,CAAC,qBAAqB,IAAI,SAAS,EAAE;oBAC3C,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,qBAAqB,CAAC;iBAC1C;qBACI,IAAI,KAAI,CAAC,eAAe,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,KAAK,mFAAkB,CAAC,IAAI,EAAE;oBACtG,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,MAAM,CAAC;iBAC3B;qBACI;oBACH,KAAI,CAAC,MAAM,GAAG,CAAC,CAAC;iBACjB;gBACD,IAAI,KAAI,CAAC,MAAM,IAAI,CAAC,EAAE;oBACpB,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,iBAAO,IAAI,YAAI,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAO,IAAI,cAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,aAAa,IAAI,CAAC,EAA9D,CAA8D,CAAC,EAAhG,CAAgG,CAAC,CAAC;iBACnJ;gBACD,IAAI,KAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAI,CAAC,MAAM,EAAE;oBAC5C,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;iBACzE;gBACD,KAAI,CAAC,eAAe,EAAE,CAAC;YAEzB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IACD,mDAAe,GAAf;QAAA,iBA2GC;QA1GC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YACtD,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YAChD,IAAI,KAAI,CAAC,MAAM,IAAI,CAAC;gBAClB,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,iBAAO,IAAI,YAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAO,IAAI,cAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAhC,CAAgC,CAAC,IAAI,OAAO,CAAC,aAAa,IAAI,CAAC,EAA7F,CAA6F,CAAC,CAAC;iBAClJ;gBACH,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,iBAAO,IAAI,cAAO,CAAC,MAAM,IAAI,KAAI,CAAC,MAAM,IAAI,OAAO,CAAC,aAAa,IAAI,CAAC,EAA3D,CAA2D,CAAC,CAAC;aACpH;YACD,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC;YAC1C,IAAI,KAAI,CAAC,UAAU,EAAE;wCACV,CAAC;oBACR,IAAI,IAAI,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,KAAK,KAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,UAAU,EAAhD,CAAgD,CAAC,CAAC;oBAC1F,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;wBACnB,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC1B,KAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;wBAC9D,KAAI,CAAC,UAAU,CAAC,KAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;wBACjE,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;4BACvC,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;yBAChC;wBACD,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;wBACxB,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC;4BACd,IAAI,EAAE,IAAI;4BACV,KAAK,EAAE,KAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY;4BACxC,KAAK,EAAE,IAAI,CAAC,MAAM;yBACnB,CAAC,CAAC;wBACH,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,IAAI;4BAClC,OAAO,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;wBACjC,CAAC,CAAC,CAAC;qBACJ;;gBAlBH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE;4BAAxC,CAAC;iBAmBT;aACF;iBACI;gBACH,KAAI,CAAC,UAAU,GAAG,mBAAmB,CAAC;gBACtC,IAAI,CAAC,KAAI,CAAC,UAAU,CAAC,MAAM,EAAE;oBAC3B,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;oBACvB,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;iBAC5B;qBACI;oBACH,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;oBACtB,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;iBAC3B;gBACD,OAAO;aACR;YACD,IAAI,KAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;gBAChC,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,OAAO;aACR;iBACI;gBACH,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;aAC3B;YACD,IAAI,SAAS,GAAG,EAAE,CAAC;YACnB,SAAS,GAAG,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC;YAE9C,IAAI,KAAK,GAAG,2CAAW,CAAC;gBACtB,MAAM,EAAE,eAAe;gBAEvB,IAAI,EAAE;oBACJ,IAAI,EAAE,KAAI,CAAC,UAAU;oBACrB,IAAI,EAAE,KAAK;iBAEZ;gBACD,KAAK,EAAE;oBACL,OAAO,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;iBACtD;gBACD,GAAG,EAAE;oBACH,KAAK,EAAE;wBACL,MAAM,EAAE,UAAU,KAAK,EAAE,KAAK,EAAE,EAAE;4BAChC,OAAO,KAAK,CAAC;wBACf,CAAC;qBACF;iBACF;aACF,CAAC,CAAC;YAEH,UAAU,CAAC;gBACT,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;YACjG,CAAC,EAAE,CAAC,CAAC,CAAC;YAEN,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YACvC,IAAI,cAAc,GAAG,KAAI,CAAC,UAAU,CAAC;YACrC,IAAI,KAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;gBAChC,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;aAC7B;iBACI;gBACH,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC9D,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC3B,OAAO,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,EAAE;oBACvC,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC;oBAC1C,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;iBAC1C;gBACD,IAAI,CAAC,KAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAI,CAAC,QAAQ,CAAC;oBAAE,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC;gBACxF,IAAI,KAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;oBACjC,IAAI,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE;wBAC7B,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;iBAC3C;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,8CAAU,GAAV;QAAA,iBA2DC;QA1DC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC;QAC1C,IAAI,sBAAsB,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CACzD,UAAC,IAAI;YACH,OAAO,CACL,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChH,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAClH,CAAC,IAAI,CAAC,oBAAoB,KAAK,IAAI,IAAI,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAClI,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACxG,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChH,CAAC,IAAI,CAAC,UAAU,KAAK,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC9G,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAClH,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChH,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC/G,CAAC,CACF,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,sBAAsB,CAAC;QACzC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE;YAC/B,UAAU,CAAC;gBACT,KAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;YAClC,CAAC,EAAE,GAAG,CAAC,CAAC;YACR,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,OAAO;SACR;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE,EAAE;YAC1B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC;YAC1C,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;YACrB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;YAC/C,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE;gBACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;aACzC;YACD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAC7C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAI,IAAI,CAAC,aAAa,EAAE;gBACtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aACzC;YACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,sBAAsB,CAAC,MAAM,CAAC;YAC9C,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;YACrB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE;gBACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;aACzC;YACD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAC/C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvC,IAAI,IAAI,CAAC,aAAa;oBACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aAC3C;YACD,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;gBACnC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC5B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aAC3C;SACF;IACH,CAAC;IACD,gDAAY,GAAZ;QAAA,iBAqFC;QApFC,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC9C,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YACpD,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;YACtD,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC;YAC/D,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACzD,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YAC7D,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;YAClD,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;YACtD,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YAEpD,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;YACnC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAE7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;YACzC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;YAClC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACxB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACzB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;YACvC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACzB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAEhC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;SAC/B;QAED,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACxC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACxC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SAC3B;QACD,IAAI,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QACnD,IAAI,KAAK;QACT,oDAAW,CAAC,KAAK,CAAC,IAAI,CAAC;aACpB,IAAI,CAAC,UAAU,OAAO;YACrB,IAAI,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;YACtB,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC;YAClB,KAAK,GAAG,OAAO,CAAC;QAClB,CAAC,CAAC,CAAC;QACL,UAAU,CAAC;QAEX,CAAC,EAAE,GAAG,CAAC,CAAC;QACR,IAAI,IAAS,CAAC;QACd,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;SACtB;aACI;YACH,IAAI,GAAG,kBAAkB,CAAC;SAC3B;QACD,UAAU,CAAC;YACT,KAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAI,CAAC,WAAW,GAAG,wBAAwB,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,uBAAuB,EAAE,WAAW,GAAG,KAAI,CAAC,WAAW,EAAE,QAAQ,GAAG,IAAI,EAAE,8BAA8B,EAAE,0DAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QACxV,CAAC,EAAE,IAAI,CAAC,CAAC;IAEX,CAAC;IAED,2CAAO,GAAP,UAAQ,IAAI;QACV,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE;YAChE,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;SACrB,CAAC,CAAC;QACH,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;QACxC,CAAC,CAAC,CAAC;IACL,CAAC;;gBAzW2B,6DAAa;gBAAmB,kEAAmB;gBAAkB,2DAAS;;IA3C/F,yBAAyB;QARrC,+DAAS,CAAC;YACT,QAAQ,EAAE,uBAAuB;YACjC,qLAAiD;YACjD,qDAAqD;YACrD,SAAS,EAAE,CAAC,6DAAa,CAAC;YAC1B,MAAM,EAAE,CAAC,mBAAmB,EAAE,cAAc,EAAE,uBAAuB,CAAC;SACvE,CAAC;OAEW,yBAAyB,CAqZrC;IAAD,gCAAC;CAAA;AArZqC;AA4ZtC;IAGE,uCACS,SAAsD,EAC7B,UAAe;QADxC,cAAS,GAAT,SAAS,CAA6C;QAC7B,eAAU,GAAV,UAAU,CAAK;IAAI,CAAC;IACtD,gDAAQ,GAAR;QACE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;IACnC,CAAC;IACD,6CAAK,GAAL;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;;gBAPmB,8DAAY;gDAC7B,oDAAM,SAAC,iEAAe;;IALd,6BAA6B;QALzC,+DAAS,CAAC;YACT,QAAQ,EAAE,YAAY;YACtB,2IAA4B;SAE7B,CAAC;QAMG,6GAAM,CAAC,iEAAe,CAAC;OALf,6BAA6B,CAYzC;IAAD,oCAAC;CAAA;AAZyC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/auC;AAC/B;AAC2B;AACpD;AACA;AAC4B;AACb;AAE+B;AACoB;AAExB;AACpB;AAS/C;IAuDE,sCACU,aAA4B,EAC5B,MAAiB,EACjB,OAA4B,EAC5B,iBAAoC;QAHpC,kBAAa,GAAb,aAAa,CAAe;QAC5B,WAAM,GAAN,MAAM,CAAW;QACjB,YAAO,GAAP,OAAO,CAAqB;QAC5B,sBAAiB,GAAjB,iBAAiB,CAAmB;QA1D9C,cAAS,GAAW,2DAAS,CAAC;QAC9B,cAAS,GAAG,KAAK,CAAC;QAClB,kBAAa,GAAG,KAAK,CAAC;QAItB,cAAS,GAAG,EAAE,CAAC;QACf,UAAK,GAAG,EAAE,CAAC;QACX,SAAI,GAAG,EAAE,CAAC;QAEV,eAAU,GAAW,EAAE,CAAC;QACxB,eAAU,GAAG,CAAC,CAAC;QACf,oBAAe,GAAG,IAAI,CAAC;QACvB,gBAAW,GAAG,IAAI,CAAC;QACnB,eAAU,GAAG,EAAE,CAAC;QAChB,eAAU,GAAG,EAAE,CAAC;QAChB,MAAC,GAAW,CAAC,CAAC;QACd,eAAU,GAAG,CAAC,CAAC;QACf,kBAAa,GAAG,EAAE,CAAC;QAEnB,gBAAW,GAAG,CAAC,CAAC;QAChB,mBAAc,GAAG,KAAK,CAAC;QAEvB,eAAU,GAAG,EAAE,CAAC;QAWhB,aAAQ,GAAG,EAAE,CAAC;QAGd,eAAU,GAAG,IAAI,IAAI,EAAE,CAAC;QAGxB,WAAM,GAAY,KAAK,CAAC;QACxB,WAAM,GAAG,EAAE,CAAC;QAEZ,UAAK,GAAG,IAAI,CAAC;QAMb,mBAAc,GAAsB,EAAE,CAAC;QAEvC,mBAAc,GAAa,CAAC,sGAAiB,CAAC,UAAU,EAAE,sGAAiB,CAAC,IAAI,CAAC,CAAC;QAElF,eAAU,GAAY,KAAK,CAAC;QAO1B,IAAI,CAAC,gBAAgB,GAAG,cAAc,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QACnE,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACtD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAC7D,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAChE,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE;YACjC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;SACvB;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,GAAG,EAAE;SAEvC;aACI;YACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;SAC/C;IACH,CAAC;IAGD,+CAAQ,GAAR;QACE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,mFAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,mFAAkB,CAAC,IAAI,CAAC,EAAE;gBAC1J,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC;aAC/D;iBACI;gBACH,IAAI,CAAC,IAAI,CAAC,aAAa;oBACrB,IAAI,CAAC,gBAAgB,CAAC,sGAAiB,CAAC,UAAU,CAAC;;oBAEnD,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;aACjC;SACF;aAEI;YACH,IAAI,CAAC,IAAI,CAAC,aAAa;gBACrB,IAAI,CAAC,gBAAgB,CAAC,sGAAiB,CAAC,UAAU,CAAC;;gBAEnD,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;SACjC;QACD,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7C,CAAC;IACO,qDAAc,GAAtB;QAAA,iBAeC;QAdC,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,cAAI;YAC1E,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC;YAChC,IAAI,KAAI,CAAC,eAAe,EAAE;gBAExB,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,mFAAkB,CAAC,UAAU,EAAE;oBAC9E,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,KAAK,KAAI,CAAC,eAAe,CAAC,YAAY,EAAtD,CAAsD,CAAC,CAAC;iBACjH;qBACI,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,mFAAkB,CAAC,IAAI,EAAE;oBAC7E,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,KAAK,KAAI,CAAC,eAAe,CAAC,YAAY,EAAtD,CAAsD,CAAC,CAAC;oBAChH,KAAI,CAAC,sBAAsB,CAAC,KAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;iBAChE;aACF;YACD,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,KAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;QACzL,CAAC,CAAC,CAAC;IACL,CAAC;IACO,6DAAsB,GAA9B,UAA+B,oBAAoB;QAAnD,iBAqDC;QApDC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,cAAI;YAClE,IAAI,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YAChD,KAAI,CAAC,QAAQ,GAAG,eAAe,CAAC;YAChC,IAAI,KAAI,CAAC,eAAe,IAAI,eAAe,EAAE;gBAC3C,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,mFAAkB,CAAC,UAAU,EAAE;oBAC9E,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,KAAK,KAAI,CAAC,eAAe,CAAC,YAAY,EAAtD,CAAsD,CAAC,CAAC;iBACrG;qBACI,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,mFAAkB,CAAC,IAAI,EAAE;oBAC7E,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,KAAK,KAAI,CAAC,eAAe,CAAC,YAAY,IAAI,GAAG,CAAC,MAAM,IAAI,KAAI,CAAC,eAAe,CAAC,MAAM,EAAnG,CAAmG,CAAC,CAAC;oBACjJ,KAAI,CAAC,oBAAoB,GAAG,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;oBAC1D,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;oBACtC,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;iBAC3C;qBACI;oBACH,IAAI,CAAC,oBAAoB,EAAE;wBACzB,KAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;wBAC9B,KAAI,CAAC,QAAQ,GAAG,eAAe,CAAC;qBACjC;yBACI,IAAI,oBAAoB,IAAI,CAAC,EAAE;wBAClC,KAAI,CAAC,QAAQ,GAAG,eAAe,CAAC;qBACjC;yBACI;wBACH,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,KAAK,oBAAoB,EAAzC,CAAyC,CAAC,CAAC;qBACxF;iBACF;aACF;iBACI;gBACH,IAAI,oBAAoB,IAAI,CAAC;oBAC3B,KAAI,CAAC,QAAQ,GAAG,eAAe,CAAC;;oBAEhC,KAAI,CAAC,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,KAAK,oBAAoB,EAAzC,CAAyC,CAAC,CAAC;aAC5F;YAED,IAAI,KAAI,CAAC,aAAa,KAAK,SAAS,EAAE;gBACpC,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,aAAa,CAAC;aAClC;iBACI,IAAI,KAAI,CAAC,eAAe,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,KAAK,mFAAkB,CAAC,IAAI,EAAE;gBACtG,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,MAAM,CAAC;aAC3B;iBACI;gBACH,KAAI,CAAC,MAAM,GAAG,CAAC,CAAC;aACjB;YAED,KAAI,CAAC,aAAa,CAAC,UAAU,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;gBAC7D,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;gBAChD,IAAI,KAAI,CAAC,MAAM,IAAI,CAAC,EAAE;oBACpB,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,iBAAO,IAAI,YAAI,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAO,IAAI,cAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,aAAa,IAAI,CAAC,EAA9D,CAA8D,CAAC,EAAhG,CAAgG,CAAC,CAAC;oBAClJ,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;iBACzE;gBACD,KAAI,CAAC,eAAe,EAAE,CAAC;YACzB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IACD,2CAAI,GAAJ,UAAK,QAAQ;QACX,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,sBAAsB;QAClD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IACD,sDAAe,GAAf;QAAA,iBA0LC;QAzLC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC7D,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YAChD,IAAI,KAAI,CAAC,MAAM,IAAI,CAAC;gBAClB,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,iBAAO,IAAI,YAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAO,IAAI,cAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAhC,CAAgC,CAAC,IAAI,OAAO,CAAC,aAAa,IAAI,CAAC,EAA7F,CAA6F,CAAC,CAAC;iBAClJ;gBACH,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,iBAAO,IAAI,cAAO,CAAC,MAAM,IAAI,KAAI,CAAC,MAAM,IAAI,OAAO,CAAC,aAAa,IAAI,CAAC,EAA3D,CAA2D,CAAC,CAAC;aACpH;YACD,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC;YAC1C,KAAI,CAAC,aAAa,CAAC,UAAU,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;gBAC7D,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC/C,IAAI,KAAI,CAAC,MAAM,IAAI,CAAC;oBAClB,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,iBAAO,IAAI,YAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAO,IAAI,cAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAhC,CAAgC,CAAC,EAA/D,CAA+D,CAAC,CAAC;qBACpH;oBACH,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,iBAAO,IAAI,cAAO,CAAC,MAAM,IAAI,KAAI,CAAC,MAAM,EAA7B,CAA6B,CAAC,CAAC;iBACtF;gBACD,IAAI,KAAI,CAAC,UAAU,EAAE;4CACV,CAAC;wBACR,IAAI,IAAI,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,EAA7C,CAA6C,CAAC,CAAC;wBACvF,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;4BACnB,IAAI,MAAM,CAAC,IAAI,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE;gCAC9E,KAAI,CAAC,UAAU,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;6BAC9D;iCACI;gCACH,KAAI,CAAC,UAAU,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;6BAChE;4BACD,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;gCACvC,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;6BAChC;4BACD,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;4BACxB,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;4BAC1B,KAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;4BAC5D,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gCACd,MAAM,EAAE,IAAI;gCACZ,OAAO,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW;gCACxC,OAAO,EAAE,IAAI,CAAC,MAAM;6BACrB,CAAC,CAAC;4BACH,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,IAAI;gCAElC,OAAO,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;4BACjC,CAAC,CAAC,CAAC;yBACJ;;oBAxBH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE;gCAAvC,CAAC;qBAyBT;iBACF;qBAAM;oBACL,KAAI,CAAC,UAAU,GAAG,mBAAmB,CAAC;oBACtC,IAAI,CAAC,KAAI,CAAC,UAAU,CAAC,MAAM,IAAI,KAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE;wBAC1D,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;wBACvB,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;qBAC5B;yBACI;wBACH,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;wBACtB,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;qBAC3B;oBACD,OAAO;iBACR;gBAED,IAAI,KAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;oBAChC,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;oBACvB,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;oBAC3B,OAAO;iBACR;qBACI;oBACH,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;oBACtB,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;iBAC3B;gBAED,IAAI,SAAS,GAAG,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC;gBAClD,IAAI,MAAM,GAAG,CAAC,CAAC;gBACf,KAAI,CAAC,UAAU,GAAG,EAAE,CAAC;wCACZ,CAAC;oBACR,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAE7B,IAAI,aAAa,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAArD,CAAqD,CAAC,CAAC;oBAExG,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC5B,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;qBACpD;yBACI;wBACH,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;qBACvC;oBACD,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAClC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC;;gBAZ9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;4BAAhC,CAAC;iBAaT;gBACD,IAAI,GAAG,GAAG;oBACR,cAAc,EAAE,MAAM;oBACtB,uBAAuB,EAAE,MAAM;iBAChC,CAAC;gBAIF,IAAI,KAAK,GAAG,2CAAW,CAAC;oBACtB,MAAM,EAAE,cAAc;oBACtB,IAAI,EAAE;wBACJ,IAAI,EAAE,GAAG;wBACT,IAAI,EAAE;4BAEJ,uBAAuB,EAAE,IAAI;yBAC9B;wBACD,IAAI,EAAE,KAAK;wBACX,KAAK,EAAE;4BAEL,uBAAuB,EAAE,MAAM;yBAEhC,EAAE,MAAM,EAAE;4BACT,CAAC,cAAc,EAAE,uBAAuB,CAAC;yBAC1C;qBACF;oBAED,KAAK,EAAE;wBACL,IAAI,EAAE,aAAa;wBACnB,OAAO,EAAE;4BACP,GAAG,EAAE,EAAE;4BACP,KAAK,EAAE,EAAE;4BACT,MAAM,EAAE,EAAE;4BACV,IAAI,EAAE,EAAE;yBACT;qBACF;oBACD,KAAK,EAAE;wBACL,OAAO,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;qBAChC;oBACD,MAAM,EAAE;wBACN,IAAI,EAAE,IAAI;wBACV,QAAQ,EAAE,OAAO;qBAElB;oBACD,IAAI,EAAE;wBACJ,CAAC,EAAE;4BACD,IAAI,EAAE,UAAU;4BAChB,UAAU,EAAE,KAAI,CAAC,UAAU;4BAC3B,IAAI,EAAE;gCACJ,MAAM,EAAE,EAAE;gCACV,SAAS,EAAE,KAAK;6BACjB;4BACD,MAAM,EAAE,GAAG;yBACZ;wBACD,CAAC,EAAE;4BACD,KAAK,EAAE,cAAc;4BACrB,IAAI,EAAE;gCACJ,MAAM,EAAE,yCAAS,CAAC,GAAG,CAAC;gCACtB,MAAM,EAAE,wCAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;6BACtD;yBACF;wBACD,EAAE,EAAE;4BACF,IAAI,EAAE,IAAI;4BACV,KAAK,EAAE,uBAAuB;4BAC9B,GAAG,EAAE,CAAC;4BACN,GAAG,EAAE,CAAC;4BACN,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;4BAC9B,IAAI,EAAE;gCACJ,MAAM,EAAE,yCAAS,CAAC,MAAM,CAAC;6BAC1B;yBACF;qBACF;iBACF,CAAC,CAAC;gBACH,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,UAAU,CAAC,MAAM,CAAC;gBACvC,IAAI,KAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;oBAChC,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;iBAC7B;qBACI;oBACH,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC,CAAC;oBAC9D,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;oBAC3B,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC;oBACxB,OAAO,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,EAAE;wBACvC,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC;wBAC1C,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;qBAC1C;oBACD,IAAI,CAAC,KAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAI,CAAC,QAAQ,CAAC;wBAAE,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC;oBACxF,IAAI,KAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;wBACnC,IAAI,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE;4BAC7B,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;qBAC3C;iBACF;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,iDAAU,GAAV;QAAA,iBA0DC;QAzDC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC;QAC1C,IAAI,sBAAsB,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CACzD,UAAC,IAAI;YACH,OAAO,CACL,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC1G,CAAC,IAAI,CAAC,cAAc,KAAK,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACtH,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChH,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAClH,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC3G,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5G,CAAC,CACF,CAAC;QAEF,IAAI,CAAC,UAAU,GAAG,sBAAsB,CAAC;QACzC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE;YAC/B,UAAU,CAAC;gBACT,KAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;YAClC,CAAC,EAAE,GAAG,CAAC,CAAC;YACR,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,OAAO;SACR;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE,EAAE;YAC1B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC;YAC1C,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;YACrB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;YAC/C,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE;gBACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;aACzC;YACD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAC7C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAI,IAAI,CAAC,aAAa,EAAE;gBAEtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aACzC;YACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,sBAAsB,CAAC,MAAM,CAAC;YAC9C,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;YACrB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE;gBACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;aACzC;YACD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAC/C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvC,IAAI,IAAI,CAAC,aAAa;oBACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aAC3C;YACD,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;gBACnC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC5B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aAC3C;SACF;IACH,CAAC;IAED,mDAAY,GAAZ;QAAA,iBAsGC;QArGC,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,IAAI,CAAC,kBAAkB,KAAK,sGAAiB,CAAC,UAAU,EAAE;gBAC5D,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;aAC9D;YACD,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC9C,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YACpD,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;YACtD,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YACnD,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YAExD,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;YACnC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;YACzC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACxB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;YAClC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACzB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;YACvC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACzB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;SAC/B;QACD,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACxC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACxC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SAC3B;QACD,IAAI,UAAU,GAAG,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,gBAAgB,CAAC,kCAAkC,CAAC,CAAC;QAClI,IAAI,gBAAgB,GAAG,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;QAClH,IAAI,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC1C,MAAM,CAAC,OAAO,CAAC,UAAU,OAAO;YAC9B,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,cAAc,CAAC;QAC/C,CAAC,CAAC;QACF,IAAI,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;QAC5C,eAAe,CAAC,OAAO,CAAC,UAAU,OAAO;YACvC,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,WAAW,CAAC;QAC5C,CAAC,CAAC;QAEF,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,oDAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAE;aACvD,IAAI,CAAC,UAAU,OAAO;YACrB,IAAI,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;YACtB,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC;YAElB,KAAK,GAAG,OAAO,CAAC;QAClB,CAAC,CAAC,CAAC;QAGL,IAAI,IAAS,CAAC;QACd,IAAI,IAAI,CAAC,kBAAkB,IAAI,sGAAiB,CAAC,UAAU,IAAI,IAAI,CAAC,cAAc,EAAE;YAClF,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC;SAC5B;aAAM,IAAI,CAAC,CAAC,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,kBAAkB,IAAI,sGAAiB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE;YAC3G,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;SACtB;aAAM;YACL,IAAI,GAAG,kBAAkB,CAAC;SAC3B;QACD,UAAU,CAAC;YACT,KAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,QAAQ,EAC7C,OAAO,EACP,KAAK,EACL,KAAI,CAAC,gBAAgB,GAAG,oBAAoB,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAC9I,mBAAmB,EACnB,WAAW,GAAG,KAAI,CAAC,gBAAgB,EACnC,KAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAI,CAAC,kBAAkB,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,EACtF,0BAA0B,EAC1B,2DAAS,EACT,UAAU,EACV,UAAU,CAAC,CAAC;QAChB,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC;IACD,iDAAU,GAAV,UAAW,KAAK;QAAhB,iBASC;QARC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1B,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,KAAI,CAAC,MAAM,EAAxB,CAAwB,CAAC;QAC/D,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;SACnC;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IACD,uDAAgB,GAAhB,UAAiB,aAAqB;QACpC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,kBAAkB,GAAG,aAAa,CAAC;QACxC,IAAI,CAAC,UAAU,GAAG,aAAa,KAAK,sGAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAChF,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACzD,CAAC;IAED,uDAAgB,GAAhB,UAAiB,oBAAoB;QACnC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,sBAAsB,CAAC,oBAAoB,CAAC,CAAC;QAElD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,KAAK,oBAAoB,EAAzC,CAAyC,CAAC,CAAC,cAAc,CAAC;IAClH,CAAC;IAED,kDAAW,GAAX,UAAY,KAAK;QACf,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG;YAC9C,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,6CAA6C;QAC7C,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,EAAE,MAAM;YAChC,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;IACD,8CAAO,GAAP,UAAQ,IAAI;QACV,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE;YAC9D,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;SACrB,CAAC,CAAC;QACH,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;QAExC,CAAC,CAAC,CAAC;IACL,CAAC;;gBAvgBwB,6DAAa;gBACpB,2DAAS;gBACR,kEAAmB;gBACT,+EAAiB;;IA3DnC,4BAA4B;QARxC,+DAAS,CAAC;YACT,QAAQ,EAAE,2BAA2B;YACrC,iMAAqD;YACrD,yDAAyD;YACzD,SAAS,EAAE,CAAC,6DAAa,CAAC;YAC1B,MAAM,EAAE,CAAC,iBAAiB,EAAE,aAAa,EAAE,eAAe,CAAC;SAE5D,CAAC;OACW,4BAA4B,CAgkBxC;IAAD,mCAAC;CAAA;AAhkBwC;AAukBzC;IAEE,qCACS,SAAoD,EAC3B,UAAe;QADxC,cAAS,GAAT,SAAS,CAA2C;QAC3B,eAAU,GAAV,UAAU,CAAK;IAAI,CAAC;IAEtD,8CAAQ,GAAR;QACE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;IACnC,CAAC;IACD,2CAAK,GAAL;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;;gBARmB,8DAAY;gDAC7B,oDAAM,SAAC,iEAAe;;IAJd,2BAA2B;QALvC,+DAAS,CAAC;YACT,QAAQ,EAAE,YAAY;YACtB,+IAA4B;SAE7B,CAAC;QAKG,6GAAM,CAAC,iEAAe,CAAC;OAJf,2BAA2B,CAYvC;IAAD,kCAAC;CAAA;AAZuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5lBkB;AACR;AAC2B;AACpD;AACA;AAC4B;AAEb;AACgC;AAEmB;AACxB;AACpB;AAS/C;IAsDE,gCAAoB,aAA4B,EACtC,iBAAoC,EAAU,MAAiB,EAAU,OAA4B;QAD3F,kBAAa,GAAb,aAAa,CAAe;QACtC,sBAAiB,GAAjB,iBAAiB,CAAmB;QAAU,WAAM,GAAN,MAAM,CAAW;QAAU,YAAO,GAAP,OAAO,CAAqB;QAtD/G,cAAS,GAAW,2DAAS,CAAC;QAC9B,mBAAc,GAAsB,EAAE,CAAC;QAEvC,mBAAc,GAAa,CAAC,sGAAiB,CAAC,UAAU,EAAE,sGAAiB,CAAC,IAAI,CAAC,CAAC;QAOlF,cAAS,GAAG,EAAE,CAAC;QACf,UAAK,GAAG,EAAE,CAAC;QACX,SAAI,GAAG,EAAE,CAAC;QAEV,eAAU,GAAG,CAAC,CAAC;QACf,qBAAgB,GAAG,IAAI,CAAC;QACxB,cAAS,GAAG,IAAI,CAAC;QACjB,eAAU,GAAG,EAAE,CAAC;QAChB,eAAU,GAAG,EAAE,CAAC;QAChB,gBAAW,GAAG,IAAI,CAAC;QAEnB,MAAC,GAAW,CAAC,CAAC;QACd,eAAU,GAAG,CAAC,CAAC;QACf,kBAAa,GAAG,EAAE,CAAC;QAEnB,gBAAW,GAAG,CAAC,CAAC;QAChB,mBAAc,GAAG,KAAK,CAAC;QACvB,eAAU,GAAG,EAAE,CAAC;QAGhB,cAAS,GAAG,KAAK,CAAC;QAClB,eAAU,GAAG,EAAE,CAAC;QAChB,eAAU,GAAW,EAAE,CAAC;QAGxB,kBAAa,GAAG,KAAK,CAAC;QACtB,eAAU,GAAY,KAAK,CAAC;QAO5B,aAAQ,GAAG,EAAE,CAAC;QAEd,eAAU,GAAG,IAAI,IAAI,EAAE,CAAC;QAIxB,WAAM,GAAY,KAAK,CAAC;QACxB,WAAM,GAAG,EAAE,CAAC;QAEZ,UAAK,GAAG,IAAI,CAAC;QAIX,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAC9D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACtD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAEhE,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,GAAG,EAAE;SAEvC;aACI;YACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;SAC/C;IAEH,CAAC;IAGD,yCAAQ,GAAR;QAEE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QAErB,IAAI,IAAI,CAAC,eAAe,EAAE;YAExB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,mFAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,mFAAkB,CAAC,IAAI,CAAC,EAAE;gBAC1J,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBAEvB,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC;aAC/D;iBACI;gBACH,IAAI,CAAC,IAAI,CAAC,eAAe;oBAEvB,IAAI,CAAC,gBAAgB,CAAC,sGAAiB,CAAC,UAAU,CAAC;;oBAGnD,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;aAGjC;SACF;aACI;YACH,IAAI,CAAC,IAAI,CAAC,eAAe;gBAEvB,IAAI,CAAC,gBAAgB,CAAC,sGAAiB,CAAC,UAAU,CAAC;;gBAGnD,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;SAEjC;QAGD,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAE7C,CAAC;IACD,2CAAU,GAAV,UAAW,KAAK;QAAhB,iBAYC;QAXC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;QAE9B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;QAE1B,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,KAAI,CAAC,MAAM,EAAxB,CAAwB,CAAC;QAE/D,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;SACnC;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IACD,iDAAgB,GAAhB,UAAiB,aAAqB;QACpC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,kBAAkB,GAAG,aAAa,CAAC;QACxC,IAAI,CAAC,UAAU,GAAG,aAAa,KAAK,sGAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAChF,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAEzD,CAAC;IAED,iDAAgB,GAAhB,UAAiB,oBAAoB;QACnC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,sBAAsB,CAAC,oBAAoB,CAAC,CAAC;QAElD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,KAAK,oBAAoB,EAAzC,CAAyC,CAAC,CAAC,cAAc,CAAC;IAClH,CAAC;IAEO,+CAAc,GAAtB;QAAA,iBAgBC;QAfC,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,cAAI;YAC1E,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC;YAChC,IAAI,KAAI,CAAC,eAAe,EAAE;gBAExB,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,mFAAkB,CAAC,UAAU,EAAE;oBAC9E,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,KAAK,KAAI,CAAC,eAAe,CAAC,YAAY,EAAtD,CAAsD,CAAC,CAAC;iBACjH;qBACI,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,mFAAkB,CAAC,IAAI,EAAE;oBAC7E,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,KAAK,KAAI,CAAC,eAAe,CAAC,YAAY,EAAtD,CAAsD,CAAC,CAAC;oBAChH,KAAI,CAAC,sBAAsB,CAAC,KAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;iBAChE;aAEF;YACD,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,KAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;QACzL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,uDAAsB,GAA9B,UAA+B,oBAAoB;QAAnD,iBA+DC;QA7DC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,cAAI;YAClE,IAAI,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YAChD,KAAI,CAAC,QAAQ,GAAG,eAAe,CAAC;YAEhC,IAAI,KAAI,CAAC,eAAe,IAAI,eAAe,EAAE;gBAC3C,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,mFAAkB,CAAC,UAAU,EAAE;oBAC9E,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,KAAK,KAAI,CAAC,eAAe,CAAC,YAAY,EAAtD,CAAsD,CAAC,CAAC;iBACrG;qBACI,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,mFAAkB,CAAC,IAAI,EAAE;oBAC7E,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,KAAK,KAAI,CAAC,eAAe,CAAC,YAAY,IAAI,GAAG,CAAC,MAAM,IAAI,KAAI,CAAC,eAAe,CAAC,MAAM,EAAnG,CAAmG,CAAC,CAAC;oBACjJ,KAAI,CAAC,oBAAoB,GAAG,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;oBAC1D,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;iBACvC;qBACI;oBAEH,IAAI,CAAC,oBAAoB,EAAE;wBACzB,KAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;wBAC9B,KAAI,CAAC,QAAQ,GAAG,eAAe,CAAC;qBACjC;yBACI,IAAI,oBAAoB,IAAI,CAAC,EAAE;wBAClC,KAAI,CAAC,QAAQ,GAAG,eAAe,CAAC;qBACjC;yBACI;wBACH,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,KAAK,oBAAoB,EAAzC,CAAyC,CAAC,CAAC;qBACxF;iBAEF;aACF;iBACI;gBACH,IAAI,oBAAoB,IAAI,CAAC;oBAC3B,KAAI,CAAC,QAAQ,GAAG,eAAe,CAAC;;oBAGhC,KAAI,CAAC,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,KAAK,oBAAoB,EAAzC,CAAyC,CAAC,CAAC;aAC5F;YAED,IAAI,KAAI,CAAC,eAAe,KAAK,SAAS,EAAE;gBACtC,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,eAAe,CAAC;aACpC;iBACI,IAAI,KAAI,CAAC,eAAe,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,KAAK,mFAAkB,CAAC,IAAI,EAAE;gBACtG,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,MAAM,CAAC;aAC3B;iBACI;gBACH,KAAI,CAAC,MAAM,GAAG,CAAC,CAAC;aAEjB;YAED,KAAI,CAAC,aAAa,CAAC,UAAU,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;gBAC7D,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;gBAEhD,IAAI,KAAI,CAAC,MAAM,IAAI,CAAC,EAAE;oBACpB,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,iBAAO,IAAI,YAAI,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAO,IAAI,cAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,aAAa,IAAI,CAAC,EAA9D,CAA8D,CAAC,EAAhG,CAAgG,CAAC,CAAC;oBAElJ,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;iBACzE;gBAED,KAAI,CAAC,eAAe,EAAE,CAAC;YAEzB,CAAC,CAAC,CAAC;QAEL,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,qCAAI,GAAJ,UAAK,QAAQ;QACX,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,sBAAsB;QAClD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IAGD,2CAAU,GAAV;QAAA,iBAmEC;QAlEC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,UAAU,CAAC;QAE5C,IAAI,wBAAwB,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAC7D,UAAC,IAAI;YACH,OAAO,CACL,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChH,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAClH,CAAC,IAAI,CAAC,oBAAoB,KAAK,IAAI,IAAI,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAClI,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACxG,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChH,CAAC,IAAI,CAAC,UAAU,KAAK,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC9G,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAClH,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;mBAC9G,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAGjH,CAAC,CAEF,CAAC;QAEF,IAAI,CAAC,UAAU,GAAG,wBAAwB,CAAC;QAC3C,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE;YAC/B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,UAAU,CAAC;gBACT,KAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;YAClC,CAAC,EAAE,GAAG,CAAC,CAAC;SAET;aACI;YACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE,EAAE;YAC1B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,UAAU,CAAC;YAC5C,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;YACrB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC;YACjD,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE;gBACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;aACzC;YACD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAC7C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAI,IAAI,CAAC,aAAa,EAAE;gBAEtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aACzC;YACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,wBAAwB,CAAC,MAAM,CAAC;YAChD,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;YACrB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE;gBACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;aACzC;YACD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAC/C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvC,IAAI,IAAI,CAAC,aAAa;oBACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aAC3C;YAED,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;gBACnC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC5B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aAC3C;SACF;IACH,CAAC;IACD,6CAAY,GAAZ;QAAA,iBA2HC;QA1HC,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAE1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAEvC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,IAAI,CAAC,kBAAkB,KAAK,sGAAiB,CAAC,UAAU,EAAE;gBAC5D,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;aAC9D;YAED,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC9C,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YACpD,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;YACtD,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC9C,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC;YAC/D,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACzD,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YAC7D,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;YAElD,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;YACtD,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YAGpD,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;YACnC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAE7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAEhC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;YAEzC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAEhC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAGhC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;YAClC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACxB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACzB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAE7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAG3B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;YACvC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACzB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAEhC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;SAG/B;QAED,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAEtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxC,6CAA6C;YAC7C,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACxC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACxC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SAC3B;QAED,IAAI,UAAU,GAAG,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,gBAAgB,CAAC,kCAAkC,CAAC,CAAC;QACnI,IAAI,gBAAgB,GAAG,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;QACnH,IAAI,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC1C,MAAM,CAAC,OAAO,CAAC,UAAU,OAAO;YAC9B,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,cAAc,CAAC;QAC/C,CAAC,CAAC;QAEF,IAAI,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;QAC5C,eAAe,CAAC,OAAO,CAAC,UAAU,OAAO;YACvC,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,WAAW,CAAC;QAC5C,CAAC,CAAC;QAEF,IAAI,KAAK,GAAG,EAAE,CAAC;QAEf,oDAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAE;aACxD,IAAI,CAAC,UAAU,OAAO;YACrB,IAAI,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;YACtB,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC;YAElB,KAAK,GAAG,OAAO,CAAC;QAClB,CAAC,CAAC,CAAC;QACL,UAAU,CAAC;QAEX,CAAC,EAAE,GAAG,CAAC,CAAC;QAER,IAAI,IAAS,CAAC;QACd,IAAI,IAAI,CAAC,kBAAkB,IAAI,sGAAiB,CAAC,UAAU,IAAI,IAAI,CAAC,cAAc,EAAE;YAClF,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC;SAC5B;aAAM,IAAI,CAAC,CAAC,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,kBAAkB,IAAI,sGAAiB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE;YAC3G,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;SACtB;aAAM;YACL,IAAI,GAAG,kBAAkB,CAAC;SAC3B;QAED,UAAU,CAAC;YACT,KAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAI,CAAC,WAAW,GAAG,iCAAiC,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,gCAAgC,EAAE,WAAW,GAAG,KAAI,CAAC,WAAW,EAAE,KAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAI,CAAC,kBAAkB,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,EAAE,uCAAuC,EAAE,2DAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QACjc,CAAC,EAAE,IAAI,CAAC,CAAC;IAEX,CAAC;IAED,gDAAe,GAAf;QAAA,iBAiOC;QAhOC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACrB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,IAAI,QAAa,CAAC;QAClB,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC7D,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YAEhD,IAAI,KAAI,CAAC,MAAM,IAAI,CAAC;gBAClB,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,iBAAO,IAAI,YAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAO,IAAI,cAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAhC,CAAgC,CAAC,IAAI,OAAO,CAAC,aAAa,IAAI,CAAC,EAA7F,CAA6F,CAAC,CAAC;iBAClJ;gBACH,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,iBAAO,IAAI,cAAO,CAAC,MAAM,IAAI,KAAI,CAAC,MAAM,IAAI,OAAO,CAAC,aAAa,IAAI,CAAC,EAA3D,CAA2D,CAAC,CAAC;aACpH;YAED,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC;YAE1C,KAAI,CAAC,aAAa,CAAC,UAAU,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;gBAC7D,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC/C,IAAI,KAAI,CAAC,MAAM,IAAI,CAAC;oBAClB,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,iBAAO,IAAI,YAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAO,IAAI,cAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAhC,CAAgC,CAAC,EAA/D,CAA+D,CAAC,CAAC;qBACpH;oBACH,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,iBAAO,IAAI,cAAO,CAAC,MAAM,IAAI,KAAI,CAAC,MAAM,EAA7B,CAA6B,CAAC,CAAC;iBACtF;gBAED,IAAI,KAAI,CAAC,UAAU,EAAE;4CAEV,CAAC;wBACR,IAAI,IAAI,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,EAA7C,CAA6C,CAAC,CAAC;wBACvF,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;4BAEnB,IAAI,KAAI,CAAC,UAAU,EAAE;gCACnB,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gCAC1B,KAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;gCAC5D,IAAI,MAAM,CAAC,IAAI,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE;oCAC9E,KAAI,CAAC,UAAU,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;iCAC9D;qCACI;oCACH,KAAI,CAAC,UAAU,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;iCAChE;gCAED,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;oCACvC,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;iCAChC;gCACD,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;gCACxB,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC;oCACd,IAAI,EAAE,IAAI;oCACV,KAAK,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW;oCACtC,KAAK,EAAE,IAAI,CAAC,MAAM;iCACnB,CAAC,CAAC;gCAEH,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,IAAI;oCAElC,OAAO,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gCACjC,CAAC,CAAC,CAAC;6BAEJ;yBAEF;;oBA/BH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE;gCAAvC,CAAC;qBAgCT;iBACF;qBAAM;oBACL,KAAI,CAAC,UAAU,GAAG,mBAAmB,CAAC;oBAEtC,IAAI,CAAC,KAAI,CAAC,UAAU,CAAC,MAAM,EAAE;wBAC3B,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;wBACvB,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;qBAC5B;yBACI;wBACH,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;wBACtB,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;qBAC3B;oBACD,OAAO;iBACR;gBAED,IAAI,KAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;oBAChC,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;oBACvB,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;oBAC3B,OAAO;iBACR;qBACI;oBACH,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;oBACtB,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;iBAC3B;gBAED,IAAI,SAAS,GAAG,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC;gBAElD,IAAI,MAAM,GAAG,CAAC,CAAC;gBACf,KAAI,CAAC,UAAU,GAAG,EAAE,CAAC;wCAEZ,CAAC;oBACR,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAE7B,IAAI,aAAa,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAArD,CAAqD,CAAC,CAAC;oBACxG,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC5B,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;qBACpD;yBACI;wBACH,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;qBACvC;oBACD,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAClC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC;;gBAX9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;4BAAhC,CAAC;iBAYT;gBAGD,IAAI,GAAG,GAAG;oBACR,mBAAmB,EAAE,MAAM;oBAC3B,uBAAuB,EAAE,MAAM;iBAChC,CAAC;gBAEF,IAAI,KAAK,GAAG,2CAAW,CAAC;oBACtB,MAAM,EAAE,eAAe;oBACvB,IAAI,EAAE;wBACJ,IAAI,EAAE,GAAG;wBACT,IAAI,EAAE;4BACJ,uBAAuB,EAAE,IAAI;yBAC9B;wBACD,IAAI,EAAE,KAAK;wBACX,KAAK,EAAE;4BAEL,uBAAuB,EAAE,MAAM;yBAEhC,EAAE,MAAM,EAAE;4BACT,CAAC,mBAAmB,EAAE,uBAAuB,CAAC;yBAC/C;qBAGF;oBAED,KAAK,EAAE;wBACL,IAAI,EAAE,WAAW;wBACjB,OAAO,EAAE;4BACP,GAAG,EAAE,EAAE;4BACP,KAAK,EAAE,EAAE;4BACT,MAAM,EAAE,EAAE;4BACV,IAAI,EAAE,EAAE;yBACT;qBACF;oBACD,KAAK,EAAE;wBACL,OAAO,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;qBAChC;oBACD,MAAM,EAAE;wBACN,IAAI,EAAE,IAAI;wBACV,QAAQ,EAAE,OAAO;qBAElB;oBAED,IAAI,EAAE;wBACJ,CAAC,EAAE;4BACD,IAAI,EAAE,UAAU;4BAChB,sBAAsB;4BAEtB,YAAY;4BACZ,uBAAuB;4BACvB,6BAA6B;4BAC7B,KAAK;4BACL,UAAU,EAAE,KAAI,CAAC,UAAU;4BAC3B,IAAI,EAAE;gCACJ,MAAM,EAAE,EAAE;gCACV,SAAS,EAAE,KAAK;gCAChB,mBAAmB;gCACnB,iBAAiB;6BAClB;4BAED,MAAM,EAAE,GAAG;yBACZ;wBAED,CAAC,EAAE;4BACD,UAAU;4BACV,KAAK,EAAE,mBAAmB;4BAC1B,IAAI,EAAE;gCAGJ,MAAM,EAAE,yCAAS,CAAC,GAAG,CAAC;gCACtB,2CAA2C;gCAC3C,MAAM,EAAE,wCAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;6BACtD;yBACF;wBACD,EAAE,EAAE;4BACF,IAAI,EAAE,IAAI;4BACV,KAAK,EAAE,uBAAuB;4BAC9B,GAAG,EAAE,CAAC;4BACN,GAAG,EAAE,CAAC;4BACN,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;4BAC9B,IAAI,EAAE;gCACJ,MAAM,EAAE,yCAAS,CAAC,MAAM,CAAC;6BAC1B;yBAEF;qBAEF;iBAEF,CAAC,CAAC;gBACH,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,UAAU,CAAC,MAAM,CAAC;gBACvC,IAAI,KAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;oBAChC,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;iBAC7B;qBACI;oBACH,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC,CAAC;oBAE9D,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;oBAE3B,OAAO,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,EAAE;wBACvC,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC;wBAC1C,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;qBAC1C;oBACD,IAAI,CAAC,KAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAI,CAAC,QAAQ,CAAC;wBAAE,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC;oBACxF,IAAI,KAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;wBACnC,IAAI,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE;4BAC7B,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;qBAC3C;iBAEF;YAEH,CAAC,CAAC,CAAC;QAGL,CAAC,CAAC,CAAC;IAEL,CAAC;IAGD,4CAAW,GAAX,UAAY,KAAK;QACf,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG;YAC9C,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,EAAE,MAAM;YAChC,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IAEf,CAAC;IACD,wCAAO,GAAP,UAAQ,IAAI;QAEV,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE;YAC/D,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;SACrB,CAAC,CAAC;QAEH,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;QAExC,CAAC,CAAC,CAAC;IAEL,CAAC;;gBA9mBkC,6DAAa;gBACnB,+EAAiB;gBAAkB,2DAAS;gBAAmB,kEAAmB;;IAvDpG,sBAAsB;QAPlC,+DAAS,CAAC;YACT,QAAQ,EAAE,oBAAoB;YAC9B,4KAA8C;YAC9C,kDAAkD;YAClD,SAAS,EAAE,CAAC,6DAAa,CAAC;YAC1B,MAAM,EAAE,CAAC,kBAAkB,EAAE,aAAa,EAAE,iBAAiB,CAAC;SAC/D,CAAC;OACW,sBAAsB,CAqqBlC;IAAD,6BAAC;CAAA;AArqBkC;AA6qBnC;IAGE,sCACS,SAAqD,EAC5B,UAAe;QADxC,cAAS,GAAT,SAAS,CAA4C;QAC5B,eAAU,GAAV,UAAU,CAAK;IAAI,CAAC;IAEtD,+CAAQ,GAAR;QACE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;IAEnC,CAAC;IAED,4CAAK,GAAL;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;;gBAVmB,8DAAY;gDAC7B,oDAAM,SAAC,iEAAe;;IALd,4BAA4B;QALxC,+DAAS,CAAC;YACT,QAAQ,EAAE,YAAY;YACtB,wIAA4B;SAE7B,CAAC;QAMG,6GAAM,CAAC,iEAAe,CAAC;OALf,4BAA4B,CAgBxC;IAAD,mCAAC;CAAA;AAhBwC;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClsBiB;AACR;AAC2B;AACpD;AACA;AAC4B;AACb;AACO;AAS/C;IA2CE,gCAAoB,aAA4B,EAAU,MAAiB,EAAU,OAA4B;QAA7F,kBAAa,GAAb,aAAa,CAAe;QAAU,WAAM,GAAN,MAAM,CAAW;QAAU,YAAO,GAAP,OAAO,CAAqB;QA1CjH,cAAS,GAAW,0DAAS,CAAC;QAK9B,cAAS,GAAG,EAAE,CAAC;QACf,UAAK,GAAG,EAAE,CAAC;QACX,SAAI,GAAG,EAAE,CAAC;QAEV,sBAAiB,GAAG,EAAE,CAAC;QACvB,eAAU,GAAW,EAAE,CAAC;QAExB,cAAS,GAAG,EAAE,CAAC;QACf,cAAS,GAAG,EAAE,CAAC;QACf,eAAU,GAAG,EAAE,CAAC;QAChB,eAAU,GAAG,CAAC,CAAC;QACf,qBAAgB,GAAG,IAAI,CAAC;QACxB,iBAAY,GAAG,IAAI,CAAC;QACpB,eAAU,GAAG,EAAE,CAAC;QAChB,MAAC,GAAW,CAAC,CAAC;QACd,eAAU,GAAG,EAAE,CAAC;QAChB,kBAAa,GAAG,EAAE,CAAC;QAEnB,gBAAW,GAAG,EAAE,CAAC;QACjB,mBAAc,GAAG,KAAK,CAAC;QAGvB,cAAS,GAAG,KAAK,CAAC;QAGlB,kBAAa,GAAG,KAAK,CAAC;QAGtB,eAAU,GAAG,IAAI,IAAI,EAAE,CAAC;QAExB,WAAM,GAAY,KAAK,CAAC;QACxB,WAAM,GAAG,EAAE,CAAC;QAEZ,UAAK,GAAG,IAAI,CAAC;QAKX,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAC9D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACxD,CAAC;IAED,yCAAQ,GAAR;QACE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7C,CAAC;IACD,2CAAU,GAAV;QAAA,iBA+DC;QA9DC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC7D,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YAChD,IAAI,KAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC/B,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,aAAa,KAAK,CAAC,EAArB,CAAqB,CAAC,CAAC;aACtE;YAED,IAAI,KAAI,CAAC,WAAW,EAAE;wCACX,CAAC;oBACR,IAAI,KAAI,CAAC,SAAS,IAAI,SAAS,EAAE;wBAC/B,IAAI,IAAI,GAAG,KAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,IAAI,IAAI,IAAI,CAAC,CAAC,SAAS,KAAK,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,EAApE,CAAoE,CAAC,CAAC;wBAC5G,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;4BACnB,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gCAClB,IAAI,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;gCACnC,MAAM,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW;gCACvC,MAAM,EAAE,IAAI;gCACZ,QAAQ,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,iBAAiB;gCAC/C,MAAM,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ;gCACpC,OAAO,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY;6BAC1C,CAAC,CAAC;yBACJ;6BAAM;4BACL,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gCAClB,IAAI,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;gCACnC,MAAM,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW;gCACvC,MAAM,EAAE,IAAI;gCACZ,QAAQ,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,iBAAiB;gCAC/C,MAAM,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ;gCACpC,OAAO,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY;6BAC1C,CAAC,CAAC;yBACJ;qBACF;yBACI;wBACH,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC;4BAClB,IAAI,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;4BACnC,MAAM,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW;4BACvC,QAAQ,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,iBAAiB;4BAC/C,MAAM,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ;4BACpC,OAAO,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY;yBAC1C,CAAC,CAAC;qBACJ;;gBA/BH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE;4BAAvC,CAAC;iBAgCT;aACF;YACD,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YACtC,IAAI,KAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC/B,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;aAC7B;iBACI;gBACH,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC7D,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAE3B,OAAO,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,EAAE;oBACvC,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC;oBAC1C,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;iBAC1C;gBACD,IAAI,CAAC,KAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAI,CAAC,QAAQ,CAAC;oBAAE,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC;gBACxF,IAAI,KAAI,CAAC,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE;oBAClC,IAAI,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE;wBAC7B,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;iBAC3C;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qCAAI,GAAJ,UAAK,QAAQ;QACX,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,sBAAsB;QAClD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IACD,4CAAW,GAAX,UAAY,KAAK;QACf,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG;YAC9C,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,6CAA6C;QAC7C,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,EAAE,MAAM;YAChC,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;IACD,4CAAW,GAAX;QAAA,iBAKC;QAJC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC9D,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QAElD,CAAC,CAAC,CAAC;IACL,CAAC;IACD,iDAAgB,GAAhB;QAAA,iBAoIC;QAlIC,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC,SAAS,CAAC,gBAAM;YACpD,KAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YACrD,KAAI,CAAC,aAAa,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;gBAC9D,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;gBAChD,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC;gBAC1C,IAAI,MAAM,GAAG,EAAE,CAAC;gBAChB,IAAI,MAAM,GAAG,EAAE,CAAC;gBAChB,IAAI,GAAG,GAAG,CAAC,CAAC;gBAEZ,IAAI,KAAI,CAAC,WAAW,CAAC,MAAM,EAAE;4CAClB,CAAC;wBAER,IAAI,IAAI,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,eAAe,KAAK,KAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,eAAe,EAA/D,CAA+D,CAAC,CAAC;wBACzG,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;4BACnB,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;4BAC1B,KAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,KAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;4BACxE,KAAI,CAAC,UAAU,CAAC,KAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;4BAC3E,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;4BACxB,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gCACd,MAAM,EAAE,IAAI;gCACZ,OAAO,EAAE,KAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,iBAAiB;gCACpD,OAAO,EAAE,IAAI,CAAC,MAAM;6BACrB,CAAC,CAAC;4BACH,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,IAAI;gCAElC,OAAO,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;4BACjC,CAAC,CAAC,CAAC;yBACJ;;oBAjBH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE;gCAA7C,CAAC;qBAkBT;iBACF;qBAAM;oBACL,KAAI,CAAC,UAAU,GAAG,mBAAmB,CAAC;oBACtC,OAAO;iBACR;gBACD,IAAI,KAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;oBAC/B,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;oBACvB,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;iBAC5B;qBACI;oBACH,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;oBACtB,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;iBAC3B;gBACD,IAAI,SAAS,GAAG,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC;gBAElD,IAAI,MAAM,GAAG,CAAC,CAAC;gBACf,KAAI,CAAC,UAAU,GAAG,EAAE,CAAC;gBACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACzC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC7B,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACrC,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAClC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC;iBAE7B;gBACD,IAAI,GAAG,GAAG;oBACR,gBAAgB,EAAE,MAAM;oBACxB,uBAAuB,EAAE,MAAM;iBAChC,CAAC;gBACF,IAAI,KAAK,GAAG,2CAAW,CAAC;oBACtB,MAAM,EAAE,QAAQ;oBAChB,IAAI,EAAE;wBACJ,IAAI,EAAE,GAAG;wBACT,IAAI,EAAE;4BAEJ,uBAAuB,EAAE,IAAI;yBAC9B;wBACD,IAAI,EAAE,KAAK;wBACX,KAAK,EAAE;4BAEL,uBAAuB,EAAE,MAAM;yBAEhC,EAAE,MAAM,EAAE;4BACT,CAAC,gBAAgB,EAAE,uBAAuB,CAAC;yBAC5C;qBACF;oBAED,KAAK,EAAE;wBACL,IAAI,EAAE,gBAAgB;wBACtB,OAAO,EAAE;4BACP,GAAG,EAAE,EAAE;4BACP,KAAK,EAAE,EAAE;4BACT,MAAM,EAAE,EAAE;4BACV,IAAI,EAAE,EAAE;yBACT;qBACF;oBACD,KAAK,EAAE;wBACL,OAAO,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;qBAChC;oBAED,MAAM,EAAE;wBACN,IAAI,EAAE,IAAI;wBACV,QAAQ,EAAE,OAAO;qBAElB;oBACD,IAAI,EAAE;wBACJ,CAAC,EAAE;4BACD,IAAI,EAAE,UAAU;4BAEhB,UAAU,EAAE,KAAI,CAAC,UAAU;4BAC3B,IAAI,EAAE;gCACJ,MAAM,EAAE,EAAE;gCACV,SAAS,EAAE,KAAK;6BACjB;4BACD,MAAM,EAAE,GAAG;yBACZ;wBACD,CAAC,EAAE;4BAED,KAAK,EAAE,gBAAgB;4BACvB,IAAI,EAAE;gCACJ,MAAM,EAAE,yCAAS,CAAC,GAAG,CAAC;gCACtB,MAAM,EAAE,wCAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;6BACtD;yBACF;wBACD,EAAE,EAAE;4BACF,IAAI,EAAE,IAAI;4BACV,KAAK,EAAE,uBAAuB;4BAC9B,GAAG,EAAE,CAAC;4BACN,GAAG,EAAE,CAAC;4BACN,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;4BAC9B,IAAI,EAAE;gCACJ,MAAM,EAAE,yCAAS,CAAC,MAAM,CAAC;6BAC1B;yBAEF;qBAEF;iBAEF,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QAEL,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,2CAAU,GAAV;QAAA,iBAyEC;QAxEC,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC;QACvC,IAAI,mBAAmB,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CACnD,UAAC,IAAI;YACH,OAAO,CACL,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACjG,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACjG,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACrG,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACnG,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CACrC,UAAC,EAAE;oBACD,OAAO,CACL,EAAE,CAAC,WAAW,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;2BACtG,EAAE,CAAC,YAAY,IAAI,IAAI,IAAI,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;2BAC3G,EAAE,CAAC,UAAU,IAAI,IAAI,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;2BACvG,EAAE,CAAC,WAAW,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;2BACzG,EAAE,CAAC,OAAO,IAAI,IAAI,IAAI,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;2BACjG,EAAE,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CACjF;gBAEH,CAAC,CACF,CACA,CACA,CAAC,MAAM,CACT;QACH,CAAC,CACF,CAAC;QAEF,IAAI,CAAC,SAAS,GAAG,mBAAmB,CAAC;QACrC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE;YAC9B,UAAU,CAAC;gBACT,KAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;YAClC,CAAC,EAAE,GAAG,CAAC,CAAC;YACR,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE,EAAE;YAC1B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC;YACvC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;YAC5C,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE;gBACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;aAC1C;YACD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAC7C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAI,IAAI,CAAC,aAAa,EAAE;gBAEtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aACzC;YACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC;YAC3C,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE;gBACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;aAC1C;YACD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAC/C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvC,IAAI,IAAI,CAAC,aAAa;oBACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aAC3C;YAED,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;gBACnC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE;oBAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aAC3C;SACF;IACH,CAAC;IAED,6CAAY,GAAZ;QAAA,iBAqEC;QApEC,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QACzD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACvB,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC7C,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACrC,OAAO,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YACjD,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAC/C,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YACzB,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACvB,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACxB,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACvB,IAAI,QAAQ,GAAG,EAAE,CAAC;YAClB,IAAI,WAAW,GAAG,EAAE,CAAC;YACrB,IAAI,WAAW,GAAG,EAAE,CAAC;YACrB,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,IAAI,WAAW,GAAG,EAAE,CAAC;YACrB,IAAI,SAAS,GAAG,EAAE,CAAC;YACnB,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBACnB,IAAI,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC3B,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAC,EAAE,EAAE;oBACpC,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC,GAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;oBAC9C,WAAW,GAAG,WAAW,GAAG,IAAI,CAAC,GAAC,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC;oBACvD,WAAW,GAAG,WAAW,GAAG,IAAI,CAAC,GAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;oBACtD,OAAO,GAAG,OAAO,GAAG,IAAI,CAAC,GAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC;oBAC3C,WAAW,GAAG,WAAW,GAAG,IAAI,CAAC,GAAC,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC;iBACxD;gBACD,OAAO,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,QAAQ,CAAC;gBAC1C,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,WAAW,CAAC;gBACjC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,OAAO,CAAC;gBACjC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,WAAW,CAAC;gBACrC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,WAAW,CAAC;gBAChC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACvB,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;aAC3B;SAEF;QACD,IAAI,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAClE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,oBAAoB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACpD,oBAAoB,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACpD,oBAAoB,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACpD,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SACvC;QACD,IAAI,UAAU,GAAG,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,gBAAgB,CAAC,kCAAkC,CAAC,CAAC;QAC5H,IAAI,gBAAgB,GAAG,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;QAE5G,IAAI,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC1C,MAAM,CAAC,OAAO,CAAC,UAAU,OAAO;YAC9B,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,cAAc,CAAC;QAC/C,CAAC,CAAC;QAEF,IAAI,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;QAC5C,eAAe,CAAC,OAAO,CAAC,UAAU,OAAO;YACvC,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,WAAW,CAAC;QAC5C,CAAC,CAAC;QACF,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,oDAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAE;aACjD,IAAI,CAAC,UAAU,OAAO;YACrB,IAAI,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;YACtB,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC;YAClB,KAAK,GAAG,OAAO,CAAC;QAClB,CAAC,CAAC,CAAC;QACL,IAAI,IAAS,CAAC;QACd,IAAI,GAAG,EAAE,CAAC;QAEV,UAAU,CAAC;YACT,KAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,oBAAoB,EAAE,OAAO,EAAE,KAAK,EAAE,KAAI,CAAC,WAAW,GAAG,2BAA2B,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,0BAA0B,EAAE,WAAW,GAAG,KAAI,CAAC,WAAW,EAAE,IAAI,EAAE,iCAAiC,EAAE,0DAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QACzW,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC;IAED,wCAAO,GAAP,UAAQ,IAAI;QACV,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE;YAC/D,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,EAAE,IAAI,QAAE,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE;SACtC,CAAC,CAAC;QACH,SAAS,CAAC,iBAAiB,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;QACnD,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;QACxC,CAAC,CAAC,CAAC;IACL,CAAC;;gBArYkC,6DAAa;gBAAkB,2DAAS;gBAAmB,kEAAmB;;IA3CtG,sBAAsB;QAPlC,+DAAS,CAAC;YACT,QAAQ,EAAE,oBAAoB;YAC9B,4KAA8C;YAC9C,kDAAkD;YAClD,SAAS,EAAE,CAAC,6DAAa,CAAC;YAC1B,MAAM,EAAE,CAAC,kBAAkB,EAAE,cAAc,CAAC;SAC7C,CAAC;OACW,sBAAsB,CAiblC;IAAD,6BAAC;CAAA;AAjbkC;AAybnC;IAME,sCACS,SAAqD,EAC5B,UAAe;QADxC,cAAS,GAAT,SAAS,CAA4C;QAC5B,eAAU,GAAV,UAAU,CAAK;QAJjD,UAAK,GAAG,EAAE,CAAC;QACX,iBAAY,GAAG,EAAE,CAAC;IAGmC,CAAC;IAEtD,+CAAQ,GAAR;QAAA,iBA2BC;QA1BC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gCACxB,CAAC;YACR,IAAI,OAAK,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzB,IAAI,WAAW,GAAG,OAAK,KAAK,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,KAAK,KAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,EAA/B,CAA+B,CAAC,CAAC;gBAC1E,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC1B,OAAK,KAAK,CAAC,IAAI,CAAC;wBACd,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM;wBAC/B,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI;wBAC3B,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI;qBAC5B,CAAC,CAAC;iBACJ;qBACI;oBACH,OAAK,KAAK,CAAC,IAAI,CAAC;wBACd,QAAQ,EAAE,OAAK,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB;wBACxC,MAAM,EAAE,OAAK,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW;qBACjC,CAAC,CAAC;iBACJ;aACF;iBACI;gBACH,OAAK,KAAK,CAAC,IAAI,CAAC;oBACd,QAAQ,EAAE,OAAK,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB;oBACxC,MAAM,EAAE,OAAK,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW;iBAEjC,CAAC,CAAC;aACJ;;;QAvBH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE;oBAAhC,CAAC;SAwBT;IACH,CAAC;IAED,4CAAK,GAAL;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;;gBAlCmB,8DAAY;gDAC7B,oDAAM,SAAC,iEAAe;;IARd,4BAA4B;QALxC,+DAAS,CAAC;YACT,QAAQ,EAAE,YAAY;YACtB,wIAA4B;SAE7B,CAAC;QASG,6GAAM,CAAC,iEAAe,CAAC;OARf,4BAA4B,CA0CxC;IAAD,mCAAC;CAAA;AA1CwC;;;;;;;;;;;;;;;;;;;;ACzcS;AACT;AACS;AAQlD;IAIE,0BAAoB,MAAc,EAAU,aAA4B;QAApD,WAAM,GAAN,MAAM,CAAQ;QAAU,kBAAa,GAAb,aAAa,CAAe;QAHxE,UAAK,GAAG,CAAC,CAAC;IAGkE,CAAC;IAE7E,mCAAQ,GAAR;QACE,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;IACpB,CAAC;IACD,sCAAW,GAAX,UAAY,KAAK;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC3B,CAAC;IACD,oCAAS,GAAT;QAAA,iBAMC;QALC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,gBAAM;YAC7C,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAEhD,CAAC,CAAC,CAAC;IAEL,CAAC;IACD,iCAAM,GAAN,UAAO,KAAK;QACV,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC;IAC9B,CAAC;;gBAlB2B,sDAAM;gBAAyB,6DAAa;;IAJ7D,gBAAgB;QAN5B,+DAAS,CAAC;YACT,QAAQ,EAAE,aAAa;YACvB,uJAAuC;YACvC,2CAA2C;YAC3C,SAAS,EAAE,CAAC,6DAAa,CAAC;SAC3B,CAAC;OACW,gBAAgB,CAuB5B;IAAD,uBAAC;CAAA;AAvB4B;;;;;;;;;;;;ACV7B,0BAA0B,mBAAmB,iBAAiB,oBAAoB,sBAAsB,oBAAoB,uBAAuB,sBAAsB,WAAW,aAAa,GAAG,YAAY,2BAA2B,iBAAiB,GAAG,oCAAoC,iBAAiB,GAAG,gBAAgB,kBAAkB,cAAc,sBAAsB,yBAAyB,eAAe,mCAAmC,GAAG,cAAc,YAAY,GAAG,cAAc,YAAY,GAAG,mBAAmB,kBAAkB,4BAA4B,GAAG,yBAAyB,eAAe,GAAG,oBAAoB,kBAAkB,GAAG,qBAAqB,uBAAuB,GAAG,qEAAqE,OAAO,6BAA6B,KAAK,aAAa,iBAAiB,KAAK,kBAAkB,oBAAoB,gBAAgB,iBAAiB,6BAA6B,8BAA8B,8BAA8B,oBAAoB,KAAK,gBAAgB,kBAAkB,KAAK,qBAAqB,oBAAoB,kBAAkB,6BAA6B,8BAA8B,KAAK,oBAAoB,kBAAkB,KAAK,YAAY,kBAAkB,KAAK,iBAAiB,uBAAuB,uBAAuB,KAAK,oBAAoB,oBAAoB,OAAO,MAAM,6CAA6C,u2K;;;;;;;;;;;;;;;;;;;;;;ACAl3C;AACR;AACkC;AAC/B;AACN;AAM/C;IA0DE,wBAAoB,MAAqB,EAAU,MAAiB,EAAU,OAA4B;QAAtF,WAAM,GAAN,MAAM,CAAe;QAAU,WAAM,GAAN,MAAM,CAAW;QAAU,YAAO,GAAP,OAAO,CAAqB;QAvD1G,aAAQ,GAAG,EAAE,CAAC;QACd,UAAK,GAAG,CAAC,CAAC;QAEV,MAAC,GAAW,CAAC,CAAC;QACd,eAAU,GAAG,EAAE,CAAC;QAChB,kBAAa,GAAG,EAAE,CAAC;QAEnB,gBAAW,GAAG,EAAE,CAAC;QACjB,WAAM,GAAY,KAAK,CAAC;QACxB,WAAM,GAAG,EAAE,CAAC;QAEZ,UAAK,GAAG,IAAI,CAAC;QACb,kBAAa,GAAG,IAAI,CAAC;QACrB,eAAU,GAAG,EAAE,CAAC;QAEhB,UAAK,GAAG,EAAE,CAAC;QACX,WAAM,GAAG,KAAK,CAAC;QAIf,eAAU,GAAG,EAAE,CAAC;QAKhB,uBAAkB,GAAG,EAAE,CAAC;QACxB,cAAS,GAAG,KAAK,CAAC;QAClB,kBAAa,GAAG,KAAK,CAAC;QACtB,cAAS,GAAG,KAAK,CAAC;QA0BlB,sBAAiB,GAAY,KAAK,CAAC;QAEjC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAChE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACxD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAEjD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QAC9D,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAChE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAClE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QACpE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAE9C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAEpE,CAAC;IAED,iCAAQ,GAAR;QAAA,iBAmBC;QAjBC,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAE7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,KAAK,OAAO,EAA/C,CAA+C,CAAC,CAAC;QAE3F,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;SAC1C;QACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,eAAK;YAClD,KAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED,mCAAU,GAAV,UAAW,IAAY;QACrB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAGD,mCAAU,GAAV;QAAA,iBAIC;QAHC,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,SAAS,CAAC,iBAAO;YACnF,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8CAAqB,GAArB;QAAA,iBAKC;QAJC,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC,SAAS,CAAC,iBAAO;YACnD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,sCAAa,GAAb;QAAA,iBAIC;QAHC,IAAI,CAAC,MAAM,CAAC,4BAA4B,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,SAAS,CAAC,kBAAQ;YAC5F,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,mCAAU,GAAV,UAAW,GAAW;QAAtB,iBAiFC;QAhFC,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE;YAClE,UAAU,EAAE,yBAAyB;YACrC,IAAI,EAAE,GAAG,GAAG,KAAK,GAAG,KAAK;SAE1B,CAAC,CAAC;QAGH,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7D,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACrD,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACvD,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAE3D,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACzD,SAAS,CAAC,iBAAiB,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAC/C,SAAS,CAAC,iBAAiB,CAAC,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC;QAClE,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACrD,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACvD,SAAS,CAAC,iBAAiB,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACzD,SAAS,CAAC,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACjD,SAAS,CAAC,iBAAiB,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAEvE,IAAI,GAAG,KAAK,MAAM,EAAE;YAClB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC;YAE9B,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;YAC5D,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YACrD,SAAS,CAAC,iBAAiB,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;YACnE,SAAS,CAAC,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;SAClD;QAED,IAAI,GAAG,KAAK,KAAK,EAAE;YACjB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,QAAQ,EAAE,CAAC;SACjB;QAGD,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;YAEtC,IAAI,KAAI,CAAC,UAAU,KAAK,EAAE,IAAI,KAAI,CAAC,UAAU,KAAK,SAAS,EAAE;gBAC3D,KAAI,CAAC,UAAU,EAAE,CAAC;aACnB;iBACI;gBACH,KAAI,CAAC,QAAQ,EAAE,CAAC;aACjB;YAED,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE;gBAC1C,IAAI,SAAS,GAAG,EAAE,CAAC;gBACnB,IAAI,GAAG,KAAK,KAAK,EAAE;oBAEjB,SAAS,GAAG,oBAAoB,CAAC;iBAClC;qBAAM;oBAEL,SAAS,GAAG,sBAAsB,CAAC;iBACpC;gBAED,KAAI,CAAC,QAAQ,EAAE,CAAC;gBAChB,IAAM,aAAa,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE;oBACtE,UAAU,EAAE,yBAAyB;oBACrC,IAAI,EAAE,SAAS,GAAG,KAAK,GAAG,KAAK;iBAEhC,CAAC,CAAC;gBAEH,UAAU,CAAC;oBACT,KAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,CAAC,EAAE,GAAG,CAAC,CAAC;gBACR,aAAa,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,iBAAO;oBAC3C,KAAI,CAAC,WAAW,EAAE,CAAC;oBACnB,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;oBACtB,yBAAyB;oBAEzB,IAAI,KAAI,CAAC,UAAU,KAAK,EAAE,EAAE;wBAC1B,KAAI,CAAC,UAAU,EAAE,CAAC;qBACnB;yBACI;wBACH,KAAI,CAAC,QAAQ,EAAE,CAAC;qBACjB;gBACH,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,mCAAU,GAAV;QAAA,iBAgCC;QA/BC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAClC,UAAC,IAAI;YACH,OAAO,CACL,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;mBACvG,CAAC,IAAI,CAAC,eAAe,KAAK,IAAI,IAAI,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACjI,CAAC,CAEF,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAE1B,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE;YAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE,EAAE;YAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC;YAChC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YACrC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACvC;aACI;YACH,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC;YACjC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;gBACnC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE;oBAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aAC3C;SACF;IAEH,CAAC;IAED,0CAAiB,GAAjB,UAAkB,QAAQ;QACxB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE;YACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;SAC1C;QACD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAC/C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;gBACnC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE;oBAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aAC3C;SACF;IACH,CAAC;IACD,8CAAqB,GAArB;QAAA,iBAkBC;QAjBC,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC,SAAS,CAAC,mBAAS;YACrD,KAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;YAC7D,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,eAAK;gBAClD,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC5C,IAAI,KAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,GAAG,EAAE;oBACjC,IAAI,KAAK,GAAG,KAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,KAAI,CAAC,MAAM,EAAxB,CAAwB,CAAC,CAAC;oBAC9E,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;wBACpB,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;wBACjC,IAAI,QAAQ,GAAG,KAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,KAAI,CAAC,SAAS,EAA3B,CAA2B,CAAC,CAAC;wBACvE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;4BACvB,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;yBACzD;qBAEF;iBACF;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IACD,oCAAW,GAAX;QAAA,iBAaC;QAZC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAEvD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,YAAY,GAAG,OAAO,CAAC;YAE5B,IAAI,KAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,GAAG,EAAE;gBACjC,IAAI,SAAS,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,KAAK,KAAI,CAAC,KAAK,EAA3B,CAA2B,CAAC,CAAC;gBAC3E,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;oBACxB,KAAI,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;iBACvC;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,qCAAY,GAAZ;QACE,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YACtC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;YACpD,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC1B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;YACnC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;SACrC;QAGD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,GAAG,QAAQ,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC,gBAAgB,EAAE,EAAE,EAAE,cAAc,EAAE,0DAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAC9Q,CAAC;IACD,gCAAO,GAAP;QAAA,iBAUC;QATC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YACnD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;YACxB,IAAI,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,KAAI,CAAC,UAAU,EAA5B,CAA4B,CAAC,CAAC;YACvE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvB,KAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;aACtC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iCAAQ,GAAR;QAAA,iBAmEC;QAlEC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YACpD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,eAAK;gBACxC,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC3C,KAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;gBACxB,KAAI,CAAC,YAAY,GAAG,OAAO,CAAC;gBAC5B,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;gBACtB,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC;gBACxB,IAAI,KAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;oBAC9B,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;oBAC3B,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;oBACtB,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;iBAC3B;qBACI;oBACH,IAAI,KAAI,CAAC,UAAU,KAAK,GAAG,IAAI,KAAI,CAAC,UAAU,KAAK,IAAI,IAAI,KAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,GAAG,EAAE;wBAC5F,IAAI,MAAI,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,KAAI,CAAC,SAAS,EAA9B,CAA8B,CAAC,CAAC;wBACrE,KAAI,CAAC,WAAW,GAAG,MAAI,CAAC;wBACxB,IAAI,MAAI,CAAC,MAAM,GAAG,CAAC,EAAE;4BACnB,IAAI,YAAU,GAAG,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,MAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAA3B,CAA2B,CAAC,CAAC;4BAC9E,IAAI,YAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gCACzB,IAAI,KAAK,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,IAAI,YAAU,CAAC,CAAC,CAAC,CAAC,MAAM,EAAhC,CAAgC,CAAC,CAAC;gCACxE,KAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;gCACtB,IAAI,UAAU,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,KAAK,YAAY,IAAI,CAAC,CAAC,MAAM,KAAK,KAAI,CAAC,SAAS,EAA1D,CAA0D,CAAC,CAAC;gCACvG,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;iCAC1B;qCACI;oCACH,IAAI,SAAS,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,KAAI,CAAC,eAAe,EAAjC,CAAiC,CAAC,CAAC;oCAC7E,KAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;oCAC1B,IAAI,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,KAAK,aAAa,IAAI,CAAC,CAAC,MAAM,KAAK,KAAI,CAAC,SAAS,EAA3D,CAA2D,CAAC;oCACnG,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;qCAC1B;yCACI;wCACH,IAAI,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,KAAI,CAAC,SAAS,EAA3B,CAA2B,CAAC,CAAC;wCAClE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;4CACvB,KAAI,CAAC,QAAQ,GAAG,QAAQ;yCACzB;6CACI;4CACH,KAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;yCAC3B;qCACF;iCACF;6BAEF;yBACF;wBACD,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;wBACrC,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;wBAC5D,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;wBAC1B,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;wBACvB,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;wBAE3B,KAAI,CAAC,iBAAiB,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC;qBAEvC;yBACI;wBACH,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;wBACrC,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;wBAC5D,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;wBAC1B,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;wBACvB,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;wBAC3B,KAAI,CAAC,iBAAiB,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC;qBAEvC;iBACF;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,6BAAI,GAAJ,UAAK,QAAQ;QACX,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,0BAA0B;QACtD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,iCAAQ,GAAR,UAAS,OAAO;QACd,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC;QACvC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC;QAC3C,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC;QACtC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED,uCAAc,GAAd;QACE,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YAC3C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;SACvC;IACH,CAAC;IAED,oCAAW,GAAX;QACE,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YAC3C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;SACvC;IACH,CAAC;IAED,mCAAU,GAAV,UAAW,OAAO;QAAlB,iBAgCC;QA/BC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE;YAClE,UAAU,EAAE,yBAAyB;YACrC,IAAI,EAAE,wCAAwC,GAAG,OAAO,CAAC,QAAQ,GAAG,MAAM,GAAG,IAAI;SAClF,CAAC,CAAC;QAEH,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;YACtC,IAAI,MAAM,EAAE;gBACV,IAAI,UAAU,GAAG,CAAC;gBAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACjD,IAAI,OAAO,CAAC,MAAM,IAAI,KAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;wBACjD,UAAU,EAAE,CAAC;qBACd;iBACF;gBACD,IAAI,CAAC,UAAU,EAAE;oBACf,KAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,cAAI;wBAC/C,IAAI,IAAI,CAAC,EAAE,EAAE;4BACX,KAAI,CAAC,cAAc,EAAE,CAAC;4BACtB,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;4BACtB,KAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;yBACzC;wBACD,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;wBACtB,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC;wBACxB,KAAI,CAAC,QAAQ,EAAE,CAAC;oBAElB,CAAC,CAAC,CAAC;iBACJ;qBAAM;oBACL,KAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;iBACxC;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;gBA7Y2B,6DAAa;gBAAkB,kEAAS;gBAAmB,kEAAmB;;IA1D/F,cAAc;QAJ1B,+DAAS,CAAC;YACT,QAAQ,EAAE,WAAW;YACrB,iJAAqC;SACtC,CAAC;OACW,cAAc,CAwc1B;IAAD,qBAAC;CAAA;AAxc0B;AAgd3B;IA0GE,yCAAmB,SAAwD,EACzC,IAAS,EAAS,aAA4B,EAAU,MAAiB;QADxF,cAAS,GAAT,SAAS,CAA+C;QACzC,SAAI,GAAJ,IAAI,CAAK;QAAS,kBAAa,GAAb,aAAa,CAAe;QAAU,WAAM,GAAN,MAAM,CAAW;QAvG3G,cAAS,GAAG,KAAK,CAAC;QAClB,UAAK,GAAG,EAAE,CAAC;QACX,cAAS,GAAG,EAAE,CAAC;QACf,eAAU,GAAG,EAAE,CAAC;QAChB,aAAQ,GAAG,EAAE,CAAC;QACd,gBAAW,GAAG,EAAE,CAAC;QACjB,kBAAa,GAAG,EAAE,CAAC;QACnB,qBAAgB,GAAG,EAAE,CAAC;QACtB,sBAAiB,GAAG,EAAE,CAAC;QACvB,aAAQ,GAAG,KAAK,CAAC;QACjB,gBAAW,GAAG,KAAK,CAAC;QAKpB,oBAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACvC,aAAQ,GAAG,EAAE,CAAC;QACd,gBAAW,GAAG,EAAE,CAAC;QACjB,iBAAY,GAAG,EAAE,CAAC;QAClB,YAAO,GAAG,EAAE,CAAC;QAEb,iBAAY,GAAG,EAAE,CAAC;QAElB,YAAO,GAAG,EAAE,CAAC;QACb,iBAAY,GAAG,EAAE,CAAC;QAClB,kBAAa,GAAG,EAAE,CAAC;QAEnB,YAAO,GAAG,EAAE,CAAC;QAGb,kBAAa,GAAG,EAAE,CAAC;QACnB,kBAAa,GAAG,EAAE,CAAC;QACnB,sBAAiB,GAAG,EAAE,CAAC;QACvB,wBAAmB,GAAG,EAAE,CAAC;QACzB,oBAAe,GAAG,EAAE,CAAC;QACrB,aAAQ,GAAG,EAAE,CAAC;QACd,YAAO,GAAG,EAAE,CAAC;QACb,aAAQ,GAAG,EAAE,CAAC;QACd,gBAAW,GAAG,EAAE,CAAC;QACjB,iBAAY,GAAG,EAAE,CAAC;QAElB,oBAAe,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;QAC7D,iBAAY,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;QAC1D,qBAAgB,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;QAC9D,uBAAkB,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;QAChE,oBAAe,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;QAC7D,qBAAgB,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;QAC9D,mBAAc,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;QAC5D,wBAAmB,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;QACjE,qBAAgB,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;QAC9D,kBAAa,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;QAC3D,oBAAe,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;QAC7D,kBAAa,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;QAC3D,6BAAwB,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;QACtE,sBAAiB,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;QAC/D,wBAAmB,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;QACjE,uBAAkB,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;QAEhE,uBAAkB,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;QAChE,iBAAY,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;QAC1D,sBAAiB,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;QAC/D,oBAAe,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;QAE7D,mBAAc,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;QAC5D,uBAAkB,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;QAChE,0BAAqB,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;QACnE,oBAAe,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;QAE7D,2BAAsB,GAAG,EAAE,CAAC;QAC5B,wBAAmB,GAAG,EAAE,CAAC;QACzB,4BAAuB,GAAG,EAAE,CAAC;QAC7B,8BAAyB,GAAG,EAAE,CAAC;QAC/B,2BAAsB,GAAG,EAAE,CAAC;QAC5B,4BAAuB,GAAG,EAAE,CAAC;QAC7B,0BAAqB,GAAG,EAAE,CAAC;QAC3B,+BAA0B,GAAG,EAAE,CAAC;QAChC,4BAAuB,GAAG,EAAE,CAAC;QAC7B,yBAAoB,GAAG,EAAE,CAAC;QAC1B,2BAAsB,GAAG,EAAE,CAAC;QAC5B,yBAAoB,GAAG,EAAE,CAAC;QAC1B,oCAA+B,GAAG,EAAE,CAAC;QACrC,6BAAwB,GAAG,EAAE,CAAC;QAC9B,+BAA0B,GAAG,EAAE,CAAC;QAChC,mCAA8B,GAAG,EAAE,CAAC;QACpC,mCAA8B,GAAG,EAAE,CAAC;QACpC,6BAAwB,GAAG,EAAE,CAAC;QAC9B,kCAA6B,GAAG,EAAE,CAAC;QACnC,gCAA2B,GAAG,EAAE,CAAC;QAEjC,uBAAkB,GAAG,EAAE,CAAC;QACxB,kBAAa,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC;QAEtD,UAAK,GAAG,EAAE,CAAC;QACX,WAAM,GAAG,EAAE,CAAC;QACZ,aAAQ,GAAG,EAAE,CAAC;QAEd,mBAAc,GAAG,EAAE,CAAC;QACpB,0BAAqB,GAAG,EAAE,CAAC;QAC3B,YAAO,GAAG,KAAK,CAAC;QAChB,cAAS,GAAG,EAAE,CAAC;QACf,gBAAW,GAAG,KAAK,CAAC;QACpB,sBAAiB,GAAY,KAAK,CAAC;QAGjC,gCAAgC;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEnC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE;YAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAE3B,CAAC;IAED,kDAAQ,GAAR;QAAA,iBAgFC;QA/EC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,eAAe,GAAG,EAAE,CAAC;QAEzB,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,GAAG,EAAE;YACjG,IAAI,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC;YAClC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,KAAI,CAAC,SAAS,EAA9B,CAA8B,CAAC,CAAC;SAC3E;QACD,IAAI,IAAI,CAAC,IAAI,IAAI,MAAM,EAAE;YACvB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACvD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC;YAC5D,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;YACxD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC;YAC9D,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC;YAC5D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;YACtD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC;YAClE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC;YAC9D,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC;YAC1D,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC;YACpE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC;YAC9D,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,CAAC;YAC/D,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC;YAC5D,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,CAAC;YAC9E,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC;YAC7D,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,CAAC;YACrE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC;YACnE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;YACvD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC;YACjE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC;YAC5D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC7C,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC;SACtC;aACI;YACH,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,eAAe,GAAG,EAAE,CAAC;YACrB,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBAChE,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,cAAc,KAAK,EAAE,EAAE;iBAC/C;qBACI;oBACH,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;iBAC3E;aACF;iBACI;gBACH,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBAChE,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,cAAc,KAAK,EAAE,EAAE;iBAC/C;qBACI;oBACH,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;iBAC3E;aACF;YACD,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC;YACtC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC;YACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC;YACxC,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,OAAO,CAAC,KAAK,CAAC,GAAG;gBACf,GAAG,EAAE,IAAI;gBACT,GAAG,EAAE,IAAI;gBACT,GAAG,EAAE,IAAI;gBACT,GAAG,EAAE,IAAI;aACV;YACD,IAAI,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACzC,IAAI,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7D,IAAI,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACvC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;oBAC3D,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;oBAC3D,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;oBAC3D,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;iBAC5D;aACF;SACF;QACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/B,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE;YACvB,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;YACrD,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;SACtD;IACH,CAAC;IACD,uDAAa,GAAb;QAAA,iBAQC;QAPC,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,iBAAO;YAClD,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YAC7C,IAAI,CAAC,KAAI,CAAC,iBAAiB,EAAE;gBAC3B,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,QAAQ,IAAI,YAAY,EAA5B,CAA4B,CAAC,CAAC;aAE3E;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oDAAU,GAAV;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IACD,mDAAS,GAAT;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,oDAAU,GAAV,UAAW,eAAe;QAA1B,iBAgJC;QA/IC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,eAAK;YACxD,KAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAExC,IAAI,KAAI,CAAC,KAAK,EAAE;gBACd,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;iBACxD;gBACD,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE;oBAC1B,IAAI,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;oBAClD,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,OAAO,CAAC,MAAM,EAAE,GAAC,EAAE,EAAE;wBACvC;4BACE,IAAI,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAC,CAAC,CAAC,CAAC,CAAC;4BAC9D,IAAI,UAAU,GAAG,EAAE,CAAC;4BACpB,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,OAAO,CAAC,MAAM,EAAE,GAAC,EAAE,EAAE;gCACvC,UAAU,CAAC,OAAO,CAAC,GAAC,CAAC,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAC,CAAC,CAAC,CAAC;6BACzE;4BACD,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC;yBAClC;qBACF;iBACF;aACF;YAED,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,IAAI,KAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC3B,KAAI,CAAC,WAAW,GAAG,KAAK,CAAC;aAC1B;iBACI;gBAEH,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC;aACzB;YAED,KAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAK;gBACtB,IAAI,OAAO,GAAG,EAAE,CAAC;gBACjB,IAAI,WAAW,GAAG,EAAE,CAAC;gBAErB,KAAI,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;gBAClE,CAAC,EAAE,CAAC;gBAEJ,KAAI,CAAC,SAAS,CAAC,OAAO,CAAC,kBAAQ;oBAC7B,IAAM,YAAY,GAAG,EAAE,CAAC;oBACxB,IAAI,QAAQ,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE;wBACpC,KAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,WAAW,GAAG,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;wBACjF,CAAC,EAAE,CAAC;wBACJ;4BACE,IAAM,aAAW,GAAG,EAAE,CAAC;4BACvB,KAAI,CAAC,UAAU,CAAC,OAAO,CAAC,mBAAS;gCAC/B,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS,CAAC,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE;oCACvH,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,GAAG,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;oCACzE,aAAW,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;oCACvC,IAAI,KAAI,CAAC,KAAK,EAAE;wCACd,IAAI,eAAe,CAAC,UAAU,CAAC,EAAE;4CAC/B,IAAI,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC;4CAC5D,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,YAAY,CAAC,MAAM,EAAE,GAAC,EAAE,EAAE;gDAC5C,IAAI,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,MAAM,CAAC,YAAY,CAAC,GAAC,CAAC,CAAC,EAAE;oDAC5D,IAAI,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,GAAC,CAAC,CAAC,CAAC,CAAC;oDACxE,IAAI,UAAU,GAAG,EAAE,CAAC;oDACpB,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,OAAO,CAAC,MAAM,EAAE,GAAC,EAAE,EAAE;wDACvC,UAAU,CAAC,OAAO,CAAC,GAAC,CAAC,CAAC,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,GAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAC,CAAC,CAAC,CAAC;qDACnF;oDACD,KAAI,CAAC,YAAY,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC;iDACtD;qDAAM;oDACL,IAAI,gBAAgB,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE;oDACjE,KAAI,CAAC,YAAY,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,gBAAgB,CAAC;iDAC5D;6CAEF;yCACF;qCACF;iCACF;4BACH,CAAC,CAAC,CAAC;4BAEH,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,aAAW,CAAC;4BAE9C,IAAI,KAAI,CAAC,KAAK,EAAE;gCACd,IAAI,eAAe,CAAC,SAAS,CAAC,EAAE;oCAC9B,IAAI,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;oCAC1D,IAAI,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE;qCACjD;yCACI;wCACH,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;qCAC3C;oCACD,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,WAAW,CAAC,MAAM,EAAE,GAAC,EAAE,EAAE;wCAC3C,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC,WAAW,CAAC,GAAC,CAAC,CAAC,EAAE;4CACzD,IAAI,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,GAAC,CAAC,CAAC,CAAC,CAAC;4CACtE,IAAI,UAAU,GAAG,EAAE,CAAC;4CACpB,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,OAAO,CAAC,MAAM,EAAE,GAAC,EAAE,EAAE;gDACvC,UAAU,CAAC,OAAO,CAAC,GAAC,CAAC,CAAC,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,GAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAC,CAAC,CAAC,CAAC;6CACjF;4CACD,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC;yCACnD;6CACI;4CACH,IAAI,gBAAgB,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE;4CACjE,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,gBAAgB,CAAC;yCACzD;qCACF;iCACF;6BACF;yBACF;wBACD,OAAO,CAAC,QAAQ,CAAC,WAAW,GAAG,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,YAAY,CAAC;qBAC3E;gBACH,CAAC,CAAC,CAAC;gBAGH,IAAI,KAAI,CAAC,KAAK,EAAE;oBACd,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;wBACxD,4BAA4B;wBAC5B,UAAU;qBACX;oBACD,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE;wBAC3B,IAAI,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;wBAGnD,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,OAAO,CAAC,MAAM,EAAE,GAAC,EAAE,EAAE;4BAEvC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,OAAO,CAAC,GAAC,CAAC,CAAC,EAAE;gCAC/C,IAAI,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAC,CAAC,CAAC,CAAC,CAAC;gCAC/D,IAAI,UAAU,GAAG,EAAE,CAAC;gCACpB,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,OAAO,CAAC,MAAM,EAAE,GAAC,EAAE,EAAE;oCAEvC,UAAU,CAAC,OAAO,CAAC,GAAC,CAAC,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAC,CAAC,CAAC,CAAC;iCAE1E;gCAED,KAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC;6BAC1C;iCAAM;gCACL,IAAI,aAAa,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE;gCAC9D,KAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC;6BAC7C;yBACF;qBACF;iBACF;gBACD,KAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC;gBAC7C,KAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC;YACjE,CAAC,CAAC,CAAC;QAEL,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,+CAAK,GAAL;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IACD,0DAAgB,GAAhB,UAAiB,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI;QACvD,IAAI,OAAO,KAAK,KAAK,EAAE;YACrB,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;YACnD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;YAC9C,IAAI,aAAa,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,EAAE;gBAExE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;aACjC;YACD,IAAI,aAAa,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;gBAC1C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACjC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACjC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;aAClC;YAED,IAAI,IAAI,IAAI,MAAM,EAAE;gBAClB,IAAI,UAAU,GAAG,EAAE,CAAC;gBACpB,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC;gBAChD,UAAU,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;gBAC1C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,GAAG,UAAU,CAAC;aACjD;iBAAM;gBACL,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;aAC5C;SAEF;aAEI,IAAI,OAAO,KAAK,MAAM,EAAE;YAC3B,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;YACpD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;YAC/C,IAAI,aAAa,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,EAAE;gBACxE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;aAClC;YACD,IAAI,aAAa,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;gBAC1C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAClC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAClC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;aACnC;YAED,IAAI,IAAI,IAAI,MAAM,EAAE;gBAClB,IAAI,UAAU,GAAG,EAAE,CAAC;gBACpB,IAAI,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;gBAClD,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;oBAC9B,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;iBACzC;qBAAM;oBACL,UAAU,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;oBACxD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;iBACzC;gBACD,UAAU,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;gBAC1C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;aACzC;iBAAM;gBACL,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;aAC5C;SAEF;aAEI,IAAI,OAAO,KAAK,SAAS,EAAE;YAC9B,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;YACvD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC;YACtD,IAAI,aAAa,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,EAAE;gBAExE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;aACrC;YACD,IAAI,aAAa,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;gBAC1C,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACrC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACrC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;aACtC;YACD,IAAI,IAAI,IAAI,MAAM,EAAE;gBAClB,IAAI,UAAU,GAAG,EAAE,CAAC;gBACpB,IAAI,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;gBACrD,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;oBAC9B,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC;iBAC5C;qBAAM;oBACL,UAAU,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;oBACxD,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;iBAC5C;gBACD,UAAU,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;gBAC1C,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;aAC5C;iBAAM;gBAEL,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC;aAChD;SAEF;aAEI,IAAI,OAAO,KAAK,UAAU,EAAE;YAC/B,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;YAC1D,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC;YAC3D,IAAI,aAAa,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,EAAE;gBAExE,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;aACxC;YACD,IAAI,aAAa,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;gBAC1C,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACxC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACxC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;aACzC;YACD,IAAI,IAAI,IAAI,MAAM,EAAE;gBAClB,IAAI,UAAU,GAAG,EAAE,CAAC;gBACpB,IAAI,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;gBACtD,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;oBAC9B,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC;iBAC7C;qBAAM;oBACL,UAAU,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;oBACxD,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;iBAC7C;gBACD,UAAU,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;gBAC1C,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;aAC7C;iBAAM;gBAEL,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC;aAClD;SAEF;IACH,CAAC;IAED,8DAAoB,GAApB,UAAqB,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI;QAC3D,IAAI,aAAa,IAAI,GAAG,EAAE;YACxB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;SAC7B;QACD,IAAI,aAAa,IAAI,GAAG,EAAE;YACxB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;SAC7B;QACD,IAAI,aAAa,IAAI,GAAG,EAAE;YACxB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;SAC7B;QACD,IAAI,OAAO,KAAK,SAAS,EAAE;YACzB,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;YACpD,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;YACxD,IAAI,aAAa,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,EAAE;gBACxE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;aAClC;YACD,IAAI,aAAa,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;gBAC1C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAClC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAClC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAClC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;aAC7B;YACD,IAAI,IAAI,IAAI,MAAM,EAAE;gBAClB,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC;aAC7D;iBAAM;gBACL,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC;aAC5D;SACF;aAAM,IAAI,OAAO,KAAK,MAAM,EAAE;YAC7B,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;YACjD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;YAClD,IAAI,aAAa,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,EAAE;gBACxE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;aAC/B;YACD,IAAI,aAAa,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;gBAC1C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC/B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC/B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC/B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;aAC7B;YACD,IAAI,IAAI,IAAI,MAAM,EAAE;gBAClB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC;aACvD;iBAAM;gBACL,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC;aACzD;SACF;aAAM,IAAI,OAAO,KAAK,UAAU,EAAE;YACjC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;YACrD,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;YAC1D,IAAI,aAAa,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,EAAE;gBACxE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;aACnC;YACD,IAAI,aAAa,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;gBAC1C,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACnC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACnC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACnC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;aAC7B;YACD,IAAI,IAAI,IAAI,MAAM,EAAE;gBAClB,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,uBAAuB,CAAC;aAC/D;iBAAM;gBACL,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,uBAAuB,CAAC;aAC7D;SACF;aAAM,IAAI,OAAO,KAAK,YAAY,EAAE;YACnC,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;YACvD,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC;YAC9D,IAAI,aAAa,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,EAAE;gBACxE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;aACrC;YACD,IAAI,aAAa,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;gBAC1C,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACrC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACrC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACrC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;aAC7B;YACD,IAAI,IAAI,IAAI,MAAM,EAAE;gBAClB,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,yBAAyB,CAAC;aACnE;iBAAM;gBACL,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,yBAAyB,CAAC;aAC/D;SACF;aAAM,IAAI,OAAO,KAAK,SAAS,EAAE;YAChC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;YACpD,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;YACxD,IAAI,aAAa,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,EAAE;gBAExE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;aAClC;YACD,IAAI,aAAa,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;gBAC1C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAClC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAClC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAClC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;aAC7B;YACD,IAAI,IAAI,IAAI,MAAM,EAAE;gBAClB,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC;aAC7D;iBAAM;gBACL,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC;aAC5D;SACF;aAAM,IAAI,OAAO,KAAK,UAAU,EAAE;YACjC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;YACrD,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;YAC1D,IAAI,aAAa,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,EAAE;gBACxE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;aACnC;YACD,IAAI,aAAa,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;gBAC1C,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACnC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACnC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACnC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;aAC7B;YACD,IAAI,IAAI,IAAI,MAAM,EAAE;gBAClB,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,uBAAuB,CAAC;aAC/D;iBAAM;gBACL,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,uBAAuB,CAAC;aAC7D;SACF;aAAM,IAAI,OAAO,KAAK,QAAQ,EAAE;YAC/B,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;YACnD,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;YACtD,IAAI,aAAa,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,EAAE;gBACxE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;aACjC;YACD,IAAI,aAAa,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;gBAC1C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACjC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACjC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACjC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;aAC7B;YACD,IAAI,IAAI,IAAI,MAAM,EAAE;gBAClB,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC;aAC3D;iBAAM;gBACL,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC;aAC3D;SACF;aACI,IAAI,OAAO,KAAK,aAAa,EAAE;YAClC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;YACxD,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC;YAChE,IAAI,aAAa,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,EAAE;gBAExE,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;aACtC;YACD,IAAI,aAAa,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;gBAC1C,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACtC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACtC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACtC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;aAC7B;YACD,IAAI,IAAI,IAAI,MAAM,EAAE;gBAClB,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC;aACrE;iBAAM;gBACL,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC;aAChE;SACF;aAAM,IAAI,OAAO,KAAK,UAAU,EAAE;YACjC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;YACrD,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;YAC1D,IAAI,aAAa,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,EAAE;gBAExE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;aACnC;YACD,IAAI,aAAa,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;gBAC1C,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACnC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACnC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACnC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;aAC7B;YAED,IAAI,IAAI,IAAI,MAAM,EAAE;gBAClB,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,uBAAuB,CAAC;aAC/D;iBAAM;gBACL,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,uBAAuB,CAAC;aAC7D;SACF;aAAM,IAAI,OAAO,KAAK,cAAc,EAAE;YACrC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;YAClD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;YACpD,IAAI,aAAa,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,EAAE;gBAExE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;aAChC;YACD,IAAI,aAAa,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;gBAC1C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAChC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAChC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAChC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;aAC7B;YACD,IAAI,IAAI,IAAI,MAAM,EAAE;gBAClB,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC;aAChE;iBAAM;gBACL,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC;aAC1D;SACF;aACI,IAAI,OAAO,KAAK,SAAS,EAAE;YAC9B,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;YACpD,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;YACxD,IAAI,aAAa,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,EAAE;gBACxE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;aAClC;YACD,IAAI,aAAa,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;gBAC1C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAClC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAClC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAClC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;aAC7B;YACD,IAAI,IAAI,IAAI,MAAM,EAAE;gBAClB,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC;aAC7D;iBAAM;gBACL,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC;aAC5D;SACF;aAAM,IAAI,OAAO,KAAK,OAAO,EAAE;YAC9B,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;YAClD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;YACpD,IAAI,aAAa,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,EAAE;gBACxE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;aAChC;YACD,IAAI,aAAa,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;gBAC1C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAChC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAChC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAChC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;aAC7B;YACD,IAAI,IAAI,IAAI,MAAM,EAAE;gBAClB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC;aACzD;iBAAM;gBACL,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC;aAC1D;SACF;aAAM,IAAI,OAAO,KAAK,kBAAkB,EAAE;YACzC,IAAI,CAAC,wBAAwB,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;YAC7D,IAAI,CAAC,+BAA+B,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,wBAAwB,CAAC;YAC1E,IAAI,aAAa,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,EAAE;gBACxE,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;aAC3C;YACD,IAAI,aAAa,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;gBAC1C,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC3C,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC3C,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC3C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;aAC7B;YACD,IAAI,IAAI,IAAI,MAAM,EAAE;gBAClB,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,+BAA+B,CAAC;aAC/E;iBAAM;gBACL,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,+BAA+B,CAAC;aACrE;SACF;aACI,IAAI,OAAO,KAAK,QAAQ,EAAE;YAC7B,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;YACtD,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC;YAC5D,IAAI,aAAa,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,EAAE;gBAExE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;aACpC;YACD,IAAI,aAAa,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;gBAC1C,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACpC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACpC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACpC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;aAC7B;YACD,IAAI,IAAI,IAAI,MAAM,EAAE;gBAClB,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,wBAAwB,CAAC;aAC9D;iBAAM;gBACL,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,wBAAwB,CAAC;aAC9D;SACF;aACI,IAAI,OAAO,KAAK,cAAc,EAAE;YACnC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;YACxD,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC;YAChE,IAAI,aAAa,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,EAAE;gBACxE,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;aACtC;YACD,IAAI,aAAa,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;gBAC1C,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACtC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACtC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACtC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;aAC7B;YACD,IAAI,IAAI,IAAI,MAAM,EAAE;gBAClB,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC;aACtE;iBAAM;gBACL,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC;aAChE;SACF;aACI,IAAI,OAAO,KAAK,aAAa,EAAE;YAClC,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;YACvD,IAAI,CAAC,8BAA8B,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC;YACnE,IAAI,aAAa,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,EAAE;gBAExE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;aACrC;YACD,IAAI,aAAa,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;gBAC1C,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACrC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACrC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACrC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;aAC7B;YACD,IAAI,IAAI,IAAI,MAAM,EAAE;gBAClB,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,8BAA8B,CAAC;aACzE;iBAAM;gBACL,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,8BAA8B,CAAC;aACpE;SACF;aACI,IAAI,OAAO,KAAK,OAAO,EAAE;YAC5B,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;YACjD,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;YACvD,IAAI,aAAa,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,EAAE;gBAExE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;aAC/B;YACD,IAAI,aAAa,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;gBAC1C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC/B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC/B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC/B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;aAC7B;YACD,IAAI,IAAI,IAAI,MAAM,EAAE;gBAClB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,wBAAwB,CAAC;aAC7D;iBAAM;gBACL,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,wBAAwB,CAAC;aAC9D;SACF;aACI,IAAI,OAAO,KAAK,YAAY,EAAE;YACjC,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;YACtD,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACjE,IAAI,aAAa,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,EAAE;gBAExE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;aACpC;YACD,IAAI,aAAa,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;gBAC1C,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACpC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACpC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACpC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;aAC7B;YACD,IAAI,IAAI,IAAI,MAAM,EAAE;gBAClB,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,6BAA6B,CAAC;aACvE;iBAAM;gBACL,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,6BAA6B,CAAC;aACnE;SACF;aACI,IAAI,OAAO,KAAK,SAAS,EAAE;YAC9B,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;YACpD,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;YAC7D,IAAI,aAAa,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,EAAE;gBAExE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;aAClC;YACD,IAAI,aAAa,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;gBAC1C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAClC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAClC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAClC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;aAC7B;YACD,IAAI,IAAI,IAAI,MAAM,EAAE;gBAClB,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,2BAA2B,CAAC;aAClE;iBAAM;gBAGL,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,2BAA2B,CAAC;aACjE;SACF;IACH,CAAC;IACD,iDAAO,GAAP,UAAQ,IAAI,EAAE,IAAI;QAChB,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;SACjC;QACD,IAAI,IAAI,IAAI,GAAG,EAAE;YACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC7C,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,YAAY;oBAC3C,+DAA+D;oBAC/D,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS;2BACvC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,YAAY;2BAC1C,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,YAAY,CAAC;2BAC3C,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,IAAI,GAAG,CAAC;2BACxD,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC;2BACrE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,kBAAkB,IAAI,IAAI,IAAI,GAAG,CAAC;2BACjE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,IAAI,GAAG,CAAC;2BACvD,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,cAAc,IAAI,IAAI,IAAI,GAAG,CAAC;2BAC7D,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,aAAa,IAAI,IAAI,IAAI,GAAG,CAAC;2BAC5D,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,IAAI,IAAI,IAAI,GAAG,CAAC;2BAErD,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,IAAI,GAAG,CAAC;wBAE3D,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE;4BAClD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;yBACpF;6BAAM,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE;4BAExD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;yBACrF;6BAAM,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,KAAK,EAAE;4BACzD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;4BAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;4BAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;4BAC5B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;4BACrF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;4BACrF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;4BACrF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;yBACtF;6BAAM,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,KAAK,EAAE;4BAC1D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;4BAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;4BAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;4BAC5B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;4BACpF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;4BACpF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;4BACpF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;yBACrF;aAEN;SACF;QACD,IAAI,IAAI,KAAK,GAAG,EAAE;YAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC7C,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,YAAY;oBAC3C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS;wBAC1C,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC,EAE5B;wBACA,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE;4BAClD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;4BAC3B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC;mCACxC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC;mCACzC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC;mCACvC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,kBAAkB,CAAC;mCAClD,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC;mCACxC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,cAAc,CAAC;mCAC9C,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC;mCACvC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,EAAE;gCAC9C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;6BACpF;4BACD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;yBACpF;6BAAM,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE;4BACxD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;4BAC3B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC;mCACxC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC;mCACzC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC;mCACvC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,kBAAkB,CAAC;mCAClD,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC;mCACxC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,cAAc,CAAC;mCAC9C,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC;mCACvC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,EAAE;gCAC9C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;6BACrF;4BACD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;yBACrF;6BAAM,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,KAAK,EAAE;4BACzD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;4BAC3B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC;mCACxC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC;mCACzC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC;mCACvC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,kBAAkB,CAAC;mCAClD,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC;mCACxC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,cAAc,CAAC;mCAC9C,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC;mCACvC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,EAAE;gCAC9C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;6BACtF;yBACF;6BAAM,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,KAAK,EAAE;4BAC1D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;4BAC3B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC;mCACxC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC;mCACzC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC;mCACvC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,kBAAkB,CAAC;mCAClD,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC;mCACxC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,cAAc,CAAC;mCAC9C,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC;mCACvC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,EAAE;gCAC9C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;6BACrF;yBACF;qBAEF;aACJ;SACF;QACD,IAAI,IAAI,KAAK,GAAG,EAAE;YAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC7C,8DAA8D;gBAC9D,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,YAAY;oBAC3C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS;2BACvC,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC;wBAC/B,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE;4BAClD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;4BAC3B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC;mCACxC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC;mCACzC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC;mCACvC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,kBAAkB,CAAC;mCAClD,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC;mCACxC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,cAAc,CAAC;mCAC9C,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC;mCACvC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,EAAE;gCAC9C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;6BACpF;4BACD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;yBACpF;6BAAM,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE;4BACxD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;4BAC3B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC;mCACxC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC;mCACzC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC;mCACvC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,kBAAkB,CAAC;mCAClD,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC;mCACxC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,cAAc,CAAC;mCAC9C,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC;mCACvC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,EAAE;gCAC9C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;6BACrF;4BACD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;yBACrF;6BAAM,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,KAAK,EAAE;4BACzD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;4BAC3B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC;mCACxC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC;mCACzC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC;mCACvC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,kBAAkB,CAAC;mCAClD,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC;mCACxC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,cAAc,CAAC;mCAC9C,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC;mCACvC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,EAAE;gCAC9C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;6BACtF;yBAEF;6BAAM,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,KAAK,EAAE;4BAC1D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;4BAC3B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC;mCACxC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC;mCACzC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC;mCACvC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,kBAAkB,CAAC;mCAClD,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC;mCACxC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,cAAc,CAAC;mCAC9C,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC;mCACvC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,EAAE;gCAC9C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;6BACrF;yBAEF;aACN;SACF;QACD,IAAI,IAAI,KAAK,GAAG,EAAE;YAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC7C,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,YAAY;oBAC3C,+DAA+D;oBAC/D,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC;wBAE1E,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE;4BAClD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;4BAC3B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC;mCACxC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC;mCACzC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC;mCACvC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,kBAAkB,CAAC;mCAClD,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC;mCACxC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,cAAc,CAAC;mCAC9C,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC;mCACvC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,EAAE;gCAC9C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;6BACpF;4BACD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;yBACpF;6BAAM,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE;4BACxD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;4BAC3B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC;mCACxC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC;mCACzC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC;mCACvC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,kBAAkB,CAAC;mCAClD,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC;mCACxC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,cAAc,CAAC;mCAC9C,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC;mCACvC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,EAAE;gCAC9C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;6BACrF;4BACD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;yBACrF;6BAAM,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,KAAK,EAAE;4BACzD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;4BAC3B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC;mCACxC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC;mCACzC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC;mCACvC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,kBAAkB,CAAC;mCAClD,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC;mCACxC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,cAAc,CAAC;mCAC9C,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC;mCACvC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,EAAE;gCAC9C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;6BACtF;yBAEF;6BAAM,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,KAAK,EAAE;4BAC1D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;4BAC3B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC;mCACxC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC;mCACzC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC;mCACvC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,kBAAkB,CAAC;mCAClD,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC;mCACxC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,cAAc,CAAC;mCAC9C,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC;mCACvC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,EAAE;gCAC9C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;6BACrF;yBAEF;aACN;SACF;IACH,CAAC;IACD,iDAAO,GAAP;QAAA,iBA6CC;QA5CC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAExB,UAAU,CAAC;YACT,KAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAC3B,CAAC,EAAE,IAAI,CAAC,CAAC;QAET,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC9D,IAAI,CAAC,YAAY,GAAG,kCAAkC,CAAC;YACvD,OAAO;SACR;aAAM;YACL,IAAI,eAAe,GAAG,EAAE,CAAC;YACzB,IAAI,iBAAiB,GAAG,EAAE,CAAC;YAC3B,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;gBACf,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC;gBACtC,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC;gBACjC,MAAM,GAAG,EAAE,CAAC;aACb;iBAAM;gBACL,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC;gBACrC,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC;gBAClC,MAAM,GAAG,IAAI,CAAC,MAAM;aACrB;YACD,IAAI,IAAI,GAAG;gBACT,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,eAAe,EAAE,IAAI,CAAC,eAAe;gBACrC,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,WAAW,EAAE,iBAAiB;gBAC9B,QAAQ,EAAE,eAAe;gBACzB,SAAS,EAAE,IAAI,CAAC,WAAW;gBAC3B,MAAM,EAAE,MAAM;gBACd,SAAS,EAAE,IAAI,CAAC,SAAS;aAC1B;YACD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,iBAAO;gBAEjD,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE;oBAE1C,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;iBAC5B;qBAAM;oBACL,KAAI,CAAC,QAAQ,GAAG,sBAAsB,CAAC;iBACxC;YACH,CAAC,CAAC,CAAC;SACJ;IAGH,CAAC;;gBAxiC6B,qEAAY;gDACvC,oDAAM,SAAC,wEAAe;gBAA0C,6DAAa;gBAAkB,kEAAS;;IA3GhG,+BAA+B;QAN3C,+DAAS,CAAC;YACT,QAAQ,EAAE,iBAAiB;YAC3B,+HAA4B;;SAE7B,CAAC;QA6GG,6GAAM,CAAC,wEAAe,CAAC;OA3Gf,+BAA+B,CAopC3C;IAAD,sCAAC;CAAA;AAppC2C;;;;;;;;;;;;;;;;;;;;;;AC1dD;AAC0B;AACvB;AACF;AAEe;AAM3D;IAGI,wBAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAD5B,YAAO,GAAW,wEAAW,CAAC,OAAO,CAAC;IACN,CAAC;IAGzC,wDAA+B,GAA/B,UAAgC,SAAiB;QAC7C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAsB,IAAI,CAAC,OAAO,yDAAoD,SAAW,CAAC;aACjH,IAAI,CACD,iEAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAC/B,CAAC;IACV,CAAC;IAED,wDAA+B,GAA/B,UAAgC,SAAiB;QAC7C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAsB,IAAI,CAAC,OAAO,yDAAoD,SAAW,CAAC;aACjH,IAAI,CACD,iEAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAC/B,CAAC;IACV,CAAC;IAED,oCAAW,GAAX,UAAY,MAAsB;QAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,OAAO,uBAAoB,EAAE,MAAM,CAAC,CAAC,IAAI,CACnE,iEAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAC/B,CAAC;IACN,CAAC;IAED,sCAAa,GAAb,UAAc,SAAiB;QAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,IAAI,CAAC,OAAO,uCAAkC,SAAW,CAAC,CAAC,IAAI,CACnF,iEAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAC/B,CAAC;IACN,CAAC;IAED,8CAAqB,GAArB,UAAsB,MAAsB;QACxC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,OAAO,iCAA8B,EAAE,MAAM,CAAC,CAAC,IAAI,CAC7E,iEAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAC/B,CAAC;IACN,CAAC;IAED,gDAAuB,GAAvB,UAAwB,OAAe;QACnC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAsB,IAAI,CAAC,OAAO,+CAA0C,OAAS,CAAC;aACrG,IAAI,CACD,iEAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAC/B,CAAC;IACV,CAAC;IAEO,oCAAW,GAAnB,UAAoB,GAAsB;QACtC,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,GAAG,CAAC,KAAK,YAAY,UAAU,EAAE;YACjC,YAAY,GAAG,uBAAqB,GAAG,CAAC,KAAK,CAAC,OAAS,CAAC;SAC3D;aACI;YACD,YAAY,GAAG,2BAAyB,GAAG,CAAC,MAAM,2BAAsB,GAAG,CAAC,OAAS;SACxF;QACD,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC1B,OAAO,uDAAU,CAAC,YAAY,CAAC,CAAC;IACpC,CAAC;;gBApDyB,+DAAU;;IAH3B,cAAc;QAH1B,gEAAU,CAAC;YACR,UAAU,EAAE,MAAM;SACrB,CAAC;OACW,cAAc,CAwD1B;IAAD,qBAAC;CAAA;AAxD0B;;;;;;;;;;;;;;;;;;;;;;ACX0C;AAC1B;AACG;AACG;AACU;AAM3D;IAEI,2BAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QADpC,YAAO,GAAG,wEAAW,CAAC,OAAO,CAAC;IACU,CAAC;IAEzC,0CAAc,GAAd,UAAe,SAAiB;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAsB,IAAI,CAAC,OAAO,mDAA8C,SAAW,CAAC;aAC3G,IAAI,CACD,iEAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAC/B,CAAC;IACV,CAAC;IAED,0CAAc,GAAd,UAAe,MAAW;QACtB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,OAAO,0BAAuB,EAAE,MAAM,CAAC,CAAC,IAAI,CACtE,iEAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAC/B,CAAC;IACN,CAAC;IAED,4CAAgB,GAAhB,UAAiB,YAAoB;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,IAAI,CAAC,OAAO,6CAAwC,YAAc,CAAC,CAAC,IAAI,CAC5F,iEAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAC/B,CAAC;IACN,CAAC;IAED,kDAAsB,GAAtB,UAAuB,SAAiB,EAAE,YAAoB;QAC1D,IAAI,YAAY,EAAE;YACd,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAsB,IAAI,CAAC,OAAO,gDAA2C,SAAS,sBAAiB,YAAc,CAAC;iBACrI,IAAI,CACD,iEAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAC/B,CAAC;SACT;IACL,CAAC;IAED,+CAAmB,GAAnB,UAAoB,SAAiB;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAsB,IAAI,CAAC,OAAO,6CAAwC,SAAW,CAAC;aACrG,IAAI,CACD,iEAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAC/B,CAAC;IACV,CAAC;IAEO,uCAAW,GAAnB,UAAoB,GAAsB;QACtC,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,GAAG,CAAC,KAAK,YAAY,UAAU,EAAE;YACjC,YAAY,GAAG,uBAAqB,GAAG,CAAC,KAAK,CAAC,OAAS,CAAC;SAC3D;aACI;YACD,YAAY,GAAG,2BAAyB,GAAG,CAAC,MAAM,2BAAsB,GAAG,CAAC,OAAS;SACxF;QACD,OAAO,uDAAU,CAAC,YAAY,CAAC,CAAC;IACpC,CAAC;;gBA9CyB,+DAAU;;IAF3B,iBAAiB;QAH7B,gEAAU,CAAC;YACR,UAAU,EAAE,MAAM;SACrB,CAAC;OACW,iBAAiB,CAkD7B;IAAD,wBAAC;CAAA;AAlD6B;;;;;;;;;;;;;;;;;;;;;;ACVa;AAC0B;AACvB;AACF;AAEe;AAK3D;IAGI,qBAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAD5B,YAAO,GAAW,wEAAW,CAAC,OAAO,CAAC;IACN,CAAC;IAEzC,8BAAQ,GAAR,UAAS,SAAiB;QACtB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAsB,IAAI,CAAC,OAAO,6CAAwC,SAAW,CAAC;aACrG,IAAI,CACD,iEAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAC/B,CAAC;IACV,CAAC;IAED,8BAAQ,GAAR,UAAS,MAAW;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,OAAO,oBAAiB,EAAE,MAAM,CAAC,CAAC,IAAI,CAChE,iEAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAC/B,CAAC;IACN,CAAC;IAED,gCAAU,GAAV,UAAW,MAAc;QACrB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,IAAI,CAAC,OAAO,iCAA4B,MAAQ,CAAC,CAAC,IAAI,CAC1E,iEAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAC/B,CAAC;IACN,CAAC;IAEO,iCAAW,GAAnB,UAAoB,GAAsB;QACtC,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,GAAG,CAAC,KAAK,YAAY,UAAU,EAAE;YACjC,YAAY,GAAG,uBAAqB,GAAG,CAAC,KAAK,CAAC,OAAS,CAAC;SAC3D;aACI;YACD,YAAY,GAAG,2BAAyB,GAAG,CAAC,MAAM,2BAAsB,GAAG,CAAC,OAAS;SACxF;QACD,OAAO,uDAAU,CAAC,YAAY,CAAC,CAAC;IACpC,CAAC;;gBA9ByB,+DAAU;;IAH3B,WAAW;QAHvB,gEAAU,CAAC;YACR,UAAU,EAAE,MAAM;SACrB,CAAC;OACW,WAAW,CAmCvB;IAAD,kBAAC;CAAA;AAnCuB;;;;;;;;;;;;;;;;;;;;;;ACVmB;AAC0B;AACN;AACnB;AAEe;AAM3D;IAKI,6BAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAH5B,YAAO,GAAW,wEAAW,CAAC,OAAO,CAAC;QACvC,kBAAa,GAAG,IAAI,oDAAe,CAAM,CAAC,CAAC,CAAC;QAC5C,mBAAc,GAAuB,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;QAE1E,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;IAC5D,CAAC;IAED,8CAAgB,GAAhB;QACI,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAsB,IAAI,CAAC,OAAO,4BAAyB,CAAC;aAC3E,IAAI,CACD,iEAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAC/B,CAAC;IACV,CAAC;IAED,8CAAgB,GAAhB,UAAiB,MAA2B;QACxC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,OAAO,4BAAyB,EAAE,MAAM,CAAC,CAAC,IAAI,CACxE,iEAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAC/B,CAAC;IACN,CAAC;IAED,gDAAkB,GAAlB,UAAmB,cAAsB;QACrC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,IAAI,CAAC,OAAO,iDAA4C,cAAgB,CAAC,CAAC,IAAI,CAClG,iEAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAC/B,CAAC;IACN,CAAC;IAED,+DAAiC,GAAjC,UAAkC,cAAsB;QACpD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAsB,IAAI,CAAC,OAAO,gEAA2D,cAAgB,CAAC;aAC7H,IAAI,CACD,iEAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAC/B,CAAC;IACV,CAAC;IAED,0DAA4B,GAA5B,UAA6B,SAAiB,EAAE,cAAsB;QAClE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAsB,IAAI,CAAC,OAAO,sDAAiD,SAAS,wBAAmB,cAAgB,CAAC;aAC/I,IAAI,CACD,iEAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAC/B,CAAC;IACV,CAAC;IAED,+DAAiC,GAAjC,UAAkC,cAAsB;QACpD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAsB,IAAI,CAAC,OAAO,gEAA2D,cAAgB,CAAC;aAC7H,IAAI,CACD,iEAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAC/B,CAAC;IACV,CAAC;IAGO,yCAAW,GAAnB,UAAoB,GAAsB;QACtC,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,GAAG,CAAC,KAAK,YAAY,UAAU,EAAE;YACjC,YAAY,GAAG,uBAAqB,GAAG,CAAC,KAAK,CAAC,OAAS,CAAC;SAC3D;aACI;YACD,YAAY,GAAG,2BAAyB,GAAG,CAAC,MAAM,2BAAsB,GAAG,CAAC,OAAS;SACxF;QACD,OAAO,uDAAU,CAAC,YAAY,CAAC,CAAC;IACpC,CAAC;;gBAtDyB,+DAAU;;IAL3B,mBAAmB;QAH/B,gEAAU,CAAC;YACR,UAAU,EAAE,MAAM;SACrB,CAAC;OACW,mBAAmB,CA4D/B;IAAD,0BAAC;CAAA;AA5D+B;;;;;;;;;;;;;;;;;;;;;;;;ACXqC;AAC1B;AACoB;AACnB;AACe;AAI3D,IAAM,MAAM,GAAG,mBAAO,CAAC,+CAAQ,CAAC,CAAC;AACW;AAE5C,IAAM,MAAM,GAAG,iEAAY,CAAC,MAAM,CAAC,CAAC;AAIpC;IAII,wBAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAF5B,YAAO,GAAW,wEAAW,CAAC,OAAO,CAAC;IAG9C,CAAC;IAED,kCAAS,GAAT;QACI,OAAO;YACH,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE;YACpC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE;YACrC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE;YAClC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE;YAClC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE;YAChC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE;YACjC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE;YACjC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE;YACnC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE;YACtC,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE;YACrC,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE;YACtC,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE;SACzC,CAAC;IACN,CAAC;IAED,oCAAW,GAAX,UAAY,SAAiB;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAsB,IAAI,CAAC,OAAO,gDAA2C,SAAW,CAAC,CAAC,IAAI,CAC9G,iEAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAC/B,CAAC;IACN,CAAC;IAED,qCAAY,GAAZ,UAAa,MAAW;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,OAAO,uBAAoB,EAAE,MAAM,CAAC,CAAC,IAAI,CACnE,iEAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAC/B,CAAC;IACN,CAAC;IAED,yCAAgB,GAAhB,UAAiB,eAAe,EAAE,SAAS,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe;QACrF,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC9B,IAAI,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC;QACrD,IAAI,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,UAAC,GAAG,EAAE,KAAK;YACzD,OAAO;gBACH,OAAO,EAAE,KAAK,GAAG,CAAC;gBAClB,SAAS,EAAE,GAAG,CAAC,SAAS;aAC3B;QACL,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,sBAAsB,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,UAAC,GAAG,EAAE,KAAK;YAC/D,OAAO;gBACH,SAAS,EAAE,KAAK,GAAG,CAAC;gBACpB,WAAW,EAAE,UAAU,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC;gBACrC,aAAa,EAAE,GAAG;gBAClB,SAAS,EAAE,SAAS;gBACpB,SAAS,EAAE,WAAW;gBACtB,cAAc,EAAE,cAAc;gBAC9B,eAAe,EAAE,eAAe;aACnC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,+CAAsB,GAAtB,UAAuB,MAAM,EAAE,UAAU;QACrC,IAAI,QAAQ,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,EAAE;YACV,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC;SACnD;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;IAEO,oCAAW,GAAnB,UAAoB,GAAsB;QACtC,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,GAAG,CAAC,KAAK,YAAY,UAAU,EAAE;YACjC,YAAY,GAAG,uBAAqB,GAAG,CAAC,KAAK,CAAC,OAAS,CAAC;SAC3D;aACI;YACD,YAAY,GAAG,2BAAyB,GAAG,CAAC,MAAM,2BAAsB,GAAG,CAAC,OAAS;SACxF;QACD,OAAO,uDAAU,CAAC,YAAY,CAAC,CAAC;IACpC,CAAC;IAED,2CAAkB,GAAlB;QACI,OAAO;YAEH,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE;YACnC,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE;YACnC,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE;YACpC,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE;YACvC,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE;YACrC,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE;YACnC,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE;SAGxC,CAAC;IACN,CAAC;IAED,qCAAY,GAAZ,UAAa,SAAS,EAAE,OAAO,EAAE,OAAO;;QAEpC,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,IAAI,KAAK,GAAG,EAAE;QACd,IAAI,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC;QACzB,IAAI,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;;YAElD,KAAiB,kEAAU,CAAC,EAAE,CAAC,MAAM,CAAC,6CAAE;gBAAnC,IAAI,IAAI;gBAET,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE;oBACnC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;iBAC3B;aACJ;;;;;;;;;QAED,OAAO,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;YACtC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBACrB,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;gBAExD,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;aAC5B;YAED,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAChE,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;gBAEzB,IAAI,KAAK,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,EAAE;oBACjC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;iBAE3D;aACJ;SACJ;QAGD,IAAI,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC5C,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;YAC9C,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;SAC3D;QAED,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,6CAAoB,GAApB,UAAqB,QAAQ,EAAE,SAAS,EAAE,OAAO;QAC7C,IAAI,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC5C,OAAO,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvD,OAAO,CAAC,QAAQ,CAAC,GAAG,UAAQ,QAAQ,CAAC,MAAM,MAAG;QAC9C,IAAI,OAAO,IAAI,YAAY,EAAE;YACzB,OAAO,CAAC,OAAO,CAAC,GAAG,KAAG,OAAO,CAAC,SAAW;SAC5C;aACI;YACD,OAAO,CAAC,OAAO,CAAC,GAAG,KAAG,OAAO,CAAC,OAAS;SAC1C;IACL,CAAC;IACD,sCAAa,GAAb,UAAc,MAAW,EAAE,IAAI,EAAE,cAAc,EAAE,eAAe;QAC5D,IAAI,YAAY,GAAG,EAAE,CAAC;QAEtB,IAAI,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,EAApC,CAAoC,CAAC,CAAC,OAAO,CAAC;QAAC,IAAI,SAAS,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC;QAEtJ,IAAI,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAElD,IAAI,aAAa,GAAG,MAAM,CAAC,cAAc,CAAC;QAC1C,IAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,CAAC;QAE/C,IAAI,cAAc,CAAC;QACnB,IAAI,CAAC,QAAQ,IAAI,aAAa,CAAC;YAC3B,cAAc,GAAG,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;;YAEnJ,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC5F,IAAI,MAAM,CAAC;QACX,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAChE,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;QAC1E,OAAO,YAAY,CAAC;IACxB,CAAC;;gBAhKyB,+DAAU;;IAJ3B,cAAc;QAH1B,gEAAU,CAAC;YACR,UAAU,EAAE,MAAM;SACrB,CAAC;OACW,cAAc,CAqK1B;IAAD,qBAAC;CAAA;AArK0B;;;;;;;;;;;;;;;;;;ACfyB;AAKpD;IAAA;IAqBA,CAAC;IAnBC,4BAAS,GAAT,UAAU,WAAuB,EAAE,IAAU;QAC3C,sBAAsB;QACtB,IAAI,WAAW,EAAE;YACf,OAAO,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACpC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;oBACvC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;iBAC5B;qBACI,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;oBAC5C,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;iBAC3B;qBACI;oBACH,OAAO,CAAC,CAAC;iBACV;YACH,CAAC,CAAC,CAAC;SACJ;QAED,kBAAkB;IACpB,CAAC;IAAA,CAAC;IAnBS,QAAQ;QAHpB,0DAAI,CAAC;YACJ,IAAI,EAAE,MAAM;SACb,CAAC;OACW,QAAQ,CAqBpB;IAAD,eAAC;CAAA;AArBoB;;;;;;;;;;;;ACLrB,8BAA8B,gCAAgC,GAAG,6CAA6C,mmB;;;;;;;;;;;;;;;;;;;;;;;;;ACArD;AACI;AAES;AACkB;AACnC;AACH;AAC8B;AACJ;AAClB;AAM1D;IA2CE,6BACU,cAA8B,EAC9B,MAAiB,EACjB,OAA4B,EAC5B,KAAqB,EACrB,aAA4B;QAJ5B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,WAAM,GAAN,MAAM,CAAW;QACjB,YAAO,GAAP,OAAO,CAAqB;QAC5B,UAAK,GAAL,KAAK,CAAgB;QACrB,kBAAa,GAAb,aAAa,CAAe;QAvCtC,kBAAa,GAAa,EAAE,CAAC;QAE7B,sBAAiB,GAA0B,EAAE,CAAC;QAG9C,oBAAe,GAAY,KAAK,CAAC;QAEjC,mBAAc,GAAW,CAAC,CAAC;QAM3B,eAAU,GAAW,EAAE,CAAC;QACxB,iBAAiB;QACjB,mBAAmB;QACnB,sBAAsB;QACtB,iBAAiB;QACjB,oBAAoB;QACpB,WAAM,GAAY,KAAK,CAAC;QACxB,WAAM,GAAG,EAAE,CAAC;QAEZ,UAAK,GAAG,IAAI,CAAC;QACb,eAAU,GAA0B,EAAE,CAAC;QAGvC,cAAS,GAAG,KAAK,CAAC;QAClB,oBAAe,GAAG,KAAK,CAAC;QAGxB,yBAAyB;QACzB,eAAU,GAAG,IAAI,oEAAkB,EAAE,CAAC;QASpC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACzD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACpD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACvD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QAC5D,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;QACxE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC;QAC9D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC;QAC1D,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAChE,CAAC;IAED,sCAAQ,GAAR;QACE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACrC,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAKD,6CAAe,GAAf,UAAgB,SAAiB;QAAjC,iBA+BC;QA9BC,IAAI,CAAC,cAAc,CAAC,+BAA+B,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,cAAI;YAC3E,KAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC;YACnC,KAAI,CAAC,0BAA0B,GAAG,KAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;YAChE,KAAI,CAAC,mCAAmC,GAAG,KAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,OAAO,IAAK,UAAG,GAAG,OAAO,CAAC,gBAAgB,EAA9B,CAA8B,EAAE,CAAC,CAAC,CAAC;YAC9H,2BAA2B;YAC3B,yBAAyB;YACzB,IAAI,KAAI,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE;gBACvC,8BAA8B;gBAC9B,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;aAC7B;iBACI;gBACH,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBACrE,6BAA6B;gBAC7B,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,KAAI,CAAC,eAAe,GAAG,KAAK,CAAC;gBAC7B,iDAAiD;gBACjD,oEAAoE;gBACpE,6CAA6C;gBAC7C,+CAA+C;gBAC/C,8CAA8C;gBAC9C,IAAI;gBACJ,mDAAmD;gBACnD,4CAA4C;gBAC5C,yCAAyC;gBACzC,qCAAqC;gBACrC,+CAA+C;gBAC/C,IAAI;aACL;QACH,CAAC,CAAC;IACJ,CAAC;IAED,kCAAI,GAAJ,UAAK,QAAQ;QACX,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,sBAAsB;QAClD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,6CAAe,GAAf,UAAgB,OAAO;QAAvB,iBAqBC;QApBC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;QACpC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC;QACzC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QAE9C,IAAI,CAAC,cAAc,CAAC,+BAA+B,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,cAAI;YACnF,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC;YACjC,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC;YAAA,CAAC;YAC1D,IAAI,KAAI,CAAC,cAAc,GAAG,CAAC,EAAE;gBAC3B,KAAI,CAAC,eAAe,GAAG,KAAK,CAAC;gBAC7B,KAAI,CAAC,UAAU,GAAG,EAAE,CAAC;gBACrB,UAAU,CAAC;oBACT,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;oBAC5B,KAAI,CAAC,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;gBACxC,CAAC,EAAE,GAAG,CAAC,CAAC;aACT;iBAAM;gBACL,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;gBAC5B,KAAI,CAAC,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;aACvC;QACH,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,mDAAqB,GAArB,UAAsB,KAA2B,EAAE,GAAG;QAAtD,iBAuBC;QAtBC,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iFAAsB,EAAE;YACzD,UAAU,EAAE,yBAAyB;YACrC,IAAI,EAAE,8DAA8D,GAAG,GAAG,CAAC,WAAW,GAAG,MAAM,GAAG,IAAI;SACvG,CAAC,CAAC;QACH,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;YACtC,IAAI,MAAM,EAAE;gBACV,KAAI,CAAC,UAAU,GAAG,GAAG,CAAC;gBACtB,KAAI,CAAC,UAAU,CAAC,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC;gBAChD,KAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,cAAI;oBACvE,IAAI,IAAI,CAAC,IAAI,EAAE;wBACb,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uFAAuB,EAAE;4BACxC,IAAI,EAAE;gCACJ,OAAO,EAAE,sBAAsB;6BAChC;yBACF,CAAC,CAAC;qBACJ;gBACH,CAAC,CAAC,CAAC;aACJ;iBAAM;gBACL,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,SAAS,KAAK,GAAG,CAAC,SAAS,EAA/B,CAA+B,CAAC,CAAC,eAAe,GAAG,KAAK,CAAC;aAC7F;QAEH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,2CAAa,GAAb;QAAA,iBAgFC;QA/EC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,uBAAuB,GAAG,CAAC,CAAC;QACjC,IAAI,0BAA0B,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACrC,IAAI,CAAC,cAAc,CAAC,+BAA+B,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,cAAI;YAChF,KAAI,CAAC,cAAc,CAAC,+BAA+B,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,eAAK;gBAEjF,IAAI,KAAK,CAAC,IAAI,EAAE;oBACd,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,aAAG;wBACpB,0BAA0B,GAAG,0BAA0B,GAAG,GAAG,CAAC,gBAAgB,CAAC;oBACjF,CAAC,CAAC,CAAC;iBACJ;gBACD,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC;gBACzD,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;gBAC9D,KAAI,CAAC,uBAAuB,GAAG,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,eAAe,CAAC;gBAC1E,IAAI,KAAI,CAAC,cAAc,IAAI,KAAI,CAAC,eAAe,EAAE;oBAC/C,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;oBACjF,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2FAAyB,EAAE;wBAC1C,IAAI,EAAE;4BACJ,aAAa,EAAE,KAAI,CAAC,aAAa;yBAClC;qBACF,CAAC,CAAC;oBACH,OAAO;iBACR;gBACD,KAAI,CAAC,uBAAuB,GAAG,KAAI,CAAC,uBAAuB,GAAG,CAAC,CAAC;gBAChE,KAAI,CAAC,UAAU,GAAG;oBAChB,SAAS,EAAE,CAAC;oBACZ,WAAW,EAAE,EAAE;oBACf,QAAQ,EAAE,KAAI,CAAC,SAAS;oBACxB,QAAQ,EAAE,EAAE;oBACZ,QAAQ,EAAE,EAAE;oBACZ,OAAO,EAAE,EAAE;oBACX,KAAK,EAAE,EAAE;oBACT,IAAI,EAAE,EAAE;oBACR,OAAO,EAAE,EAAE;oBACX,KAAK,EAAE,EAAE;oBACT,MAAM,EAAE,EAAE;oBACV,MAAM,EAAE,EAAE;oBACV,eAAe,EAAE,KAAK;oBACtB,kBAAkB,EAAE,KAAK;oBACzB,gBAAgB,EAAE,CAAC;oBACnB,cAAc,EAAE,KAAI,CAAC,cAAc;oBACnC,MAAM,EAAE,CAAC;oBACT,QAAQ,EAAE,EAAE;oBACZ,QAAQ,EAAE,EAAE;oBACZ,SAAS,EAAE,EAAE;oBACb,QAAQ,EAAE,EAAE;oBACZ,UAAU,EAAE,CAAC;oBACb,SAAS,EAAE,KAAI,CAAC,WAAW;oBAC3B,SAAS,EAAE,KAAI,CAAC,WAAW;oBAC3B,KAAK,EAAE,CAAC;oBACR,MAAM,EAAE,CAAC;iBAEV;gBACD,IAAM,YAAY,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iFAAsB,EAAE;oBAC5D,UAAU,EAAE,yBAAyB;oBACrC,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,IAAI;iBAC3B,CAAC,CAAC;gBACH,YAAY,CAAC,iBAAiB,CAAC,cAAc,GAAG,KAAI,CAAC,UAAU,CAAC;gBAChE,YAAY,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAI,CAAC,QAAQ,CAAC;gBAC5D,YAAY,CAAC,iBAAiB,CAAC,WAAW,GAAG,KAAI,CAAC,iBAAiB,CAAC;gBACpE,YAAY,CAAC,iBAAiB,CAAC,SAAS,GAAG,KAAI,CAAC,SAAS,CAAC;gBAC1D,YAAY,CAAC,iBAAiB,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC;gBACpE,YAAY,CAAC,iBAAiB,CAAC,uBAAuB,GAAG,KAAI,CAAC,uBAAuB,CAAC;gBACtF,YAAY,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;oBACzC,KAAI,CAAC,eAAe,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC;gBACvC,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IAQL,CAAC;IAED,sCAAQ,GAAR;QAAA,iBAIC;QAHC,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,eAAK;YAC/C,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,yCAAW,GAAX,UAAY,UAAU;QAAtB,iBAqBC;QApBC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC;QAC1D,IAAI,CAAC,uBAAuB,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,cAAc,CAAC,+BAA+B,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,cAAI;YAC1F,KAAI,CAAC,cAAc,CAAC,+BAA+B,CAAC,KAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,eAAK;gBAC3F,IAAI,0BAA0B,GAAG,CAAC,CAAC;gBACnC,IAAI,KAAK,CAAC,IAAI,EAAE;oBACd,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,aAAG;wBACpB,0BAA0B,GAAG,0BAA0B,GAAG,GAAG,CAAC,gBAAgB,CAAC;oBACjF,CAAC,CAAC,CAAC;iBACJ;gBACD,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC;gBACzD,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;gBAC9D,KAAI,CAAC,uBAAuB,GAAG,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,eAAe,CAAC;gBAC1E,KAAI,CAAC,uBAAuB,GAAG,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,uBAAuB,CAAC;gBACrF,KAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAC1B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,eAAe;IACf,4DAA4D;IAC5D,6CAA6C;IAC7C,MAAM;IACN,IAAI;IAEJ,2CAAa,GAAb,UAAc,OAAO;QAArB,iBAkCC;QAjCC,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,cAAc,CAAC,+BAA+B,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,cAAI;YACnF,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC;YAC5B,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC;YACzD,IAAI,eAAe,GAAG,CAAC,EAAE;gBACvB,KAAI,CAAC,UAAU,CAAC,6CAA6C,CAAC,CAAC;gBAC/D,OAAO;aACR;iBACI;gBACH,IAAM,SAAS,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iFAAsB,EAAE;oBACzD,UAAU,EAAE,yBAAyB;oBACrC,IAAI,EAAE,0CAA0C,GAAG,OAAO,CAAC,WAAW,GAAG,MAAM,GAAG,IAAI;iBACvF,CAAC,CAAC;gBACH,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;oBACtC,IAAI,MAAM,EAAE;wBACV,0BAA0B;wBAC1B,KAAI,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,cAAI;4BACjE,IAAI,IAAI,CAAC,IAAI,EAAE;gCACb,mBAAmB;gCACnB,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gCACvB,KAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;gCACxC,KAAI,CAAC,eAAe,GAAG,KAAK,CAAC;6BAC9B;4BACD,yBAAyB;4BACzB,2BAA2B;4BAC3B,KAAI,CAAC,eAAe,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC;wBACvC,CAAC,CAAC,CAAC;qBACJ;gBACH,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,sCAAQ,GAAR,UAAS,OAAO;QAAhB,iBAeC;QAdC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACtC,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,eAAK;YAC/C,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3C,IAAI,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,GAAG,EAA1F,CAA0F,CAAC,CAAC;YACrI,KAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC;YACnC,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,KAAI,CAAC,UAAU,CAAC,CAAC;YAClD,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC;YACxD,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC;YACxD,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,KAAI,CAAC,QAAQ,CAAC,CAAC;YAC9C,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;YAC5C,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvB,KAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;aAC5F;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wCAAU,GAAV;QAAA,iBAuDC;QAtDC,uCAAuC;QACvC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC;QACzC,IAAI,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAC7C,UAAC,IAAI;YACH,OAAO,CACL,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChH,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACpG,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CACvG,CAAC;QACJ,CAAC,CACF,CAAC;QACF,IAAI,CAAC,iBAAiB,GAAG,WAAW,CAAC;QACrC,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,IAAI,CAAC,EAAE;YACtC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE,EAAE;YAC1B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC;YACzC,yBAAyB;YACzB,2BAA2B;YAC3B,iDAAiD;YACjD,6CAA6C;YAC7C,+CAA+C;YAC/C,8CAA8C;YAC9C,IAAI;YACJ,mDAAmD;YACnD,4CAA4C;YAC5C,4BAA4B;YAE5B,6CAA6C;YAC7C,IAAI;YACJ,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;QACD,SAAS;QAET,wCAAwC;QACxC,2BAA2B;QAC3B,6BAA6B;QAC7B,+CAA+C;QAC/C,iDAAiD;QACjD,gDAAgD;QAChD,MAAM;QACN,uDAAuD;QACvD,8CAA8C;QAC9C,8BAA8B;QAC9B,iDAAiD;QACjD,MAAM;QAEN,2CAA2C;QAC3C,uCAAuC;QACvC,iDAAiD;QACjD,MAAM;QACN,GAAG;IACL,CAAC;IAED,sCAAQ,GAAR;QAAA,iBAIC;QAHC,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,eAAK;YAC/C,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wCAAU,GAAV,UAAW,GAAW;QAAtB,iBA2DC;QA1DC,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iFAAsB,EAAE;YACzD,UAAU,EAAE,yBAAyB;YACrC,IAAI,EAAE,GAAG,GAAG,KAAK,GAAG,KAAK;SAC1B,CAAC,CAAC;QACH,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACjE,SAAS,CAAC,iBAAiB,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC;QAC7D,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;QACzD,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3D,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7D,SAAS,CAAC,iBAAiB,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QACjE,SAAS,CAAC,iBAAiB,CAAC,uBAAuB,GAAG,IAAI,CAAC,uBAAuB,CAAC;QACnF,SAAS,CAAC,iBAAiB,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACvE,IAAI,GAAG,IAAI,KAAK,EAAE;YAChB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACtC;QACD,IAAI,GAAG,IAAI,MAAM,EAAE;YACjB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;SACtB;QACD,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;YACtC,IAAI,KAAI,CAAC,UAAU,KAAK,EAAE,IAAI,KAAI,CAAC,UAAU,KAAK,SAAS,EAAE;gBAC3D,KAAI,CAAC,UAAU,EAAE,CAAC;aAEnB;iBACI;gBACH,KAAI,CAAC,eAAe,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC;aACtC;YAED,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE;gBAC1C,IAAI,SAAS,GAAG,EAAE,CAAC;gBACnB,IAAI,GAAG,KAAK,KAAK,EAAE;oBACjB,SAAS,GAAG,oBAAoB,CAAC;iBAClC;qBACI;oBACH,SAAS,GAAG,sBAAsB,CAAC;iBACpC;gBACD,yBAAyB;gBACzB,IAAM,YAAY,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iFAAsB,EAAE;oBAC5D,UAAU,EAAE,yBAAyB;oBACrC,IAAI,EAAE,SAAS,GAAG,KAAK,GAAG,KAAK;iBAChC,CAAC,CAAC;gBAEH,UAAU,CAAC;oBACT,KAAI,CAAC,eAAe,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC;oBACrC,KAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,CAAC,EAAE,GAAG,CAAC,CAAC;gBAER,YAAY,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,iBAAO;oBAC1C,IAAI,KAAI,CAAC,UAAU,KAAK,EAAE,EAAE;wBAC1B,KAAI,CAAC,UAAU,EAAE,CAAC;qBACnB;yBACI;wBACH,KAAI,CAAC,eAAe,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC;wBACrC,KAAI,CAAC,QAAQ,EAAE,CAAC;qBACjB;gBACH,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;gBArZyB,wEAAc;gBACtB,2DAAS;gBACR,kEAAmB;gBACrB,qEAAc;gBACN,6DAAa;;IA/C7B;QAAR,2DAAK,EAAE;+DAAwB;IACvB;QAAR,2DAAK,EAAE;0DAAmB;IAClB;QAAR,2DAAK,EAAE;6DAAuB;IACtB;QAAR,2DAAK,EAAE;2DAAoB;IACnB;QAAR,2DAAK,EAAE;+DAAwB;IACvB;QAAR,2DAAK,EAAE;gEAAyB;IACxB;QAAR,2DAAK,EAAE;kEAA2B;IAC1B;QAAR,2DAAK,EAAE;wEAAiC;IAR9B,mBAAmB;QAL/B,+DAAS,CAAC;YACT,QAAQ,EAAE,iBAAiB;YAC3B,mKAA2C;;SAE5C,CAAC;OACW,mBAAmB,CAoc/B;IAAD,0BAAC;CAAA;AApc+B;;;;;;;;;;;;;;;;;;;;;;;;;ACf0B;AAC0B;AAClC;AACG;AACc;AACK;AACzB;AAM/C;IA6CE,wBAAmB,MAAiB,EAC3B,aAA4B,EAC3B,OAA4B,EAC5B,iBAAoC;QAH3B,WAAM,GAAN,MAAM,CAAW;QAC3B,kBAAa,GAAb,aAAa,CAAe;QAC3B,YAAO,GAAP,OAAO,CAAqB;QAC5B,sBAAiB,GAAjB,iBAAiB,CAAmB;QA/C9C,uBAAkB,GAAG,mFAAkB,CAAC;QAGxC,WAAM,GAAG,KAAK,CAAC;QAGf,cAAS,GAAG,KAAK,CAAC;QAElB,MAAC,GAAW,CAAC,CAAC;QACd,eAAU,GAAG,EAAE,CAAC;QAChB,kBAAa,GAAG,EAAE,CAAC;QAEnB,gBAAW,GAAG,EAAE,CAAC;QACjB,WAAM,GAAY,KAAK,CAAC;QACxB,WAAM,GAAG,EAAE,CAAC;QAGZ,eAAU,GAAG,KAAK,CAAC;QACnB,eAAU,GAAG,EAAE,CAAC;QAEhB,cAAS,GAAG,KAAK,CAAC;QAClB,kBAAa,GAAG,KAAK,CAAC;QAMtB,eAAU,GAAG,EAAE,CAAC;QAIhB,oBAAe,GAAG,EAAE,CAAC;QAErB,UAAK,GAAG,IAAI,CAAC;QAMb,gBAAW,GAAG,EAAE,CAAC;QAGjB,uBAAkB,GAAG,mFAAkB,CAAC;QAMtC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAEhE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAEjD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAClE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAClE,CAAC;IAED,iCAAQ,GAAR;QACE,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,KAAK,MAAM,EAA9C,CAA8C,CAAC,CAAC;QAC1F,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;SAC1C;QACD,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,cAAc,EAAE,CAAC;IAExB,CAAC;IAED,uCAAc,GAAd;QAAA,iBAaC;QAZC,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,cAAI;YAC5E,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC;YAChC,IAAI,KAAI,CAAC,eAAe,EAAE;gBACxB,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,KAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE;oBACnF,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,KAAK,KAAI,CAAC,eAAe,CAAC,YAAY,EAAtD,CAAsD,CAAC;iBAChH;gBACD,wFAAwF;gBACxF,uGAAuG;gBACvG,IAAI;aACL;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qCAAY,GAAZ;QACE,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,OAAO,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;YAC1D,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC5C,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;YAC1D,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;YACnC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;YACpC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;SAEjC;QACD,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,GAAG,OAAO,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC,gBAAgB,EAAE,EAAE,EAAE,aAAa,EAAE,0DAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAClR,CAAC;IAED,mCAAU,GAAV;QAAA,iBAgCC;QA/BC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC;QAChC,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CACjC,UAAC,IAAI;YACH,OAAO,CACL,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC1G,CAAC,IAAI,CAAC,cAAc,KAAK,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACtH,CAAC,IAAI,CAAC,eAAe,KAAK,IAAI,IAAI,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAEzH,CAAC;QACJ,CAAC,CACF,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE;YAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE,EAAE;YAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC;YAChC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YACrC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACvC;aACI;YACH,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;YAChC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;gBACnC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE;oBAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aAC3C;SACF;IACH,CAAC;IAED,gCAAO,GAAP;QAAA,iBAwGC;QAvGC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,mBAAS;YAC5D,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3C,KAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;YAC1B,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,IAAI,KAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC9B,KAAI,CAAC,UAAU,GAAG,KAAK,CAAC;gBACxB,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;aAC3B;iBACI;gBACH,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,IAAI,KAAI,CAAC,eAAe,EAAE;oBACxB,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,KAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE;wBACnF,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,YAAY,IAAI,KAAI,CAAC,eAAe,CAAC,YAAY,EAArD,CAAqD,CAAC;qBACnG;yBACI,IAAI,KAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,KAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE;wBAClF,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,MAAM,IAAI,KAAI,CAAC,eAAe,CAAC,MAAM,EAAzC,CAAyC,CAAC;qBACvF;yBACI;wBACH,IAAI,IAAI,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,KAAI,CAAC,SAAS,EAA9B,CAA8B,CAAC,CAAC;wBACrE,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;qBACtB;oBACD,IAAI,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC;oBAC7B,IAAI,CAAC,KAAI,CAAC,eAAe,CAAC,cAAc,EAAE;wBACxC,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;wBACrC,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;wBAC5D,KAAI,CAAC,iBAAiB,CAAC,KAAI,CAAC,QAAQ,CAAC;wBACrC,OAAO;qBACR;oBAED,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;oBAClE,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;oBAC1C,IAAI,KAAI,CAAC,UAAU,IAAI,SAAS,EAAE;wBAChC,IAAI,UAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC;wBAC5C,KAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,KAAI,CAAC,SAAS,EAA9B,CAA8B,CAAC,CAAC;wBACrE,IAAI,UAAQ,IAAI,SAAS,EAAE;oDAChB,CAAC;gCACR,IAAI,OAAO,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,UAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAA9C,CAA8C,CAAC,CAAC;gCACxF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;oCACtB,IAAI,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,KAAI,CAAC,UAAU,CAAC,UAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oCAC9D,IAAI,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wCACjC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAI,CAAC,UAAU,CAAC,UAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;;wCAEpD,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;oCAC1B,IAAI,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wCACjC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAI,CAAC,UAAU,CAAC,UAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;;wCAEpD,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;oCAC1B,IAAI,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wCACjC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAI,CAAC,UAAU,CAAC,UAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;;wCAEpD,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;oCAC1B,IAAI,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wCACjC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAI,CAAC,UAAU,CAAC,UAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;;wCAEpD,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;oCAE1B,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;iCACvC;;4BAtBH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAQ,CAAC,MAAM,EAAE,CAAC,EAAE;wCAA/B,CAAC;6BAuBT;4BACD,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,eAAe,CAAC;4BACrC,IAAI,KAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gCAC5B,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;gCACrC,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gCACvB,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gCACvB,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gCAC3B,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;gCAC5D,KAAI,CAAC,iBAAiB,CAAC,KAAI,CAAC,QAAQ,CAAC;6BACtC;iCACI,IAAI,KAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;gCACnC,KAAI,CAAC,UAAU,GAAG,KAAK,CAAC;gCACxB,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gCACtB,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;6BAC3B;yBACF;qBACF;yBAAM;wBACL,IAAI,KAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;4BAC5B,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;4BACrC,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC;4BACvB,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;4BACvB,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;4BAC3B,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;4BAC5D,KAAI,CAAC,iBAAiB,CAAC,KAAI,CAAC,QAAQ,CAAC;yBACtC;6BACI,IAAI,KAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;4BACnC,KAAI,CAAC,UAAU,GAAG,KAAK,CAAC;4BACxB,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;4BACtB,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;yBAC3B;qBACF;iBACF;qBACI;oBACH,KAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;oBAC1B,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAC5D,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;oBACrC,KAAI,CAAC,iBAAiB,CAAC,KAAI,CAAC,QAAQ,CAAC;iBACtC;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,0CAAiB,GAAjB,UAAkB,QAAQ;QACxB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE;YACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;SAC1C;QACD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAC/C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;gBACnC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE;oBAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aAC3C;SACF;IACH,CAAC;IAED,6BAAI,GAAJ,UAAK,QAAQ;QACX,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,0BAA0B;QACtD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,iCAAQ,GAAR;QACE,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,mCAAU,GAAV,UAAW,GAAW;QAAtB,iBAuDC;QAtDC,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE;YACvD,UAAU,EAAE,yBAAyB;YACrC,IAAI,EAAE,GAAG,GAAG,KAAK,GAAG,KAAK;SAC1B,CAAC,CAAC;QACH,SAAS,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3D,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACrD,SAAS,CAAC,iBAAiB,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QACnE,SAAS,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACvD,SAAS,CAAC,iBAAiB,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QACjE,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7D,IAAI,GAAG,KAAK,KAAK,EAAE;YACjB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,OAAO,EAAE,CAAC;SAChB;QACD,IAAI,GAAG,KAAK,MAAM,EAAE;YAClB,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YACrD,SAAS,CAAC,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;SAClD;QACD,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;YAEtC,KAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,IAAI,KAAI,CAAC,UAAU,KAAK,EAAE,IAAI,KAAI,CAAC,UAAU,KAAK,SAAS,EAAE;gBAC3D,KAAI,CAAC,UAAU,EAAE,CAAC;aACnB;iBACI;gBACH,KAAI,CAAC,OAAO,EAAE,CAAC;aAChB;YACD,IAAI,MAAM,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE;gBAChC,IAAI,SAAS,GAAG,EAAE,CAAC;gBACnB,IAAI,GAAG,KAAK,KAAK,EAAE;oBACjB,SAAS,GAAG,oBAAoB,CAAC;iBAClC;qBACI;oBACH,SAAS,GAAG,sBAAsB,CAAC;iBACpC;gBACD,KAAI,CAAC,OAAO,EAAE,CAAC;gBACf,IAAM,YAAY,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE;oBAC1D,UAAU,EAAE,yBAAyB;oBACrC,IAAI,EAAE,SAAS,GAAG,KAAK,GAAG,KAAK;iBAChC,CAAC,CAAC;gBACH,UAAU,CAAC;oBACT,KAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,CAAC,EAAE,GAAG,CAAC,CAAC;gBACR,YAAY,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,iBAAO;oBAC1C,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;oBACtB,IAAI,KAAI,CAAC,UAAU,KAAK,EAAE,IAAI,KAAI,CAAC,UAAU,KAAK,SAAS,EAAE;wBAC3D,KAAI,CAAC,UAAU,EAAE,CAAC;qBACnB;yBACI;wBACH,KAAI,CAAC,OAAO,EAAE,CAAC;qBAChB;gBACH,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mCAAU,GAAV;QAAA,iBASC;QARC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,mBAAS;YAC/D,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3C,KAAI,CAAC,WAAW,GAAG,SAAS,CAAC;YAC7B,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBAClC,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;YAC/B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,oCAAW,GAAX;QAAA,iBAKC;QAJC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC9D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,YAAY,GAAG,OAAO,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,iCAAQ,GAAR,UAAS,OAAO;QACd,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED,iCAAQ,GAAR;QACE,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YAC3C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;SACvC;IACH,CAAC;IAED,mCAAU,GAAV,UAAW,OAAO;QAAlB,iBAwCC;QAvCC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE;YACvD,UAAU,EAAE,yBAAyB;YACrC,IAAI,EAAE,wCAAwC,GAAG,OAAO,CAAC,QAAQ,GAAG,MAAM,GAAG,IAAI;SAClF,CAAC,CAAC;QACH,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;YACtC,IAAI,MAAM,EAAE;gBACV,KAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,IAAI,YAAU,GAAG,CAAC,CAAC;gBACnB,IAAI,aAAW,GAAG,CAAC,CAAC;gBACpB,UAAU,CAAC;oBACT,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACjD,IAAI,KAAI,CAAC,MAAM,IAAI,KAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;4BAC9C,YAAU,EAAE,CAAC;yBACd;qBACF;oBAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBAChD,IAAI,KAAI,CAAC,MAAM,IAAI,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;4BAC7C,aAAW,EAAE,CAAC;yBACf;qBACF;oBACD,IAAI,CAAC,YAAU,IAAI,CAAC,aAAW,EAAE;wBAC/B,KAAI,CAAC,aAAa,CAAC,UAAU,CAAC,KAAI,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,cAAI;4BACvD,IAAI,IAAI,CAAC,EAAE,EAAE;gCACX,KAAI,CAAC,QAAQ,EAAE,CAAC;gCAChB,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gCACtB,KAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;6BACzC;4BACD,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;4BACtB,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC;4BACxB,KAAI,CAAC,OAAO,EAAE,CAAC;wBACjB,CAAC,CAAC,CAAC;qBACJ;yBAAM;wBACL,KAAI,CAAC,UAAU,CAAC,uCAAuC,CAAC,CAAC;qBAC1D;gBACH,CAAC,EAAE,GAAG,CAAC,CAAC;aACT;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;gBA9W0B,kEAAS;gBACZ,6DAAa;gBAClB,kEAAmB;gBACT,8EAAiB;;IAhDnC,cAAc;QAJ1B,+DAAS,CAAC;YACT,QAAQ,EAAE,WAAW;YACrB,iJAAqC;SACtC,CAAC;OACW,cAAc,CA4Z1B;IAAD,qBAAC;CAAA;AA5Z0B;AAoa3B;IAeE,8BACS,SAA6C,EACpB,IAAS,EAAS,aAA4B,EAAU,OAA4B;QAD7G,cAAS,GAAT,SAAS,CAAoC;QACpB,SAAI,GAAJ,IAAI,CAAK;QAAS,kBAAa,GAAb,aAAa,CAAe;QAAU,YAAO,GAAP,OAAO,CAAqB;QAhBtH,cAAS,GAAG,KAAK,CAAC;QASlB,eAAU,GAAG,EAAE,CAAC;QAEhB,gBAAW,GAAG,KAAK,CAAC;QAMlB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE;YAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAED,uCAAQ,GAAR;IACA,CAAC;IAED,yCAAU,GAAV;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,wCAAS,GAAT;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,sCAAO,GAAP,UAAQ,KAAK;QACX,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;IAChC,CAAC;IAED,+CAAgB,GAAhB,UAAiB,KAAK;QACpB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC;IAClC,CAAC;IAED,sCAAO,GAAP;QAAA,iBAYC;QAXC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,UAAU,CAAC;YACT,KAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAC3B,CAAC,EAAE,IAAI,CAAC,CAAC;QACT,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QAEnB,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE;YACpD,IAAI,CAAC,QAAQ,GAAG,kCAAkC,CAAC;YACnD,OAAO;SACR;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,uCAAQ,GAAR,UAAS,GAAW;QAApB,iBAyCC;QAxCC,IAAM,IAAI,GAAG;YACX,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,IAAI,CAAC,WAAW;YAC3B,SAAS,EAAE,IAAI,CAAC,WAAW;YAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC;YAC1C,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC;QACF,IAAI,GAAG,KAAK,KAAK,EAAE;YACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC7C,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE;oBACzF,IAAI,CAAC,QAAQ,GAAG,0BAA0B,CAAC;oBAC3C,OAAO;iBACR;aACF;YACD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,cAAI;gBAC9C,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE;oBACvC,KAAI,CAAC,QAAQ,GAAG,oBAAoB,CAAC;oBACrC,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;iBAC5B;qBAAM;oBACL,KAAI,CAAC,QAAQ,GAAG,aAAa,CAAC;iBAC/B;YACH,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC7C,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE;oBACvL,IAAI,CAAC,QAAQ,GAAG,0BAA0B,CAAC;oBAC3C,OAAO;iBACR;aACF;YACD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,cAAI;gBAC9C,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE;oBACvC,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;iBAC5B;qBAAM;oBACL,KAAI,CAAC,QAAQ,GAAG,sBAAsB,CAAC;iBACxC;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,oCAAK,GAAL;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,sCAAO,GAAP,UAAQ,GAAG;QACT,IAAI,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO;QACnD,IAAI,CAAC,OAAO,GAAG,EAAE,IAAI,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,IAAI,OAAO,GAAG,GAAG,CAAC,IAAI,OAAO,IAAI,EAAE;YACpF,OAAO,KAAK,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAED,uCAAQ,GAAR;QAAA,iBAUC;QATC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC7C,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC1G,IAAI,CAAC,QAAQ,GAAG,0BAA0B,CAAC;gBAC3C,UAAU,CAAC;oBACT,KAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;gBACrB,CAAC,EAAE,IAAI,CAAC,CAAC;aAEV;SACF;IACH,CAAC;;gBA5GmB,qEAAY;gDAC7B,oDAAM,SAAC,wEAAe;gBAA0C,6DAAa;gBAAmB,kEAAmB;;IAjB3G,oBAAoB;QALhC,+DAAS,CAAC;YACT,QAAQ,EAAE,YAAY;YACtB,+HAA0B;YAC1B,SAAS,EAAE,CAAC,6DAAa,CAAC;SAC3B,CAAC;QAkBG,6GAAM,CAAC,wEAAe,CAAC;OAjBf,oBAAoB,CA6HhC;IAAD,2BAAC;CAAA;AA7HgC;;;;;;;;;;;;AChbjC,yBAAyB,gBAAgB,uBAAuB,GAAG,YAAY,uBAAuB,uBAAuB,GAAG,QAAQ,iBAAiB,8BAA8B,iBAAiB,oBAAoB,GAAG,QAAQ,iBAAiB,oBAAoB,GAAG,WAAW,8BAA8B,GAAG,mBAAmB,8BAA8B,qBAAqB,0BAA0B,GAAG,iBAAiB,wBAAwB,GAAG,oBAAoB,qBAAqB,GAAG,mBAAmB,wBAAwB,GAAG,SAAS,oBAAoB,GAAG,iBAAiB,eAAe,GAAG,iBAAiB,uBAAuB,eAAe,GAAG,kCAAkC,oBAAoB,GAAG,6CAA6C,u7F;;;;;;;;;;;;;;;;;;ACArtB;AACA;AAOlD;IAcE,iCAAoB,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QAbhD,UAAK,GAAG,CAAC,CAAC;QAEV,MAAC,GAAW,CAAC,CAAC;QACd,eAAU,GAAG,EAAE,CAAC;QAChB,kBAAa,GAAG,EAAE,CAAC;QAEnB,gBAAW,GAAG,EAAE,CAAC;QACjB,WAAM,GAAY,KAAK,CAAC;QACxB,WAAM,GAAG,EAAE,CAAC;QAEZ,UAAK,GAAG,IAAI,CAAC;QACb,kBAAa,GAAG,KAAK,CAAC;QACtB,eAAU,GAAG,EAAE,CAAC;IACoC,CAAC;IAErD,0CAAQ,GAAR;QACE,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IACD,6CAAW,GAAX,UAAY,KAAK;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC3B,CAAC;IAED,0CAAQ,GAAR;QAAA,iBAuBC;QAtBC,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,iBAAO;YACjD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;YACxB,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YACrC,IAAI,KAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC9B,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;aAC5B;iBACI;gBACH,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC5D,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAE1B,OAAO,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,EAAE;oBACvC,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC;oBAC1C,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;iBAC1C;gBACD,IAAI,CAAC,KAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAI,CAAC,QAAQ,CAAC;oBAAE,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC;gBACxF,IAAI,KAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;oBACnC,IAAI,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE;wBAC7B,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;iBAC3C;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,sCAAI,GAAJ,UAAK,QAAQ;QACX,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,0BAA0B;QACtD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;;gBAxCkC,6DAAa;;IAdrC,uBAAuB;QALnC,+DAAS,CAAC;YACT,QAAQ,EAAE,qBAAqB;YAC/B,+KAA+C;;SAEhD,CAAC;OACW,uBAAuB,CAwDnC;IAAD,8BAAC;CAAA;AAxDmC;;;;;;;;;;;;ACRpC,+DAA+D,uJ;;;;;;;;;;;;;;;;;ACAb;AAQlD;IAEE,YAAY;IACZ,+DAA+D;IAC/D,KAAK;IAEL;IACA,CAAC;IACD,sCAAQ,GAAR;QACE,QAAQ,CAAC,gBAAgB,CAAC,aAAa,EAAE,UAAU,CAAC;YACjD,CAAC,CAAC,cAAc,EAAE,CAAC;QACvB,CAAC,EAAE,KAAK,CAAC,CAAC;QACX,QAAQ,CAAC,SAAS,GAAG,UAAS,CAAC;YAC3B,gBAAgB;YACnB,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,KAAK,EAAE,EAAE;gBACjC,OAAO,KAAK,CAAC;aACd,WAAU;YACV,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,KAAK,EAAE,EAAE;gBAClC,OAAO,KAAK,CAAC;aACd,WAAU;YACV,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,KAAK,EAAE,EAAE;gBAClC,OAAO,KAAK,CAAC;aACd;YACD,QAAQ;YACR,IAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE,EAAC;gBAC9B,OAAO,KAAK,CAAC;aACb;YACD,sBAAsB;YACrB,IAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE,EAAC;gBAChC,OAAO,KAAK,CAAC;aAEZ;QACF,CAAC;IACH,CAAC;IAjCU,mBAAmB;QAN/B,+DAAS,CAAC;YACT,QAAQ,EAAE,gBAAgB;YAC1B,gKAA0C;;SAG3C,CAAC;OACW,mBAAmB,CAmC/B;IAAD,0BAAC;CAAA;AAnC+B;;;;;;;;;;;;ACRhC,mCAAmC,+BAA+B,GAAG,YAAY,oBAAoB,GAAG,mBAAmB,2CAA2C,GAAG,iBAAiB,2BAA2B,GAAG,+HAA+H,kBAAkB,GAAG,oEAAoE,mCAAmC,wBAAwB,GAAG,8DAA8D,qBAAqB,GAAG,qBAAqB,4BAA4B,GAAG,gCAAgC,4BAA4B,yBAAyB,uCAAuC,GAAG,aAAa,iCAAiC,GAAG,qBAAqB,qBAAqB,GAAG,QAAQ,iBAAiB,8BAA8B,GAAG,mBAAmB,gBAAgB,GAAG,UAAU,sBAAsB,GAAG,UAAU,4BAA4B,GAAG,UAAU,2BAA2B,GAAG,oBAAoB,gCAAgC,4BAA4B,gCAAgC,0BAA0B,GAAG,gBAAgB,gCAAgC,4BAA4B,gCAAgC,GAAG,WAAW,uBAAuB,+BAA+B,2BAA2B,+BAA+B,GAAG,YAAY,gBAAgB,GAAG,UAAU,eAAe,GAAG,kBAAkB,yCAAyC,GAAG,aAAa,0BAA0B,iBAAiB,uBAAuB,sBAAsB,GAAG,gBAAgB,6BAA6B,iBAAiB,uBAAuB,sBAAsB,GAAG,eAAe,4BAA4B,iBAAiB,uBAAuB,sBAAsB,GAAG,WAAW,oBAAoB,gBAAgB,oBAAoB,0BAA0B,GAAG,YAAY,qBAAqB,iBAAiB,qBAAqB,GAAG,iBAAiB,uBAAuB,eAAe,GAAG,aAAa,mBAAmB,sBAAsB,uBAAuB,eAAe,GAAG,UAAU,eAAe,GAAG,cAAc,6BAA6B,qBAAqB,cAAc,oBAAoB,kBAAkB,GAAG,eAAe,6BAA6B,qBAAqB,gBAAgB,oBAAoB,kBAAkB,GAAG,cAAc,6BAA6B,qBAAqB,cAAc,oBAAoB,kBAAkB,gCAAgC,uBAAuB,2BAA2B,GAAG,eAAe,6BAA6B,qBAAqB,gBAAgB,oBAAoB,kBAAkB,gCAAgC,uBAAuB,2BAA2B,GAAG,mBAAmB,qBAAqB,4BAA4B,KAAK,GAAG,kBAAkB,qBAAqB,oBAAoB,KAAK,GAAG,kBAAkB,WAAW,sBAAsB,KAAK,GAAG,kBAAkB,WAAW,gBAAgB,KAAK,UAAU,oBAAoB,KAAK,GAAG,WAAW,eAAe,mDAAmD,4DAA4D,6CAA6C,unZ;;;;;;;;;;;;;;;;;;;;;;;;;ACA5sG;AACzC;AACZ;AAC2B;AAGxB;AACqB;AACH;AAO/C;IAmBE,gCAAoB,OAA4B,EACtC,aAA4B;QADlB,YAAO,GAAP,OAAO,CAAqB;QACtC,kBAAa,GAAb,aAAa,CAAe;QAnB7B,oBAAe,GAA4B,EAAE,CAAC;QAM7C,yBAAoB,GAA0B,IAAI,0DAAY,EAAE,CAAC;QACjE,4BAAuB,GAAG,IAAI,0DAAY,EAAE,CAAC;QAC9C,gBAAW,GAAY,KAAK,CAAC;QACtC,oBAAe,GAA4B,EAAE,CAAC;QAC9C,aAAQ,GAAY,KAAK,CAAC;QAUxB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAChE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAClE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAClE,CAAC;IAED,yCAAQ,GAAR;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,KAAK,YAAY,EAApD,CAAoD,CAAC,CAAC;QAChG,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;SAC1C;QACD,IAAI,MAAM,GAAG,0CAA0C,CAAC;QACxD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,6BAA4B;QACpG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,aAAG;YAC9B,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;QACjE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,6CAAY,GAAZ;QACE,IAAI,QAAQ,GAAG,IAAI,CAAC,gBAAgB,GAAG,WAAW,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC;QAC/J,kCAAkC;QAClC,IAAI,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAM,EAAE,GAAmB,0CAAU,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAE9D,6CAA6C;QAC7C,IAAM,EAAE,GAAkB,0CAAU,CAAC,QAAQ,EAAE,CAAC;QAChD,0CAAU,CAAC,iBAAiB,CAAC,EAAE,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC;QAEnD,kBAAkB;QAClB,8CAAc,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IAE/B,CAAC;IAED,gDAAe,GAAf;QACE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACvD,CAAC;IAED,iDAAgB,GAAhB;QACE,iEAAiE;QACjE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,uCAAM,GAAN,cAAW,MAAM,CAAC,KAAK,EAAE,EAAC,CAAC;IAC3B,sCAAK,GAAL,UAAM,CAAC;QACL,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC;QACpD,IAAI,aAAa,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACzD,IAAI,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,wBAAwB,CAAC,CAAC;QACnE,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACzB,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACvC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;IAED,8CAAa,GAAb;QACE,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;QAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC1C,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YAC/C,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YAClF,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;YACrF,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC5E,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5C,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAChC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACrC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACrC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACrC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACrC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACrC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACrC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACrC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACrC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACrC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YACvC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YACvC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YACvC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YACvC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YACvC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACxB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;YAClC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;YAClC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACvB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;YACrC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;YACtC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;YACnC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC5B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC1B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC1B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC1B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC1B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC1B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC1B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC1B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC1B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC1B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;SAC5B;QACD,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,GAAG,WAAW,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,YAAY,EAAE,WAAW,GAAG,IAAI,CAAC,gBAAgB,EAAE,EAAE,EAAE,mBAAmB,EAAE,0DAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAC9S,CAAC;IAED,4CAAW,GAAX,UAAY,MAAM,EAAE,CAAC;QACnB,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,YAAY,KAAK,IAAI,EAAE;YAC/D,IAAI,CAAC,MAAM,CAAC,iBAAiB;gBAC3B,CACE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;oBAC1H,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAC3H,EAAE;gBACH,KAAK,GAAG,SAAS,CAAC;aACnB;iBAAM,IAAI,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE;gBAClE,IAAI,MAAM,CAAC,iBAAiB,KAAK,KAAK,IAAI,MAAM,CAAC,iBAAiB,KAAK,IAAI,EAAE;oBAC3E,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE;wBAC7E,KAAK,GAAG,SAAS,CAAC;qBACnB;iBACF;qBAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI,KAAK,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,YAAY,EAAE;oBAC/H,KAAK,GAAG,SAAS,CAAC;iBACnB;aACF;SACF;QAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,aAAa,KAAK,IAAI,EAAE;YAChE,IAAI,CAAC,MAAM,CAAC,kBAAkB;gBAC5B,CACE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;oBAC1H,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAC3H,EAAE;gBACH,KAAK,GAAG,QAAQ,CAAC;aAClB;iBAAM,IAAI,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE;gBACnE,IAAI,MAAM,CAAC,kBAAkB,KAAK,KAAK,IAAI,MAAM,CAAC,kBAAkB,KAAK,IAAI,EAAE;oBAC7E,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,kBAAkB,GAAG,MAAM,CAAC,aAAa,CAAC,EAAE;wBAC/E,KAAK,GAAG,QAAQ,CAAC;qBAClB;iBACF;qBACI,IAAI,CAAC,MAAM,CAAC,kBAAkB,IAAI,KAAK,IAAI,MAAM,CAAC,kBAAkB,IAAI,IAAI,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE;oBAChJ,KAAK,GAAG,QAAQ,CAAC;iBAClB;aACF;SACF;QACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI,EAAE;YAC7D,IAAI,CAAC,MAAM,CAAC,eAAe;gBACzB,CACE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;oBACpH,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CACrH,EAAE;gBACH,KAAK,GAAG,SAAS,CAAC;aACnB;iBAAM,IAAI,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE;gBAChE,IAAI,MAAM,CAAC,eAAe,KAAK,KAAK,IAAI,MAAM,CAAC,eAAe,KAAK,IAAI,EAAE;oBACvE,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE;wBACzE,KAAK,GAAG,SAAS,CAAC;qBACnB;iBACF;qBACI,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,KAAK,IAAI,MAAM,CAAC,eAAe,IAAI,IAAI,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;oBACvI,KAAK,GAAG,SAAS,CAAC;iBACnB;aACF;SACF;QACD,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;QAC5D,GAAG;IACL,CAAC;IAEM,4CAAW,GAAlB;QAAA,iBAoBC;QAnBC,uBAAuB;QACvB,IAAI,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QACpD,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC;QAC/B,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;QACpC,kDAAW,CAAC,IAAI,CAAC;aACd,IAAI,CAAC,UAAC,MAAM;YACX,IAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YAC9C,IAAM,GAAG,GAAG,IAAI,6CAAK,CAAC;gBACpB,WAAW,EAAE,WAAW;aACzB,CAAC,CAAC;YACH,IAAM,QAAQ,GAAG,GAAG,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACjD,IAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAClD,IAAM,SAAS,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;YAChE,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YACxD,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC1B,KAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACxB,CAAC,CAAC,CAAC;QACL,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IACvC,CAAC;IAED,+CAAc,GAAd,UAAe,YAAY;QACzB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;QACpC,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IACvC,CAAC;;gBA9M4B,kEAAmB;gBACvB,6DAAa;;IAnB7B;QAAR,2DAAK,EAAE;mEAA+C;IAC9C;QAAR,2DAAK,EAAE;6DAAgB;IACf;QAAR,2DAAK,EAAE;mEAA0B;IACzB;QAAR,2DAAK,EAAE;gEAAkB;IACjB;QAAR,2DAAK,EAAE;qEAA4B;IAE1B;QAAT,4DAAM,EAAE;wEAAkE;IACjE;QAAT,4DAAM,EAAE;2EAA8C;IAC9C;QAAR,2DAAK,EAAE;+DAA8B;IAT3B,sBAAsB;QALlC,+DAAS,CAAC;YACT,QAAQ,EAAE,qBAAqB;YAC/B,+KAA+C;;SAEhD,CAAC;OACW,sBAAsB,CAmOlC;IAAD,6BAAC;CAAA;AAnOkC;;;;;;;;;;;;;ACfnC;AAAA;AAAA,gFAAgF;AAChF,0EAA0E;AAC1E,gEAAgE;AAEzD,IAAM,WAAW,GAAG;IACzB,UAAU,EAAE,KAAK;IACjB,OAAO,EAAE,sCAAsC,CAAE,OAAO;IACxD,kDAAkD;IAClD,kDAAkD;IAClD,wCAAwC;CACzC,CAAC;AAEF;;;;;;GAMG;AACH,mEAAmE;;;;;;;;;;;;;ACnBnE;AAAA;AAAA;AAAA;AAAA;AAA+C;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,KAAK,CAAC,GAAG,CAAC,EAAlB,CAAkB,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;ACXpC,e;;;;;;;;;;;ACAA,e;;;;;;;;;;;ACAA,e;;;;;;;;;;;ACAA,e;;;;;;;;;;;ACAA,e;;;;;;;;;;;ACAA,e;;;;;;;;;;;ACAA,e;;;;;;;;;;;ACAA,e","file":"main-es5.382885ab537a1e992e35.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./$$_lazy_route_resource lazy recursive\";","var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn-bd\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn-bd.js\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-in\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-in.js\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-sg\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./en-sg.js\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-mx\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-mx.js\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fil\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fil.js\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./ga\": \"./node_modules/moment/locale/ga.js\",\n\t\"./ga.js\": \"./node_modules/moment/locale/ga.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-deva\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-deva.js\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it-ch\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it-ch.js\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ku.js\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./oc-lnc\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./oc-lnc.js\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tk\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tk.js\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-mo\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-mo.js\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","module.exports = \"\\r\\n\\r\\n
\\r\\n
\\r\\n

Activity

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Search here\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
Team\\r\\n \\r\\n \\r\\n Process\\r\\n \\r\\n \\r\\n Activity\\r\\n \\r\\n \\r\\n Parent\\r\\n \\r\\n \\r\\n\\r\\n Activity Type\\r\\n \\r\\n \\r\\n\\r\\n Sequence\\r\\n \\r\\n \\r\\n\\r\\n Action
{{element.TeamName}} {{element.ProcessName}} {{element.ActivityName}}{{element.Parentname}}{{element.ActivityTypeName}}{{element.squence}}\\r\\n \\r\\n   \\r\\n
{{element.TeamName}} {{element.ProcessName}} {{element.ActivityName}}{{element.Parentname}}{{element.ActivityTypeName}}{{element.squence}}\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n     \\r\\n \\r\\n
{{element.TeamName}} {{element.ProcessName}} {{element.ActivityName}}{{element.Parentname}}{{element.ActivityTypeName}}{{element.squence}}\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n     \\r\\n \\r\\n

\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n No data available\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
0\\\">\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{row}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"\\r\\n\\r\\n {{data}}\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n

\\r\\n
\\r\\n ×\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n

\\r\\n {{data | titlecase}} Activity\\r\\n New {{data | titlecase}} Sub Activity\\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n Activity *\\r\\n Sub Activity *\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n Key Process*\\r\\n \\r\\n Key Process*\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{processData[i].ProcessName}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Activity *\\r\\n \\r\\n \\r\\n {{data.ActivityName}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Team\\r\\n \\r\\n \\r\\n {{teamData[i].TeamName}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n Sequence *\\r\\n \\r\\n \\r\\n {{data}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n Activity Type *\\r\\n \\r\\n \\r\\n {{activityTypeData[i].ActivityTypeName}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n Employee *\\r\\n \\r\\n \\r\\n {{employeeData[i].EmployeeName}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n Department *\\r\\n \\r\\n \\r\\n {{departmentData[i].DepartmentName}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n {{dataSelf}}\\r\\n \\r\\n\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
Performance Score Card
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Score Card Type: {{scoreCard.ScoreCardType}}\\r\\n
\\r\\n
\\r\\n Department Name: {{scoreCard.DepartmentName}}\\r\\n
\\r\\n
\\r\\n Team Name: {{teamName}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Quarter Details\\r\\n
\\r\\n
\\r\\n Selected Quarter - {{quarterName}}\\r\\n
\\r\\n
\\r\\n Selected Year - {{selectedYearName}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Select Quarter *\\r\\n \\r\\n \\r\\n {{quarter.QuarterName}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Select Year*\\r\\n \\r\\n
\\r\\n No Quarters generated for this company\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n Metric List\\r\\n \\r\\n
\\r\\n No metrics available\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n {{metric.Description}}\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Selected Metrics\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
GoalMetric\\r\\n
Target
\\r\\n
\\r\\n
\\r\\n
Green
\\r\\n
Yellow
\\r\\n
Red
\\r\\n
\\r\\n
FrequencyUOM
\\r\\n {{metric.GoalName}}{{metric.Description}}\\r\\n
\\r\\n
\\r\\n  \\r\\n \\r\\n  - \\r\\n \\r\\n
\\r\\n
\\r\\n  \\r\\n \\r\\n  - \\r\\n \\r\\n
\\r\\n
\\r\\n  \\r\\n \\r\\n  - \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Generated Weeks\\r\\n \\r\\n \\r\\n
\\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 \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
GoalMetric\\r\\n
\\r\\n Target\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Green\\r\\n
\\r\\n
\\r\\n Yellow\\r\\n
\\r\\n
\\r\\n Red\\r\\n
\\r\\n
\\r\\n
FrequencyUOM\\r\\n
Wk 1
\\r\\n
({{WeekDateList[0].label}})
\\r\\n
\\r\\n
Wk 2
\\r\\n
({{WeekDateList[1].label}})
\\r\\n
\\r\\n
Wk 3
\\r\\n
({{WeekDateList[2].label}})
\\r\\n
\\r\\n
Wk 4
\\r\\n
({{WeekDateList[3].label}})
\\r\\n
\\r\\n
Wk 5
\\r\\n
({{WeekDateList[4].label}})
\\r\\n
\\r\\n
Wk 6
\\r\\n
({{WeekDateList[5].label}})
\\r\\n
\\r\\n
Wk 7
\\r\\n
({{WeekDateList[6].label}})
\\r\\n
\\r\\n
Wk 8
\\r\\n
({{WeekDateList[7].label}})
\\r\\n
\\r\\n
Wk 9
\\r\\n
({{WeekDateList[8].label}})
\\r\\n
\\r\\n
Wk 10
\\r\\n
({{WeekDateList[9].label}})
\\r\\n
\\r\\n
Wk 11
\\r\\n
({{WeekDateList[10].label}})
\\r\\n
\\r\\n
Wk 12
\\r\\n
({{WeekDateList[11].label}})
\\r\\n
\\r\\n
Wk 13
\\r\\n
({{WeekDateList[12].label}})
\\r\\n
\\r\\n
Wk 14
\\r\\n
({{WeekDateList[13].label}})
\\r\\n
\\r\\n {{metric.GoalName}}{{metric.Description}}\\r\\n
\\r\\n
\\r\\n {{metric.GreenTargetSymbol}} \\r\\n = \\r\\n {{metric.GreenMinimum}}\\r\\n  - \\r\\n {{metric.GreenMaximum}}\\r\\n
\\r\\n
\\r\\n {{metric.YellowTargetSymbol}} \\r\\n = \\r\\n {{metric.YellowMinimum}}\\r\\n  - \\r\\n {{metric.YellowMaximum}}\\r\\n
\\r\\n
\\r\\n {{metric.RedTargetSymbol}} \\r\\n = \\r\\n {{metric.RedMinimum}}\\r\\n  - \\r\\n {{metric.RedMaximum}}\\r\\n
\\r\\n
\\r\\n
{{metric.Frequency}}{{metric.UOM}}\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Score Card Preview\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"\\r\\n
\\r\\n {{message}}\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"Please review and correct the following\\r\\n
\\r\\n
    \\r\\n
  • {{msg}}
  • \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"\\n\\n
\\n
\\n

Alerts

\\n
\\n
\\n
\\n
\\n
\\n
\\n Frustration alert value\\n
\\n
\\n \\n Alert value *\\n \\n \\n
\\n
\\n \\n\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n Metric\\n alert value\\n
        \\n
\\n \\n Alert value *\\n \\n \\n
\\n
\\n \\n\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n\"","module.exports = \"\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","module.exports = \"\\n\\n
\\n
\\n

Frustrations

\\n\\n
\\n\\n\\n
\\n
\\n\\n
\\n \\n \\n Search here\\n \\n \\n \\n
\\n
\\n \\n\\n
\\n\\n\\n
\\n \\n\\n
\\n
\\n \\n
\\n \\n
\\n \\n
\\n
\\n
\\n
\\n\\n\\n\\n\\n\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n\\n\\n\\n \\n\\n\\n \\n\\n\\n \\n\\n\\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n\\n \\n\\n \\n \\n \\n \\n\\n \\n\\n \\n \\n\\n\\n \\n \\n \\n \\n\\n \\n\\n \\n \\n
\\n\\n \\n \\n Team\\n \\n \\n Process\\n \\n \\n Severity\\n \\n \\n Type\\n \\n \\n Frustration\\n \\n \\n Status\\n \\n \\n Project\\n \\n \\n Description\\n \\n \\n Date Opened\\n \\n \\n Action
\\n \\n {{element.TeamName}} {{element.ProcessName}} {{element.SeverityName}} {{element.FrustrationsTypeName}} {{element.Subject}} {{element.StatusName}}{{element.ProjectName}}{{element.Description}}{{element.PointerDate | date:'MM/dd/yyyy'}}\\n \\n     \\n \\n
\\n\\n\\n
\\n\\n
\\n No data available\\n
\\n
\\n
\\n {{errorMsg}}\\n
\\n
\\n
0\\\">\\n\\n
\\n \\n \\n \\n {{row}}\\n \\n \\n \\n
\\n\\n\\n
\\n\\n \\n \\n
\\n
\\n\\n\\n
\\n
\\n
\\n

* Instructions: Double click or long press(for touch screen devices) to\\n activate rearrangement of the selected frustration.

\\n
\\n
\\n
\\n
{{week.id}} ({{week.count}})
\\n\\n
\\n
\\n \\n\\n \\n Team: {{weekItem.TeamName}}
\\n Frustration: {{weekItem.Subject}}
\\n \\n
\\n \\n Team: {{weekItem.TeamName}}
\\n Frustration: {{weekItem.Subject}}
\\n \\n
\\n
\\n \\n \\n \\n\\n \\n
\\n
\\n
\\n
\\n
\\n\\n
\\n \\n \\n * Project\\n \\n -- None --\\n \\n {{projectData[i].ProjectName}}\\n \\n \\n    \\n\\n \\n\\n \\n
\\n\\n\\n\\n
\\n
\\n Company - {{loginCompanyName }}
\\n Date: {{Date| date:'MM-dd-yyyy' }}
\\n Frustrations Status View\\n

\\n\\n\\n\\n\\n
\\n
\\n
\\n
{{week.id}} ({{week.count}})
\\n\\n
\\n
\\n \\n\\n \\n Team: {{weekItem.TeamName}}
\\n Frustration: {{weekItem.Subject}}
\\n \\n
\\n \\n Team: {{weekItem.TeamName}}
\\n Frustration: {{weekItem.Subject}}
\\n \\n
\\n
\\n \\n \\n \\n\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n\\n\\n\\n\\n\\n\\n\"","module.exports = \"\\r\\n\\r\\n
\\r\\n {{data}}\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n

\\r\\n
\\r\\n ×\\r\\n
\\r\\n Sub Activity\\r\\n
\\r\\n
\\r\\n

Assign Frustration

\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n Pointer ID *\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n Key Process *\\r\\n \\r\\n \\r\\n {{processData[i].ProcessName}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n Activity *\\r\\n \\r\\n \\r\\n {{tempActivity[i].ActivityName}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n Team *\\r\\n \\r\\n \\r\\n {{teamData[i].TeamName}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Sub Activity *\\r\\n\\r\\n \\r\\n \\r\\n {{tempSubActivity[i].ActivityName}}\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n Frustrations Type *\\r\\n \\r\\n \\r\\n {{tempFrustrationType[i].FrustrationsTypeName}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n Frustration *\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n Status\\r\\n \\r\\n \\r\\n {{statusData[i].StatusName}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n Severity *\\r\\n \\r\\n \\r\\n {{severityData[i].SeverityName}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Updated By: {{updatedBy}}\\r\\n
\\r\\n
\\r\\n Updated Date: {{updatedDate | date:'MM/dd/yyyy'}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n {{dataSelf}}\\r\\n \\r\\n\"","module.exports = \"Saved Successfully\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"\\n\\n
\\n \\n \\n \\n
\\n
\\n Organization Name:  \\n {{organizationDetails.OrganizationName}}\\n
\\n
\\n Total Licences:  \\n {{organizationDetails.NoOfLicenses}}\\n
\\n
\\n Remaining Licenses:  \\n {{organizationService.totalLicenses$ | async}}\\n
\\n
\\n
\\n
\\n
\\n \\n Search here\\n \\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Entity\\n \\n \\n Email\\n \\n \\n Phone\\n \\n \\n Sub Entities\\n \\n \\n \\n Enable Score Card\\n Action
{{element.CompanyName}}{{element.Email}} {{element.Phone1}} {{element.NoOfSubCompanies ? element.NoOfSubCompanies : 0}} \\n \\n \\n \\n \\n {{element.EnableScoreCard ? 'Yes' : 'No'}}\\n \\n \\n \\n \\n \\n    \\n \\n     \\n     \\n\\n \\n \\n
\\n
\\n
\\n No data available\\n
\\n
\\n
0\\\">\\n
\\n \\n \\n \\n {{row}}\\n \\n \\n \\n
\\n
\\n \\n
\\n
\\n\\n\\n\"","module.exports = \"\\r\\n\\r\\n\\r\\n {{data}}\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n ×\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Add {{data | titlecase}} Entity

\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Entity name *\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n User First Name *\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n User Last Name *\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Address Line 1 *\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Country *\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n State *\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n City *\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Zipcode *\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Phone1 *\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Email*\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n 0 || (data === 'new' && licenseDetails && licenseDetails.NotUsedLicenses == 0) || (remainingEntityLicenses == 0)\\\"\\r\\n (change)=\\\"enableSubCompanies($event,companyDetails)\\\" [checked]=\\\"companyDetails.EnableSubCompanies\\\">\\r\\n Enable Sub Entities\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n No Of Sub Entities*\\r\\n \\r\\n
\\r\\n
\\r\\n

Admin details

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n UserName *\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n 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 \\r\\n
\\r\\n
\\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
\\r\\n
\\r\\n \\r\\n \\r\\n 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
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{dataSelf}}\\r\\n \"","module.exports = \"\\n
\\n
\\n
Frustrations Count
\\n
\\n
\\n\\n\\n
\\n
\\n
No Frustrations found
\\n
\\n
\\n \\n
\\n
Total
{{totalFCount}}
\\n
 \\n
\\n
\\n
{{json.process}}
{{json.Issues}}
\\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n \\n
\\n\\n\\n
\\n\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n\\n
\\n\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n\\n\\n\\n
\\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n\\n
\\n
\\n\\n\\n\\n \\n \\n\"","module.exports = \"\\n
\\n
\\n

Departments

\\n
\\n
\\n
\\n
\\n \\n Search here\\n \\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n\\n \\n\\n \\n\\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n
Department Name\\n \\n \\n Description\\n \\n \\n Action
{{dept.DepartmentName}} {{dept.DepartmentDescription}}\\n \\n \\n       \\n \\n
\\n
\\n
\\n No data available\\n
\\n
\\n
0\\\">\\n
\\n \\n \\n \\n {{row}}\\n \\n \\n \\n
\\n
\\n \\n
\\n
\\n\"","module.exports = \"\\r\\n\\r\\n
\\r\\n {{data}}\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n ×\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{data | titlecase}} Department

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Department 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 {{dataSelf}}\\r\\n \\r\\n\"","module.exports = \"\\r\\n\\r\\n {{data}}\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n ×\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{data | titlecase}} Employee

\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n User First Name *\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n User Last Name *\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Employee Level*\\r\\n 0 && isTeamAssigned\\\" (selectionChange)=\\\"loginLevelChange()\\\"\\r\\n [(ngModel)]=\\\"selectedLoginLevel\\\">\\r\\n Select\\r\\n \\r\\n {{loginLevel}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n Department*\\r\\n 0 && isTeamAssigned\\\" (selectionChange)=\\\"departmentChange()\\\"\\r\\n [(ngModel)]=\\\"departmentId\\\">\\r\\n -- None --\\r\\n \\r\\n {{dept.DepartmentName}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Team*\\r\\n 0 && isTeamAssigned\\\" (selectionChange)=\\\"team($event)\\\"\\r\\n [(ngModel)]=\\\"TeamID\\\">\\r\\n -- None --\\r\\n \\r\\n {{team.TeamName}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Role*\\r\\n \\r\\n \\r\\n {{rolesData[i].RoleName}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n Email *\\r\\n \\r\\n
\\r\\n
\\r\\n

Login details


\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n UserName *\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n 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
\\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
\\r\\n
\\r\\n \\r\\n \\r\\n 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
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{dataSelf}}\\r\\n \"","module.exports = \"\\n
\\n
\\n

Employee

\\n
\\n
\\n
\\n
\\n \\n Search here\\n \\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Employee\\n \\n \\n Employee Level\\n \\n \\n Email\\n \\n \\n Department\\n \\n \\n Team\\n \\n \\n Role\\n \\n \\n Action
{{element.EmployeeName}} {{element.IsEmployeeLoginLevel}} {{element.EmailID}} {{element.DepartmentName}} {{element.TeamName}} {{element.RoleName}}\\n \\n\\n     \\n\\n     \\n \\n
\\n
\\n
\\n No data available\\n
\\n
\\n
0\\\">\\n
\\n \\n \\n \\n {{row}}\\n \\n \\n \\n
\\n
\\n \\n
\\n
\"","module.exports = \"\\n\\n\\n\\n
\\n
\\n
Comments on Frustrations
\\n
\\n
\\n
0\\\">\\n
\\n \\n * Select Team\\n \\n \\n {{team.TeamName}} \\n \\n \\n \\n
\\n
\\n
\\n
\\n\\n \\n Search here\\n \\n \\n
\\n
\\n
\\n \\n
\\n \\n \\n \\n \\n\\n
\\n
\\n
\\n
\\n \\n
\\n\\n\\n
\\n
\\n
\\n\\n\\n\\n\\n\\n
\\n\\n
\\n
\\n
\\n Company - {{companyName}}
\\n Date: {{headerDate| date:'MM-dd-yyyy' }}
\\n\\n Team: {{TeamName ? TeamName : 'Aggregate\\n Report'}}
\\n Report Type : Comments on Frustrations\\n
\\n\\n
\\n
\\n\\n\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n\\n
No. Team\\n \\n \\n Frustration\\n \\n \\n Comment\\n \\n \\n
{{i+1}}{{element.TeamName}}{{element.name}}\\n \\n \\n \\n \\n\\n
\\n {{data}}\\n
\\n

\\n \\n\\n \\n
\\n\\n {{wrng}}\\n\\n\\n
\\n
\\n
\\n \\n
\\n
\\n\\n
0\\\">\\n
\\n \\n \\n \\n {{row}}\\n \\n \\n \\n
\\n
\\n \\n
\\n
\\n\"","module.exports = \"\\n\\n\\n\\n\\n
\\n\\n
\\n
Process with no Frustrations
\\n
\\n\\n
\\n
\\n
\\n \\n * Select Team\\n\\n \\n \\n\\n {{team.TeamName}} \\n\\n \\n \\n \\n
\\n
\\n
\\n
\\n\\n \\n Search here\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n\\n\\n
\\n
\\n
\\n
\\n \\n
\\n\\n\\n
\\n
\\n\\n
\\n\\n
\\n\\n
\\n
\\n
\\n Company - {{companyName}}
\\n Date: {{headerDate| date:'MM-dd-yyyy' }}
\\n Team: {{TeamName ? TeamName : 'Aggregate\\n Report'}}
\\n Report Type : Process with no Frustrations\\n\\n
\\n\\n
\\n
\\n\\n \\n\\n
\\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n\\n
No. Company\\n \\n \\n Team\\n \\n \\n Process\\n \\n \\n Description\\n \\n \\n
{{i+1}} {{element.CompanyName}}{{element.TeamName}} {{element.ProcessName}} {{element.ProcessDescription}}

\\n\\n \\n
\\n\\n No data available\\n\\n\\n
\\n
\\n
\\n \\n
\\n
\\n
0\\\">\\n
\\n \\n \\n \\n {{row}}\\n \\n \\n \\n
\\n
\\n \\n
\\n
\\n\"","module.exports = \"\\r\\n\\r\\n
\\r\\n {{data}}\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n ×\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{data | titlecase}} Frustration Type

\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n Frustration Type *\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{dataSelf}}\\r\\n \\r\\n\"","module.exports = \"\\n
\\n
\\n

Frustration Types

\\n
\\n
\\n
\\n
\\n \\n Search here\\n \\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n
\\n
\\n \\n \\n \\n\\n \\n\\n \\n\\n \\n \\n \\n \\n\\n \\n\\n \\n \\n\\n \\n \\n \\n\\n
Frustration Types\\n \\n \\n Description\\n \\n \\n Action
{{element.FrustrationsTypeName}} {{element.FrustrationsDescription}}\\n \\n \\n       \\n \\n
\\n
\\n\\n
\\n\\n No data available\\n\\n
\\n
\\n
0\\\">\\n\\n
\\n \\n \\n \\n {{row}}\\n \\n \\n \\n
\\n\\n\\n
\\n \\n
\\n
\\n\"","module.exports = \"\\r\\n\\r\\n
\\r\\n {{data}}\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n ×\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{data | titlecase}} Goal

\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n Goal 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 {{dataSelf}}\\r\\n \\r\\n\"","module.exports = \"\\n
\\n
\\n

Goals

\\n
\\n
\\n
\\n
\\n \\n Search here\\n \\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n\\n\\n\\n\\n
\\n
\\n \\n \\n \\n\\n \\n\\n \\n\\n \\n \\n \\n \\n\\n \\n\\n \\n \\n\\n \\n \\n \\n\\n
Goal Name\\n \\n \\n Description\\n \\n \\n Action
{{goal.GoalName}} {{goal.GoalDescription}}\\n \\n \\n       \\n \\n
\\n
\\n\\n
\\n\\n No data available\\n\\n
\\n
\\n
0\\\">\\n\\n
\\n \\n \\n \\n {{row}}\\n \\n \\n \\n
\\n\\n\\n
\\n \\n
\\n
\"","module.exports = \"\\n\\n\\n
\\n
\\n
Prioritized Projects
\\n
\\n
\\n
\\n
\\n\\n \\n Search here\\n \\n \\n
\\n
\\n
\\n
\\n\\n \\n\\n\\n
\\n
\\n
\\n
\\n \\n
\\n\\n\\n
\\n
\\n
\\n\\n\\n\\n\\n\\n\\n\\n
\\n\\n\\n
\\n
\\n
\\n Company - {{companyName}}
\\n Date: {{headerDate| date:'MM-dd-yyyy' }}
\\n Report Type : Prioritized Projects\\n\\n
\\n\\n
\\n
\\n \\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n
No. Team\\n \\n \\n Project\\n \\n \\n Description\\n \\n \\n Status\\n \\n \\n Project Owner\\n \\n \\n
{{i+1}}{{element.TeamName}} {{element.ProjectName}} {{element.ProjectDescription}} {{element.ProjectStatusName}}{{element.ProjectOwner}}

\\n\\n \\n
\\n\\n No data available\\n\\n\\n
\\n\\n
\\n
\\n \\n
\\n
\\n
0\\\">\\n
\\n \\n \\n \\n {{row}}\\n \\n \\n \\n
\\n
\\n \\n
\\n
\\n\"","module.exports = \"\\r\\n
\\r\\n {{data}}\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Change 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\\r\\n
\\r\\n
\\r\\n
\\r\\n ×\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n {{dataSelf}}\\r\\n
\\r\\n\\r\\n\"","module.exports = \"\\r\\n\\r\\n
\\r\\n\\t
\\r\\n\\t
\\r\\n\\t\\t
\\r\\n\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\\"dorsey\\r\\n\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tUsername\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tPassword\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\r\\n\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t
{{warningMsg}}
\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t
{{warningMsg}}
\\r\\n\\t\\t\\t
\\r\\n\\t\\t
\\r\\n\\r\\n\\t
\\r\\n\\t
\\r\\n
\\r\\n
\\r\\n\\t\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\t\\r\\n\\t\\t\\r\\n\\t\\t\\t
\\r\\n\\r\\n\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t \\r\\n\\t\\t\\t\\t\\t

\\r\\n\\t\\t\\t\\t\\t\\t\\\"dorsey\\r\\n\\t\\t\\t\\t\\t

\\r\\n\\t\\t\\t\\t
\\r\\n\\r\\n\\r\\n\\r\\n\\t\\t\\t\\t
\\r\\n\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t  \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t  Organization\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t
\\r\\n\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t  \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t  Entity\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t
\\r\\n\\r\\n\\t\\t\\t\\t\\t\\r\\n\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t

\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t  \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t  Set Up\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t  \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t  Set Up\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t

\\r\\n\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t  {{list.MenuName}}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t  Frustration\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tTypes
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t

\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t  \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t  Process Map\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t  \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t  Process Map\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t

\\r\\n\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t  Process Map
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t  {{list.MenuName}}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t  \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t  {{list.MenuName}}
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t  \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t  {{list.MenuName}}
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t  \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t  {{list.MenuName}}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t  \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t  User Manual\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t
\\r\\n\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t
\\r\\n\\t\\t\\t
\\r\\n\\t\\t\\r\\n\\t\\t\\r\\n\\t\\t\\t
\\r\\n\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t      \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\\"dorsey\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\r\\n\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t{{CompanyName}}\\r\\n\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t   \\r\\n\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t
\\r\\n\\t\\t\\t
\\r\\n\\t\\t
\\r\\n\\t\\r\\n
\\r\\n\"","module.exports = \"\\r\\n
\\r\\n {{data}}\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n ×\\r\\n
\\r\\n Sub Activity\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n

{{data | titlecase}} Metric

\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n Key Process*\\r\\n \\r\\n Key Process*\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{processData[i].ProcessName}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n Activity *\\r\\n \\r\\n \\r\\n {{tempActivity[i].ActivityName}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n Team *\\r\\n \\r\\n \\r\\n {{teamData[i].TeamName}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n Sub Activity *\\r\\n \\r\\n \\r\\n {{tempSubActivity[i].ActivityName}}\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n Goal Name*\\r\\n\\r\\n \\r\\n \\r\\n {{goal.GoalName}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n Metric *\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n {{dataSelf}}\\r\\n \\r\\n\"","module.exports = \"

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

Metric

\\n
\\n
\\n
\\n
\\n \\n Search here\\n \\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n\\n
\\n
\\n\\n\\n
\\n
\\n \\n \\n \\n\\n \\n \\n\\n \\n\\n \\n \\n \\n\\n \\n\\n \\n \\n\\n \\n \\n\\n \\n\\n \\n \\n \\n \\n\\n\\n\\n \\n \\n\\n\\n\\n\\n \\n\\n \\n\\n \\n \\n\\n
Team\\n \\n \\n Process\\n \\n \\n Activity\\n \\n \\n Goal\\n \\n \\n Metric\\n \\n \\n Source\\n \\n \\n Action
{{element.TeamName}} {{element.ProcessName}} {{element.ActivityName}} {{element.GoalName}} {{element.Description}} {{element.Source}}\\n \\n    \\n \\n
\\n\\n\\n
\\n\\n\\n
\\n\\n No data avilable\\n\\n\\n
\\n
\\n
0\\\">\\n
\\n \\n \\n \\n {{row}}\\n \\n \\n \\n
\\n\\n\\n
\\n\\n \\n \\n
\\n
\\n\"","module.exports = \"\\r\\n\\r\\n
\\r\\n {{data}}\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n ×\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{data | titlecase}} Category

\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n Main Category *\\r\\n \\r\\n \\r\\n {{data.MainCategory}}\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n Sub Category *\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n {{dataSelf}}\\r\\n \\r\\n\"","module.exports = \"\\n
\\n
\\n

Metric Table

\\n
\\n
\\n
\\n
\\n \\n Search here\\n \\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n\\n\\n\\n
\\n
\\n \\n \\n \\n\\n \\n\\n \\n\\n \\n \\n \\n \\n\\n 0\\\">\\n\\n \\n \\n \\n \\n \\n \\n \\n\\n
Main Category\\n \\n \\n Sub Category\\n \\n \\n Action
{{element.MainCategory}}\\n \\n \\n \\n \\n
{{data}}
\\n
\\n \\n \\n \\n \\n
\\n \\n \\n       \\n \\n
\\n\\n
\\n
\\n\\n
\\n\\n No data available\\n\\n
\\n
\\n
0\\\">\\n\\n
\\n \\n \\n \\n {{row}}\\n \\n \\n \\n
\\n\\n\\n
\\n\\n \\n \\n
\\n
\\n\"","module.exports = \"\\n\\n\\n
\\n
\\n
Processes with no Metrics
\\n
\\n
\\n
\\n \\n Select Type *\\n \\n \\n {{scoreCardType}}\\n \\n \\n \\n
\\n
\\n \\n Select Department *\\n \\n \\n {{dept.DepartmentName}}\\n \\n \\n \\n
\\n
0\\\">\\n \\n Select Team *\\n \\n \\n {{team.TeamName}}\\n \\n \\n \\n
\\n
\\n
\\n \\n Search here\\n \\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n Company - {{companyName}}
\\n Date: {{headerDate| date:'MM-dd-yyyy' }}
\\n Team: {{TeamName ? TeamName : 'Aggregate\\n Report'}}\\n Department: {{departmentName ? departmentName : 'Aggregate\\n Report'}}
\\n Report Type : Processes with no Metrics\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
No. Company\\n \\n \\n \\n Department\\n \\n \\n Team\\n \\n \\n Process\\n \\n \\n Description\\n \\n \\n
{{i+1}} {{element.CompanyName}}{{element.DepartmentName}}{{element.TeamName}} {{element.ProcessName}} {{element.ProcessDescription}}

\\n
\\n No data available\\n
\\n
\\n
\\n \\n
\\n
\\n
0\\\">\\n
\\n \\n \\n \\n {{row}}\\n \\n \\n \\n
\\n
\\n \\n
\\n
\\n\"","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n {{data}}\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n ×\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Add {{data | titlecase}} Organization

\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Organization Name *\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n User First Name *\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n User Last Name *\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Address Line 1 *\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Country *\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n State *\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n City *\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Zipcode *\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Phone *\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n Email*\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n Description\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n No. Of Licenses*\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n

Admin details

\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n UserName *\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n 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 \\r\\n
\\r\\n
\\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
\\r\\n
\\r\\n \\r\\n \\r\\n 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
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{dataSelf}}\\r\\n \"","module.exports = \"\\n
\\n
\\n

Organization

\\n
\\n
\\n
\\n
\\n \\n Search here\\n \\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n\\n
Organization\\n \\n \\n Email\\n \\n \\n Phone\\n \\n \\n No Of Licences\\n \\n \\n Action
{{org.OrganizationName}}{{org.Email}} {{org.Phone}} {{org.NoOfLicenses}}\\n \\n \\n \\n \\n    \\n \\n\\n\\n     \\n \\n\\n     \\n \\n\\n \\n
\\n
\\n
\\n No data available\\n
\\n
\\n
0\\\">\\n\\n
\\n \\n \\n \\n {{row}}\\n \\n \\n \\n
\\n\\n\\n
\\n\\n \\n \\n
\\n
\"","module.exports = \"\\n\\n\\n
\\n
\\n
Other Category Frustrations
\\n
\\n
\\n\\n
\\n \\n Select Type *\\n \\n \\n {{scoreCardType}}\\n \\n \\n \\n
\\n\\n
\\n \\n Select Department *\\n \\n \\n {{dept.DepartmentName}}\\n \\n \\n \\n
\\n
0\\\">\\n \\n Select Team *\\n \\n \\n {{team.TeamName}}\\n \\n \\n \\n
\\n
\\n
\\n\\n \\n Search here\\n \\n \\n
\\n
\\n
\\n \\n
\\n \\n \\n \\n \\n\\n
\\n
\\n
\\n
\\n \\n\\n\\n
\\n
\\n
\\n
\\n\\n\\n\\n\\n
\\n\\n
\\n
\\n
\\n Company - {{companyName}}
\\n Date: {{headerDate| date:'MM-dd-yyyy' }}
\\n Team: {{TeamName ? TeamName : 'Aggregate\\n Report'}}\\n Department: {{departmentName ? departmentName : 'Aggregate\\n Report'}}
\\n Report Type : Other Category Frustrations\\n\\n
\\n\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n
No.\\n Department\\n \\n \\n Team\\n \\n \\n Process\\n \\n \\n Activity\\n \\n \\n Type\\n \\n \\n Frustration\\n \\n \\n Description\\n \\n \\n Project Name\\n \\n \\n Status\\n \\n \\n Severity\\n \\n \\n
{{i+1}}\\n {{element.DepartmentName}}\\n {{element.TeamName}} {{element.ProcessName}} {{element.ActivityName}}{{element.FrustrationsTypeName}} {{element.Subject}} {{element.Description}}{{element.ProjectName}}{{element.StatusName}}{{element.SeverityName}}

\\n\\n \\n
\\n\\n No data available\\n\\n\\n
\\n
\\n
\\n \\n
\\n
\\n\\n\\n\\n
0\\\">\\n
\\n \\n \\n \\n {{row}}\\n \\n \\n \\n
\\n
\\n \\n
\\n
\\n\"","module.exports = \"\\r\\n\\r\\n
\\r\\n {{data}}\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\"","module.exports = \"\\r\\n
\\r\\n
Performance Score Card
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Select Type *\\r\\n \\r\\n \\r\\n {{scoreCardType}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Select Department *\\r\\n \\r\\n \\r\\n {{dept.DepartmentName}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Select Team *\\r\\n \\r\\n \\r\\n {{team.TeamName}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n 0 ? 'current-quarter' : ''\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Score Card Name\\r\\n \\r\\n \\r\\n Year\\r\\n \\r\\n \\r\\n Quarter\\r\\n \\r\\n \\r\\n Action
{{scoreCard.ScoreCardName}} {{scoreCard.Year}}{{scoreCard.QuarterName}}\\r\\n \\r\\n \\r\\n \\r\\n    \\r\\n\\r\\n \\r\\n     \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n No data available\\r\\n
\\r\\n
\\r\\n
0\\\">\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{row}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\"","module.exports = \"\\r\\n
\\r\\n {{data}}\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n ×\\r\\n
\\r\\n Sub\\r\\n Activity\\r\\n
\\r\\n
\\r\\n

{{data | titlecase}} Frustration

\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n Key Process *\\r\\n \\r\\n \\r\\n {{processData[i].ProcessName}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n Activity *\\r\\n \\r\\n \\r\\n {{tempActivity[i].ActivityName}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n Team *\\r\\n\\r\\n \\r\\n \\r\\n {{teamData[i].TeamName}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n Sub Activity\\r\\n \\r\\n \\r\\n {{tempSubActivity[i].ActivityName}}\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n Frustration Type *\\r\\n\\r\\n \\r\\n \\r\\n {{frustrationtypeData[i].FrustrationsTypeName}}\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Frustration *\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n Severity *\\r\\n \\r\\n \\r\\n {{severityData[i].SeverityName}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n Status *\\r\\n \\r\\n \\r\\n {{data.StatusName}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n Updated By: {{updatedBy}}\\r\\n
\\r\\n
\\r\\n Updated Date: {{updatedDate | date:'MM/dd/yyyy'}}\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n ×\\r\\n

{{data | titlecase}} Project

\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n Project *\\r\\n \\r\\n \\r\\n {{projectData[i].ProjectName}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n Department *\\r\\n \\r\\n \\r\\n {{departmentData[i].DepartmentName}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n{{dataSelf}}\\r\\n{{successMsg}}\\r\\n\"","module.exports = \"

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

Frustration

\\n
\\n
\\n
\\n \\n
\\n
\\n \\n Search here\\n \\n \\n \\n
\\n \\n
\\n   \\n \\n
\\n \\n
\\n \\n \\n
\\n \\n
\\n \\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n\\n
Process\\n \\n \\n Activity\\n \\n \\n Team\\n \\n \\n Issue ID\\n \\n \\n Type\\n \\n \\n Subject\\n \\n \\n Description\\n \\n \\n Project Name\\n \\n \\n Status\\n \\n \\n\\n Severity\\n \\n \\n\\n Action
{{element.ProcessName}} {{element.ActivityName}}{{element.TeamName}} Issue-{{element.PointerID}}{{element.FrustrationsTypeName}} {{element.Subject}} {{element.Description}}{{element.ProjectName}}{{element.StatusName}}{{element.SeverityName}}\\n \\n     \\n
\\n \\n
\\n
\\n \\n No data available\\n \\n \\n
\\n\\n\\n
\\n
\\n
\\n \\n \\n \\n {{row}}\\n \\n \\n \\n
\\n \\n \\n
\\n \\n
\\n
\\n\\n \\n \\n
\\n
\\n \\n\\n
\\n\"","module.exports = \"\\r\\n\\r\\n\\r\\n {{data}}\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n ×\\r\\n \\r\\n
Select Type
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n Activity\\r\\n \\r\\n Sub Activity\\r\\n \\r\\n Metric\\r\\n Frustation/Issue\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n Edit \\r\\n\\r\\n Delete \\r\\n Re-arrange\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n Sub Map\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n ×\\r\\n
\\r\\n
\\r\\n Frustration List\\r\\n Metric List
\\r\\n Process {{Process}}
\\r\\n Activity {{Activity}} \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
Frustration Goal Metric Type of Frustration Source Status Severity Description Date Opened Action
{{case.Subject}} {{case.GoalName}}{{case.Description}} {{case.FrustrationsTypeName}} {{case.Source}} {{case.StatusName}} {{case.SeverityName}} {{case.Description}} {{case.CreatedDate| date: 'MM/dd/yyyy'}} \\r\\n\\r\\n \\r\\n     \\r\\n \\r\\n\\r\\n \\r\\n     \\r\\n
\\r\\n
\\r\\n\\r\\n No data available\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n No Issues Found\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n ×\\r\\n
\\r\\n\\r\\n
\\r\\n Frustration List\\r\\n Metric List
\\r\\n \\r\\n Activity {{Activity}} \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
Frustration Goal Metric Type of Frustration Source Status Severity Description Date Opened Action
{{case.Subject}} {{case.GoalName}} {{case.Description}} {{case.FrustrationsTypeName}} {{case.Source}} {{case.StatusName}} {{case.SeverityName}} {{case.Description}} {{case.CreatedDate| date: 'MM/dd/yyyy'}} \\r\\n\\r\\n\\r\\n \\r\\n     \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n     \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n No data available\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n No issues found\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n ×\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n {{CompanyName }} - {{ProcessName}} Process Map
\\r\\n Date: {{headerDate| date:'MM-dd-yyyy' }}\\r\\n
\\r\\n
\\r\\n Team: {{TeamName}}
\\r\\n Version: {{currentVersion[\\\"VersionName\\\"]}}\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
No.\\r\\n Metrics\\r\\n
\\r\\n {{i+1}}\\r\\n \\r\\n {{data.Description}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n  \\\"bluetriangle\\\"\\r\\n\\r\\n \\r\\n  \\\"redtriangle\\\"\\r\\n \\r\\n  \\r\\n
\\r\\n   {{ProcessName}}  \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
No.\\r\\n Frustrations\\r\\n
\\r\\n {{i+1}}\\r\\n \\r\\n {{data.Subject}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
No. \\r\\n Metrics\\r\\n
\\r\\n {{i+1}}\\r\\n \\r\\n {{data.Description}}\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{Activity.ActivityName}} \\r\\n \\r\\n\\r\\n
\\r\\n \\\"bluestar\\\"\\r\\n\\r\\n
\\r\\n\\r\\n
=alertValue && (MapType==='0' || MapType==='3')\\\">\\r\\n \\\"bluestar\\\"\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{Activity.ActivityName}} \\r\\n \\r\\n\\r\\n
\\r\\n \\\"bluestar\\\"\\r\\n\\r\\n
\\r\\n\\r\\n
=alertValue && (MapType==='0' || MapType==='3')\\\">\\r\\n \\\"redstar\\\"\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
No.\\r\\n Frustrations\\r\\n
\\r\\n {{i+1}}\\r\\n \\r\\n {{data.Subject}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{CompanyName }} - {{ProcessName}} Process Map
\\r\\n Date: {{headerDate| date:'MM-dd-yyyy' }}
\\r\\n
\\r\\n
\\r\\n Team: {{TeamName}}
\\r\\n Version: {{currentVersion[\\\"VersionName\\\"]}}\\r\\n
\\r\\n

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
No.\\r\\n Metrics\\r\\n
\\r\\n {{i+1}}\\r\\n \\r\\n {{data.Description}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n  \\\"bluetriangle\\\"\\r\\n\\r\\n \\r\\n  \\\"redtriangle\\\"\\r\\n \\r\\n  \\r\\n
\\r\\n   {{ProcessName}}  \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
No.\\r\\n Frustrations\\r\\n
\\r\\n {{i+1}}\\r\\n \\r\\n {{data.Subject}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
No.\\r\\n Metrics\\r\\n
\\r\\n {{i+1}}\\r\\n \\r\\n {{data.Description}}\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{Activity.ActivityName}} \\r\\n \\r\\n\\r\\n \\r\\n \\\"bluestar\\\"\\r\\n\\r\\n \\r\\n\\r\\n =alertValue && (MapType==='0' || MapType==='3')\\\">\\r\\n \\\"bluestar\\\"\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{Activity.ActivityName}} \\r\\n \\r\\n\\r\\n \\r\\n \\\"bluestar\\\"\\r\\n\\r\\n \\r\\n\\r\\n =alertValue && (MapType==='0' || MapType==='3')\\\">\\r\\n \\\"redstar\\\"\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
No.\\r\\n Frustrations\\r\\n
\\r\\n {{i+1}}\\r\\n \\r\\n {{data.Subject}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n ×\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n {{CompanyName }} - SubProcessMap of Process {{ProcessName}}
\\r\\n Date: {{headerDate| date:'MM-dd-yyyy' }}\\r\\n
\\r\\n
\\r\\n Team: {{TeamName}}
\\r\\n Version: {{currentVersion[\\\"VersionName\\\"]}}\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n   \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n {{Activity.ActivityName}}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n {{IssuesLists[subKey]['Metric'][Activity.ActivityID]}}\\r\\n \\r\\n \\r\\n {{IssuesLists[subKey]['Issue'][Activity.ActivityID]}}\\r\\n \\r\\n \\r\\n \\r\\n \\\"bluestar\\\"\\r\\n \\r\\n \\r\\n =alertValue && (MapType==='0' || MapType==='3')\\\">\\r\\n \\\"redstar\\\"\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{Activity.ActivityName}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n {{IssuesLists[subKey]['Metric'][Activity.ActivityID]}}\\r\\n \\r\\n \\r\\n {{IssuesLists[subKey]['Issue'][Activity.ActivityID]}}\\r\\n \\r\\n \\r\\n \\r\\n \\\"bluestar\\\"\\r\\n \\r\\n \\r\\n =alertValue && (MapType==='0' || MapType==='3')\\\">\\r\\n \\\"redstar\\\"\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
No.\\r\\n Metrics\\r\\n
\\r\\n {{i+1}}\\r\\n \\r\\n {{data.Description}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
No.\\r\\n Frustrations\\r\\n
\\r\\n {{i+1}}\\r\\n \\r\\n {{data.Subject}}\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{SubActivity.squence}} {{SubActivity.ActivityName}} \\r\\n \\r\\n \\r\\n {{IssuesLists[subKey]['SubMCount'][SubActivity.ActivityID]['SubMetric'][SubActivity.ActivityID]}}\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{IssuesLists[subKey]['SubMCount'][SubActivity.ActivityID]['SubIssue'][SubActivity.ActivityID]}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{SubActivity.squence}}\\r\\n {{SubActivity.ActivityName}} \\r\\n \\r\\n \\r\\n {{IssuesLists[subKey]['SubMCount'][SubActivity.ActivityID]['SubMetric'][SubActivity.ActivityID]}}\\r\\n \\r\\n \\r\\n \\r\\n {{IssuesLists[subKey]['SubMCount'][SubActivity.ActivityID]['SubIssue'][SubActivity.ActivityID]}}\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
No.\\r\\n Metrics\\r\\n
\\r\\n {{i+1}}\\r\\n \\r\\n {{data.Description}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
No.\\r\\n Frustrations\\r\\n
\\r\\n {{i+1}}\\r\\n \\r\\n {{data.Subject}}\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n {{CompanyName }} - Sub Map of {{ProcessName}}
\\r\\n Date: {{headerDate| date:'MM-dd-yyyy' }}
\\r\\n
\\r\\n
\\r\\n Team: {{TeamName}}
\\r\\n Version: {{currentVersion[\\\"VersionName\\\"]}}\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n {{Activity.ActivityName}}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n {{IssuesLists[subKey]['Metric'][Activity.ActivityID]}}\\r\\n \\r\\n \\r\\n {{IssuesLists[subKey]['Issue'][Activity.ActivityID]}}\\r\\n \\r\\n \\r\\n \\r\\n \\\"bluestar\\\"\\r\\n \\r\\n \\r\\n =alertValue && (MapType==='0' || MapType==='3')\\\">\\r\\n \\\"redstar\\\"\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{Activity.ActivityName}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n {{IssuesLists[subKey]['Metric'][Activity.ActivityID]}}\\r\\n \\r\\n \\r\\n {{IssuesLists[subKey]['Issue'][Activity.ActivityID]}}\\r\\n \\r\\n \\r\\n \\r\\n \\\"bluestar\\\"\\r\\n \\r\\n \\r\\n =alertValue && (MapType==='0' || MapType==='3')\\\">\\r\\n \\\"redstar\\\"\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
No.\\r\\n Metrics\\r\\n
\\r\\n {{i+1}}\\r\\n \\r\\n {{data.Description}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
No.\\r\\n Frustrations\\r\\n
\\r\\n {{i+1}}\\r\\n \\r\\n {{data.Subject}}\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n {{SubActivity.squence}} {{SubActivity.ActivityName}} \\r\\n \\r\\n \\r\\n {{IssuesLists[subKey]['SubMCount'][SubActivity.ActivityID]['SubMetric'][SubActivity.ActivityID]}}\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{IssuesLists[subKey]['SubMCount'][SubActivity.ActivityID]['SubIssue'][SubActivity.ActivityID]}}\\r\\n \\r\\n
\\r\\n
\\r\\n {{SubActivity.squence}}\\r\\n {{SubActivity.ActivityName}} \\r\\n \\r\\n \\r\\n {{IssuesLists[subKey]['SubMCount'][SubActivity.ActivityID]['SubMetric'][SubActivity.ActivityID]}}\\r\\n \\r\\n \\r\\n \\r\\n {{IssuesLists[subKey]['SubMCount'][SubActivity.ActivityID]['SubIssue'][SubActivity.ActivityID]}}\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
No.\\r\\n Metrics\\r\\n
\\r\\n {{i+1}}\\r\\n \\r\\n {{data.Description}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
No.\\r\\n Frustrations\\r\\n
\\r\\n {{i+1}}\\r\\n \\r\\n {{data.Subject}}\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\"","module.exports = \"\\n\\n\\n\\n\\n\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n * Map Type\\n \\n \\n Only Frustrations \\n \\n \\n Only Metrics \\n \\n \\n No Frustrations & Metrics \\n \\n \\n Both \\n \\n \\n \\n
\\n
\\n \\n * Select Team Map\\n \\n \\n {{team.TeamName}} \\n \\n \\n \\n
\\n
\\n \\n *Select Versions\\n \\n \\n {{versions[i].VersionName}} \\n {{versions[i].VersionName}} \\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n\\n \\n \\n \\n
\\n\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n \\n
\\n {{errorMessage}}\\n
\\n
\\n
\\n
\\n \\n \\n   Create new process\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n
\\n  \\n  \\n  \\n \\n  \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n
\\n
\\n
\\n  \\n {{process['ProcessID']}} \\n \\n
\\n
\\n
\\n
\\n \\n {{IssuesLists[process['Process'].ProcessID]['pMetricCount']}}\\n \\n \\n {{IssuesLists[process['Process'].ProcessID]['pIssueCount']}}\\n \\n
\\n
\\n
\\n \\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
No.\\n Metrics \\n
\\n {{i+1}}\\n \\n {{data.Description}}\\n
\\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
No.\\n Frustrations \\n
\\n {{i+1}}\\n \\n {{data.Subject}}\\n \\n \\n \\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n {{Activity.squence}}. {{Activity.ActivityName}} \\n \\n \\n
\\n \\n \\n \\n \\n \\n
\\n \\n {{IssuesLists[process['Process'].ProcessID]['Metric'][Activity.ActivityID]}}\\n
\\n \\n \\n \\n {{IssuesLists[process['Process'].ProcessID]['Issue'][Activity.ActivityID]}}\\n \\n \\n \\n \\n \\\"bluestar\\\"\\n \\n \\n =alertValue && (MapType==='0' || MapType==='3')\\\">\\n \\\"redstar\\\"\\n\\n \\n =1 && (MapType==='0' || MapType==='3') ;else templateName\\\">\\n \\n
\\n
\\n
\\n
\\n \\n {{Activity.squence}}. {{Activity.ActivityName}}\\n \\n \\n
\\n \\n \\n \\n \\n \\n
\\n \\n {{IssuesLists[process['Process'].ProcessID]['Metric'][Activity.ActivityID]}}\\n
\\n \\n \\n \\n {{IssuesLists[process['Process'].ProcessID]['Issue'][Activity.ActivityID]}}\\n \\n \\n \\n \\n \\\"bluestar\\\"\\n \\n  \\n =alertValue && (MapType==='0' || MapType==='3')\\\">\\n \\\"redstar\\\"\\n \\n
\\n
\\n
\\n \\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
No.\\n Frustrations \\n
\\n {{i+1}}\\n \\n {{data.Subject}}\\n \\n \\n \\n \\n \\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n\\n \\n \\n
No.\\n Metrics \\n
\\n {{i+1}}\\n \\n {{data.Description}}\\n
\\n\\n\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n Drop here\\n
\\n
\\n
\\n   Add new activity
\\n
\\n\\n
0\\\" matTooltip=\\\"Create new process\\\"\\n (click)=\\\"AddProcess(MenuPermissions[menuName][menuID]['C'],IsVersion)\\\"\\n [style.pointer-events]=\\\"!(MenuPermissions[menuName][menuID]['C'])\\\"\\n [ngClass]=\\\"{'removeColor':!(MenuPermissions[menuName][menuID]['C']),'AddColor':(MenuPermissions[menuName][menuID]['C']),'disableProcess':(!TeamID)}\\\"\\n style=\\\" color:#3775b5;height: 40px;margin-top: 50px;padding-top: 2px;width: 60px;min-width: 42px;font-size: 25px;cursor: pointer;\\\">\\n \\n
\\n
\\n
\\n
\\n\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n
\\n  \\n  \\n  \\n\\n \\n  \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n  \\n {{process['Process'].ProcessName}}  \\n
\\n {{IssuesLists[process['Process'].ProcessID]['pIssueCount']}}\\n
\\n
\\n\\n {{IssuesLists[process['Process'].ProcessID]['pMetricCount']}}
\\n
\\n\\n
\\n\\n \\n \\n\\n \\n
\\n\\n\\n
\\n
\\n \\n
\\n
\\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n\\n \\n \\n
No. \\n Metrics \\n
\\n {{i+1}}\\n \\n {{data.Description}}\\n
\\n
\\n
\\n \\n
\\n\\n
\\n \\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
No. \\n Frustrations \\n
\\n {{i+1}}\\n \\n {{data.Subject}}\\n \\n \\n \\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n {{Activity.squence}} {{Activity.ActivityName}}
\\n
\\n
\\n \\n \\n \\n \\n \\n
\\n
\\n {{IssuesLists[process['Process'].ProcessID]['Issue'][Activity.ActivityID]}}\\n
\\n
\\n
\\n
\\n {{IssuesLists[process['Process'].ProcessID]['Metric'][Activity.ActivityID]}}\\n
\\n
\\n
\\n
\\n
\\n \\\"bluestar\\\"\\n\\n
\\n
\\n
=alertValue && (MapType==='0' || MapType==='3')\\\">\\n \\\"redstar\\\"\\n
\\n =1 && (MapType==='0' || MapType==='3') ;else templateName\\\">\\n \\n
\\n
\\n
\\n {{Activity.squence}} {{Activity.ActivityName}}
\\n
\\n\\n
\\n \\n \\n \\n \\n \\n
\\n
\\n {{IssuesLists[process['Process'].ProcessID]['Issue'][Activity.ActivityID]}}\\n
\\n\\n
\\n
\\n
\\n {{IssuesLists[process['Process'].ProcessID]['Metric'][Activity.ActivityID]}}\\n
\\n
\\n
\\n
\\n
\\n \\\"bluestar\\\"\\n\\n
\\n
\\n
=alertValue && (MapType==='0' || MapType==='3')\\\">\\n \\\"redstar\\\"\\n
\\n\\n =1 && (MapType==='0' || MapType==='3') ;else templateName\\\">\\n\\n \\n\\n\\n\\n
\\n\\n\\n
\\n \\n\\n
\\n
\\n\\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n\\n \\n \\n
No.\\n Metrics \\n
\\n {{i+1}}\\n \\n {{data.Description}}\\n
\\n\\n\\n
\\n\\n
\\n
\\n\\n
\\n\\n
\\n \\n\\n
\\n
\\n \\n\\n \\n \\n \\n \\n \\n\\n \\n\\n \\n \\n \\n \\n \\n\\n
No. \\n Frustrations \\n
\\n {{i+1}}\\n \\n {{data.Subject}}\\n\\n \\n \\n \\n \\n \\n \\n
\\n\\n\\n
\\n\\n
\\n
\\n\\n
\\n\\n
\\n
\\n Drop here\\n
\\n\\n
\\n\\n\\n
+\\n   Add new\\n activity
\\n
\\n\\n
0\\\" matTooltip=\\\"Create new process\\\"\\n (click)=\\\"AddProcess(MenuPermissions[menuName][menuID]['C'],IsVersion)\\\"\\n [style.pointer-events]=\\\"!(MenuPermissions[menuName][menuID]['C'])\\\"\\n [ngClass]=\\\"{'removeColor':!(MenuPermissions[menuName][menuID]['C']),'AddColor':(MenuPermissions[menuName][menuID]['C']),'disableProcess':(!TeamID)}\\\"\\n style=\\\" color:#3775b5;height: 40px;margin-top: 10px;padding-top: 2px;width: 60px;min-width: 42px;font-size: 24px;margin:10px;cursor: pointer;\\\">\\n \\n
\\n\\n\\n\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n {{CompanyName }} - ProcessMap
\\n Date: {{headerDate| date:'MM-dd-yyyy' }}
\\n MapType: {{typeName}}
\\n
\\n
\\n Team: {{TeamName}}
\\n Version: {{currentVersion[\\\"VersionName\\\"]}}\\n
\\n\\n
\\n\\n\\n
\\n
    \\n
  • \\n
    \\n
    \\n
      \\n
    • \\n
      \\n \\n \\n \\n \\n \\n \\n \\n \\n  Key Process\\n         \\n
      \\n
    • \\n\\n
    • \\n
      \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n  Metric\\n
      \\n
    • \\n
    \\n
      \\n
    • \\n
      \\n \\n \\n \\n \\n \\n \\n \\n  Activity - External to Process\\n
      \\n
    • \\n
      \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n  Frustration / Issue\\n
      \\n
    • \\n
    \\n
      \\n
    • \\n
      \\n \\n \\n \\n \\n \\n \\n \\n \\n  Activity - Internal to Process\\n
      \\n
    • \\n
    • \\n
      \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n  Sub-Activity Exists\\n
      \\n
    • \\n
    \\n
    \\n
    \\n
  •     \\n
  • \\n
    \\n
    \\n
      \\n
    • \\n
      \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n    Alert - Multiple Activities with No Metrics\\n\\n
      \\n
    • \\n
    • \\n
      \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n     Alert - Multiple Frustrations Clustered\\n
      \\n
    • \\n
    \\n
      \\n
    • \\n
      \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n     Alert - Key Process: No Metrics    \\n    \\n
      \\n
    • \\n
    • \\n
      \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n     Alert - Key Process: No Frustrations\\n
      \\n
    • \\n
    \\n
    \\n
    \\n
  • \\n
\\n
\\n\\n \\n\\n\\n\\n\\n\\n
\\n
\\n
\\n
\\n  \\n  \\n  \\n \\n  \\n\\n\\n
\\n\\n  \\n {{process['Process'].ProcessName}}  \\n\\n
\\n {{IssuesLists[process['Process'].ProcessID]['pIssueCount']}}\\n
\\n
\\n\\n {{IssuesLists[process['Process'].ProcessID]['pMetricCount']}}
\\n
\\n\\n
\\n\\n \\n \\n\\n \\n
\\n\\n\\n
\\n
\\n \\n
\\n
\\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n\\n \\n \\n
No.\\n Metrics \\n
\\n {{i+1}}\\n \\n {{data.Description}}\\n
\\n\\n\\n
\\n\\n
\\n \\n\\n
\\n\\n\\n\\n
\\n \\n
\\n
\\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n\\n \\n \\n \\n
No.\\n Frustrations \\n
\\n {{i+1}}\\n \\n {{data.Subject}}\\n \\n \\n \\n \\n \\n \\n
\\n\\n\\n
\\n\\n
\\n
\\n\\n
\\n\\n
\\n\\n
\\n\\n\\n
\\n {{Activity.squence}} {{Activity.ActivityName}}
\\n
\\n
\\n {{IssuesLists[process['Process'].ProcessID]['Issue'][Activity.ActivityID]}}\\n
\\n\\n
\\n
\\n
\\n {{IssuesLists[process['Process'].ProcessID]['Metric'][Activity.ActivityID]}}\\n
\\n
\\n
\\n
\\n
\\n \\\"bluestar\\\"\\n\\n
\\n
\\n
=alertValue && (MapType==='0' || MapType==='3')\\\">\\n \\\"redstar\\\"\\n
\\n\\n =1 && (MapType==='0' || MapType==='3') ;else templateName\\\">\\n\\n \\n\\n
\\n\\n
\\n\\n\\n
\\n {{Activity.squence}} {{Activity.ActivityName}}
\\n
\\n
\\n {{IssuesLists[process['Process'].ProcessID]['Issue'][Activity.ActivityID]}}\\n
\\n\\n
\\n
\\n
\\n {{IssuesLists[process['Process'].ProcessID]['Metric'][Activity.ActivityID]}}\\n
\\n
\\n
\\n
\\n
\\n \\\"bluestar\\\"\\n\\n
\\n
\\n
=alertValue && (MapType==='0' || MapType==='3')\\\">\\n \\\"redstar\\\"\\n
\\n\\n =1 && (MapType==='0' || MapType==='3') ;else templateName\\\">\\n\\n \\n\\n\\n\\n
\\n\\n
\\n \\n\\n
\\n
\\n\\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n\\n \\n \\n
No.\\n Metrics \\n
\\n {{i+1}}\\n \\n {{data.Description}}\\n
\\n\\n\\n
\\n\\n
\\n
\\n\\n
\\n\\n
\\n \\n\\n
\\n
\\n \\n\\n \\n \\n \\n \\n \\n\\n \\n\\n \\n \\n \\n \\n \\n\\n
No.\\n Frustrations \\n
\\n {{i+1}}\\n \\n {{data.Subject}}\\n\\n \\n \\n \\n \\n \\n \\n
\\n\\n\\n
\\n\\n
\\n
\\n\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n\\n\\n\\n
\\n \\n
\\n
\\n\\n
\\n
\\n
\\n {{CompanyName }} - ProcessMap
\\n Date: {{headerDate| date:'MM-dd-yyyy' }}
\\n MapType: {{typeName}}
\\n
\\n
\\n Team: {{TeamName}}
\\n Version: {{currentVersion[\\\"VersionName\\\"]}}\\n
\\n\\n
\\n\\n
\\n
    \\n
  • \\n
    \\n
    \\n
      \\n
    • \\n
      \\n \\n \\n \\n \\n \\n \\n \\n \\n  Key Process\\n         \\n
      \\n
    • \\n\\n
    • \\n
      \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n  Metric\\n
      \\n
    • \\n
    \\n
      \\n
    • \\n
      \\n \\n \\n \\n \\n \\n \\n \\n  Activity - External to Process\\n
      \\n
    • \\n
      \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n  Frustration / Issue\\n
      \\n
    • \\n
    \\n
      \\n
    • \\n
      \\n \\n \\n \\n \\n \\n \\n \\n \\n  Activity - Internal to Process\\n
      \\n
    • \\n
    • \\n
      \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n  Sub-Activity Exists\\n
      \\n
    • \\n
    \\n
    \\n
    \\n
  •     \\n
  • \\n
    \\n
    \\n
      \\n
    • \\n
      \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n    Alert - Multiple Activities with No Metrics\\n\\n
      \\n
    • \\n
    • \\n
      \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n     Alert - Multiple Frustrations Clustered\\n
      \\n
    • \\n
    \\n
      \\n
    • \\n
      \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n     Alert - Key Process: No Metrics    \\n    \\n
      \\n
    • \\n
    • \\n
      \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n     Alert - Key Process: No Frustrations\\n\\n
      \\n
    • \\n
    \\n\\n\\n\\n\\n\\n\\n\\n\\n
    \\n
    \\n
  • \\n
\\n\\n
\\n\\n\\n \\n \\n\\n\\n\\n
\\n
\\n
\\n
\\n
\\n  \\n  \\n \\\"bluetriangle\\\"\\n\\n  \\n \\\"redtriangle\\\"\\n\\n\\n \\n  \\n
\\n
\\n
\\n
\\n  \\n {{process['Process'].ProcessName}} \\n \\n
\\n
\\n
\\n
\\n \\n {{IssuesLists[process['Process'].ProcessID]['pMetricCount']}}\\n \\n \\n {{IssuesLists[process['Process'].ProcessID]['pIssueCount']}}\\n \\n
\\n\\n\\n\\n
\\n
\\n \\n \\n
\\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n\\n \\n \\n
No.\\n Metrics \\n
\\n {{i+1}}\\n \\n {{data.Description}}\\n
\\n\\n\\n
\\n\\n
\\n \\n\\n
\\n\\n\\n\\n
\\n \\n
\\n
\\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n\\n \\n \\n \\n
No.\\n Frustrations \\n
\\n {{i+1}}\\n \\n {{data.Subject}}\\n \\n \\n \\n \\n \\n \\n
\\n\\n\\n
\\n\\n
\\n
\\n\\n
\\n\\n \\n
\\n\\n
\\n
\\n \\n {{Activity.squence}}. {{Activity.ActivityName}} \\n \\n\\n\\n \\n \\n {{IssuesLists[process['Process'].ProcessID]['Metric'][Activity.ActivityID]}}\\n \\n \\n \\n \\n \\n {{IssuesLists[process['Process'].ProcessID]['Issue'][Activity.ActivityID]}}\\n \\n\\n \\n \\n \\n \\\"bluestar\\\"\\n \\n \\n\\n =alertValue && (MapType==='0' || MapType==='3')\\\">\\n \\\"redstar\\\"\\n \\n =1 && (MapType==='0' || MapType==='3') ;else templateName\\\">\\n \\n
\\n
\\n
\\n
\\n \\n {{Activity.squence}}. {{Activity.ActivityName}}\\n \\n \\n \\n {{IssuesLists[process['Process'].ProcessID]['Metric'][Activity.ActivityID]}}\\n \\n \\n \\n \\n \\n {{IssuesLists[process['Process'].ProcessID]['Issue'][Activity.ActivityID]}}\\n \\n \\n \\n \\n \\\"bluestar\\\"\\n \\n  \\n =alertValue && (MapType==='0' || MapType==='3')\\\">\\n \\\"redstar\\\"\\n \\n
\\n
\\n
\\n \\n\\n
\\n
\\n \\n\\n \\n \\n \\n \\n \\n\\n \\n\\n \\n \\n \\n \\n \\n\\n
No.\\n Frustrations \\n
\\n {{i+1}}\\n \\n {{data.Subject}}\\n\\n \\n \\n \\n \\n \\n \\n
\\n\\n\\n
\\n\\n
\\n
\\n \\n\\n
\\n
\\n\\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n\\n \\n \\n
No. \\n Metrics \\n
\\n {{i+1}}\\n \\n {{data.Description}}\\n
\\n\\n\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\\n\\n\\n\\n
\\n \\n
\\n\\n\\n\\n\\n
\\n
\\n
\\n
\\n
\\n\\n
\\n \\n
\\n
\\n\\n
\\n
\\n
\\n  \\n
\\n
\\n
    \\n
  • \\n \\n \\n \\n \\n \\n \\n \\n   Activity - External to Process\\n
  • \\n
\\n
\\n
\\n
    \\n
  • \\n \\n \\n \\n \\n \\n \\n \\n  Activity - Internal to Process\\n\\n
  • \\n
\\n \\n
\\n
\\n
\\n
\\n
    \\n
  • \\n \\n \\n \\n \\n \\n \\n \\n \\n   Metric\\n
  • \\n
\\n\\n
\\n
\\n
    \\n
  • \\n \\n \\n \\n \\n \\n \\n \\n \\n  Frustration / Issue\\n
  • \\n
\\n
\\n\\n
\\n
    \\n
  • \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n  Sub-Activity Exists\\n
  • \\n
\\n\\n
\\n
\\n
\\n
\\n
\\n {{CompanyName }} - ProcessMap
\\n Date: {{headerDate| date:'MM-dd-yyyy' }}\\n
\\n
\\n
\\n
\\n
\\n
    \\n
  • \\n \\\"bluestar\\\"\\n    \\n Alert - Multiple Activities with No Metrics\\n\\n
  • \\n
\\n
\\n
\\n
    \\n
  • \\n \\\"bluetriangle\\\"\\n     Alert - Key Process: No Metrics\\n \\n\\n
  • \\n
\\n
\\n
\\n
\\n
\\n
    \\n
  • \\n \\\"redstar\\\"\\n     Alert - Multiple Frustrations\\n Clustered\\n\\n
  • \\n
\\n
\\n
\\n
    \\n
  • \\n \\\"redtriangle\\\"\\n    Alert -\\n Key Process: No Frustrations\\n\\n
  • \\n
\\n\\n
\\n
\\n
\\n
\\n\\n
\\n\\n
\\n\"","module.exports = \"\\r\\n\\r\\n {{data}}\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n ×\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{data | titlecase}} Process

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Process *\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Team\\r\\n \\r\\n \\r\\n {{teamData[i].TeamName}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Sequence *\\r\\n \\r\\n \\r\\n {{data}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n{{dataSelf}}\\r\\n\"","module.exports = \"\\r\\n\\r\\n
\\r\\n
\\r\\n

Process

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Search here\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
Team\\r\\n \\r\\n \\r\\n Process\\r\\n \\r\\n \\r\\n Description\\r\\n \\r\\n \\r\\n Sequence\\r\\n \\r\\n \\r\\n Action
{{element.TeamName}} {{element.ProcessName}} {{element.ProcessDescription}}\\r\\n {{element.squence}}\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n     \\r\\n\\r\\n \\r\\n
{{element.TeamName}} {{element.ProcessName}} {{element.ProcessDescription}}\\r\\n {{element.squence}}\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n     \\r\\n \\r\\n
{{element.TeamName}} {{element.ProcessName}} {{element.ProcessDescription}}\\r\\n {{element.squence}}\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n     \\r\\n \\r\\n

\\r\\n\\r\\n
\\r\\n No data available\\r\\n
\\r\\n
\\r\\n\\r\\n
0\\\">\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{row}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\"","module.exports = \"\\r\\n\\r\\n
\\r\\n {{data}}\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n ×\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{data | titlecase}} Project

\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\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 Status *\\r\\n \\r\\n \\r\\n {{data.ProjectStatusName}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n Team *\\r\\n \\r\\n \\r\\n {{teamData[i].TeamName}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n{{dataSelf}}\\r\\n\\r\\n\"","module.exports = \"\\n\\n

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

Project

\\n
\\n\\n
\\n\\n
\\n
\\n \\n \\n Search here\\n \\n \\n \\n
\\n\\n\\n
\\n \\n \\n \\n
\\n
\\n \\n\\n
\\n\\n
\\n \\n
\\n\\n
\\n \\n
\\n
\\n \\n
\\n\\n\\n\\n
\\n
\\n
\\n\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n\\n
Project Team\\n \\n \\n Project\\n \\n \\n Description\\n \\n \\n Status\\n \\n \\n Project Owner\\n \\n \\n Due Date\\n \\n \\n Action
{{element.TeamName}}\\n\\n {{element.ProjectName}}\\n {{element.ProjectDescription}} {{element.ProjectStatusName}}{{element.ProjectOwner}}{{element.ProjectDueDate | date:'MM/dd/yyyy'}}\\n \\n     \\n      \\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Frustration TeamProcessFrustrationDescriptionStatus
{{data.TeamName}}{{data.ProcessName}}{{data.Subject}}{{data.Description}}{{data.StatusName}}
\\n
\\n
\\n No data available\\n
\\n
\\n\\n\\n\\n\\n
\\n
\\n\\n No data available\\n\\n\\n
\\n
\\n\\n\\n
\\n
\\n \\n \\n \\n {{row}}\\n \\n \\n \\n
\\n
\\n \\n
\\n
\\n\\n
\\n
\\n

* Instructions: Double click or long press(for touch screen devices)\\n to activate rearrangement of the selected project.

\\n
\\n
\\n
\\n
{{week.id}} ({{week.count}})
\\n\\n
\\n
\\n\\n \\n Project: {{weekItem.ProjectName}}
\\n \\n Project owner:{{weekItem.ProjectOwner}}
\\n Due Date: {{weekItem.ProjectDueDate | date:'MM/dd/yyyy'}}\\n
\\n \\n Project: {{weekItem.ProjectName}}
\\n \\n Project owner:{{weekItem.ProjectOwner}}
\\n Due Date: {{weekItem.ProjectDueDate | date:'MM/dd/yyyy'}}\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n\\n \\n\\n
\\n\\n
\\n Company - {{loginCompanyName }}
\\n Date: {{Date| date:'MM-dd-yyyy' }}
\\n Projects Status View\\n

\\n\\n\\n
\\n
\\n
\\n
{{week.id}} ({{week.count}})
\\n\\n
\\n
\\n\\n\\n \\n Project: {{weekItem.ProjectName}}
\\n \\n Project owner:{{weekItem.ProjectOwner}}
\\n Due Date: {{weekItem.ProjectDueDate | date:'MM/dd/yyyy'}}\\n
\\n \\n Project: {{weekItem.ProjectName}}
\\n \\n Project owner:{{weekItem.ProjectOwner}}
\\n Due Date: {{weekItem.ProjectDueDate | date:'MM/dd/yyyy'}}\\n
\\n\\n\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n \\n
\\n
\\n \\n\"","module.exports = \"\\n\\n\\n\\n\\n\\n\\n
\\n
\\n
Projects in Backlog
\\n
\\n
\\n\\n
\\n
\\n\\n \\n Search here\\n \\n \\n
\\n
\\n
\\n
\\n \\n\\n\\n
\\n
\\n
\\n
\\n \\n
\\n\\n\\n
\\n\\n
\\n
\\n\\n\\n\\n\\n
\\n\\n
\\n
\\n
\\n Company - {{companyName}}
\\n Date: {{headerDate| date:'MM-dd-yyyy' }}
\\n Report Type : Projects in Backlog\\n\\n
\\n\\n
\\n
\\n\\n \\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n
No. Team\\n \\n \\n Project\\n \\n \\n Description\\n \\n \\n Status\\n \\n \\n Project Owner\\n \\n \\n
{{i+1}}{{element.TeamName}} {{element.ProjectName}} {{element.ProjectDescription}} {{element.ProjectStatusName}}{{element.ProjectOwner}}

\\n\\n \\n
\\n\\n No data available\\n\\n\\n
\\n
\\n
\\n \\n
\\n
\\n\\n\\n
0\\\">\\n
\\n \\n \\n \\n {{row}}\\n \\n \\n \\n
\\n
\\n \\n
\\n
\\n\"","module.exports = \"\\n
\\n
Quarters
\\n
\\n
\\n
\\n
\\n \\n Select Starting Month *\\n \\n \\n {{month.MonthName}}\\n \\n \\n \\n
\\n
\\n \\n Select Week Day\\n \\n \\n {{weekDay.WeekDay}}\\n \\n \\n \\n
\\n
\\n \\n Select Week Date\\n \\n \\n {{week}}\\n \\n \\n \\n
\\n
\\n \\n
\\n
\\n {{errorMsg}}\\n
\\n
\\n
\\n\\n
\\n \\n
\\n
\\n
\\n {{quarter.QuarterName}}\\n
\\n
\\n
\\n \\n
\\n {{month.MonthName}}\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\"","module.exports = \"\\n \\n \\n\\n \\n
Activity Frustrations
\\n\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n \\n
\\n \\n
\\n
\\n   \\n \\n \\n
\\n \\n
\\n \\n \\n Search here\\n \\n \\n
\\n
\\n \\n
\\n \\n
\\n\\n
\\n\\n
\\n
\\n Company - {{loginCompanyName}}
\\n Date: {{headerDate| date:'MM-dd-yyyy' }}
\\n Report Type : Activity Frustrations\\n \\n
\\n \\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n\\n
Process\\n \\n \\n Activity\\n \\n \\n Frustration Count\\n \\n \\n
{{element.ProcessName}} {{element.ActivityName}} {{element.FrustrationCount}}

\\n \\n \\n
\\n \\n No data available\\n \\n \\n
\\n
\\n
0\\\">\\n
\\n
\\n \\n \\n \\n {{row}}\\n \\n \\n \\n
\\n \\n
\\n \\n \\n \\n
\\n
\\n\\n\\n\\n\"","module.exports = \"\\r\\n\\r\\n×\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
TeamTypeFrustrationProcessSeverityStatus
{{d.TeamName}}{{d.FrustrationsTypeName}}{{d.Subject}}{{d.ProcessName}}{{d.SeverityName}}{{d.StatusName}}
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"\\n\\n\\n\\n\\n\\n\\n
\\n
\\n
\\n
\\n
Frustrations Report by Type
\\n
\\n
\\n\\n
\\n \\n Select Type *\\n \\n \\n {{scoreCardType}}\\n \\n \\n \\n
\\n\\n
\\n \\n Select Department *\\n \\n \\n {{dept.DepartmentName}}\\n \\n \\n \\n
\\n
\\n \\n Select Team *\\n \\n \\n {{team.TeamName}}\\n \\n \\n \\n
\\n
\\n \\n \\n\\n
\\n
\\n
\\n \\n
\\n\\n
\\n
\\n
\\n\\n
\\n\\n
\\n
\\n
\\n Company - {{companyName}}
\\n Date: {{headerDate| date:'MM-dd-yyyy' }}
\\n Team: {{TeamName ? TeamName : 'Aggregate\\n Report'}}\\n Department: {{departmentName ? departmentName : 'Aggregate\\n Report'}}
\\n Report Type : Frustrations Report by Type\\n\\n
\\n\\n
\\n
\\n \\n\\n\\n\\n \\n \\n\\n
\\n \\n\\n
\\n\\n
\\n \\n \\n \\n \\n \\n
Total
{{totalCount}}
\\n {{d.label}}
{{d.value}}
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n
Total
{{totalCount}}
\\n {{d.label}}
{{d.value}}
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n \\n

\\n \\n
\\n
\\n
\\n\\n
\\n \\n Search here\\n \\n \\n
\\n\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n\\n \\n \\n \\n\\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n \\n \\n
No.\\n Department\\n \\n \\n Team\\n \\n \\n Process\\n \\n \\n Activity\\n \\n \\n Type\\n \\n \\n Frustration\\n \\n \\n Description\\n \\n \\n Status\\n \\n \\n Severity\\n \\n \\n Project\\n \\n \\n
{{i+1}}\\n {{metric.DepartmentName}}\\n \\n {{metric.TeamName}}
\\n
\\n {{metric.ProcessName}}
\\n
\\n {{metric.ActivityName}}
\\n
\\n {{metric.FrustrationsTypeName}}
\\n
\\n\\n {{metric.Subject}}\\n\\n \\n {{metric.Description}}\\n \\n {{metric.StatusName}}\\n \\n {{metric.SeverityName}}\\n \\n {{metric.ProjectName}}\\n
\\n
\\n
\\n
0\\\">\\n
\\n \\n \\n \\n {{row}}\\n \\n \\n \\n
\\n
\\n \\n
\\n
\\n\\n
\\n
\\n
\\n \\n
\\n
\\n\\n\\n\\n\\n
\\n\\n {{wrng}}\\n\\n
\\n
{{warningMsg}}
\\n\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n\\n\\n\\n\"","module.exports = \"\\r\\n\\r\\n×\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
TeamProcessActivityFrustrationStatusTypeSeverityDescriptionDate Opened
{{d.TeamName}}{{d.ProcessName}}{{d.ActivityName}}{{d.Subject}}{{d.StatusName}}{{d.FrustrationsTypeName}}{{d.SeverityName}}{{d.Description}}{{d.CreatedDate | date:'MM/dd/yyyy'}}
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n
\\n\\n
\\n
\\n
\\n
Frustrations Severity Report
\\n
\\n
\\n
\\n
\\n \\n * Select Team\\n\\n \\n \\n\\n {{team.TeamName}} \\n\\n \\n \\n \\n
\\n
\\n
\\n \\n\\n
\\n
\\n
\\n \\n
\\n\\n
\\n\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n Company - {{companyName}}
\\n Date: {{headerDate| date:'MM-dd-yyyy' }}
\\n Team: {{TeamName ? TeamName : 'Aggregate\\n Report'}}
\\n Report Type : Frustrations Severity Report\\n\\n
\\n\\n
\\n
\\n\\n\\n \\n \\n\\n
\\n \\n
\\n
\\n \\n \\n \\n \\n \\n
Total
{{totalCount}}
\\n {{d.label}}
{{d.value}}
\\n\\n
\\n
\\n
\\n
\\n\\n \\n
\\n
\\n\\n\\n
\\n \\n Search here\\n \\n \\n
\\n\\n\\n\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n\\n\\n\\n \\n \\n \\n \\n \\n
No. Team\\n \\n \\n Process\\n \\n \\n Activity\\n \\n \\n Type\\n \\n \\n Frustration\\n \\n \\n Description\\n \\n \\n Status\\n \\n \\n Severity\\n \\n \\n Project\\n \\n \\n
{{i+1}}{{metric.TeamName}}\\n {{metric.ProcessName}}
\\n
{{metric.ActivityName}}\\n {{metric.FrustrationsTypeName}}\\n \\n\\n {{metric.Subject}}\\n\\n \\n {{metric.Description}}\\n \\n {{metric.StatusName}}\\n \\n {{metric.SeverityName}}\\n \\n {{metric.ProjectName}}\\n
\\n\\n
\\n
\\n
0\\\">\\n
\\n \\n \\n \\n {{row}}\\n \\n \\n \\n
\\n
\\n \\n
\\n
\\n\\n
\\n
\\n
\\n \\n
\\n
\\n\\n\\n\\n
\\n \\n {{wrng}}\\n
\\n\\n
{{warningMsg}}
\\n
\\n\\n
\\n\\n\\n
\\n
\\n\\n
\\n
\\n\\n\\n\"","module.exports = \"\\r\\n\\r\\n×\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
TeamProcessActivityMetric
{{d.TeamName}}{{d.ProcessName}}{{d.ActivityName}}{{d.Description}}
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"\\n\\n\\n\\n\\n\\n\\n
\\n
\\n
\\n
\\n
Metrics by Process
\\n
\\n
\\n
\\n \\n Select Type *\\n \\n \\n {{scoreCardType}}\\n \\n \\n \\n
\\n\\n
\\n \\n Select Department *\\n \\n \\n {{dept.DepartmentName}}\\n \\n \\n \\n
\\n
\\n \\n Select Team *\\n \\n \\n {{team.TeamName}}\\n \\n \\n \\n
\\n
\\n \\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n Company - {{companyName}}
\\n Date: {{headerDate| date:'MM-dd-yyyy' }}
\\n Team: {{TeamName ? TeamName : 'Aggregate\\n Report'}}\\n Department: {{departmentName ? departmentName : 'Aggregate\\n Report'}}
\\n
\\n Report Type : Metrics by Process\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n \\n \\n \\n \\n \\n
Total
{{totalCount}}
\\n {{d.label}}
{{d.value}}
\\n
\\n
\\n
\\n
\\n
\\n
\\n
Total
{{totalCount}}
\\n
\\n {{d.label}}
{{d.value}}
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n

\\n
\\n
\\n
\\n
\\n \\n Search here\\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
No.\\n Department\\n \\n \\n Team\\n \\n \\n Process\\n \\n \\n Activity\\n \\n \\n Goal\\n \\n \\n Metric\\n \\n \\n
{{i+1}}\\n {{metric.DepartmentName}}\\n \\n {{metric.TeamName}}\\n \\n {{metric.ProcessName}}\\n \\n\\n {{metric.ActivityName}}\\n\\n \\n {{metric.GoalName}}\\n \\n {{metric.Description}}\\n
\\n
\\n
\\n
0\\\">\\n\\n
\\n \\n \\n \\n {{row}}\\n \\n \\n \\n
\\n\\n\\n
\\n\\n \\n \\n
\\n
\\n\\n
\\n
\\n
\\n \\n
\\n
\\n\\n\\n
\\n {{wrng}}\\n
\\n
{{warningMsg}}
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n\\n\"","module.exports = \"\\r\\n\\r\\n×\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
TeamProcessActivityFrustrationStatusTypeSeverityDescriptionDate Opened
{{d.TeamName}}{{d.ProcessName}}{{d.ActivityName}}{{d.Subject}}{{d.StatusName}}{{d.FrustrationsTypeName}}{{d.SeverityName}}{{d.Description}}{{d.CreatedDate | date:'MM/dd/yyyy'}}
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"\\n\\n\\n\\n\\n\\n\\n\\n
\\n
\\n
\\n\\n
\\n
Frustrations Report by Process
\\n
\\n\\n
\\n\\n
\\n \\n Select Type *\\n \\n \\n {{scoreCardType}}\\n \\n \\n \\n
\\n\\n
\\n \\n Select Department *\\n \\n \\n {{dept.DepartmentName}}\\n \\n \\n \\n
\\n
\\n \\n Select Team *\\n \\n \\n {{team.TeamName}}\\n \\n \\n \\n
\\n\\n
\\n \\n\\n
\\n\\n
\\n
\\n \\n\\n
\\n
\\n
\\n
\\n\\n
\\n\\n
\\n
\\n
\\n Company - {{companyName}}
\\n Date: {{headerDate| date:'MM-dd-yyyy' }}
\\n Team: {{TeamName ? TeamName : 'Aggregate\\n Report'}}\\n Department: {{departmentName ? departmentName : 'Aggregate\\n Report'}}
\\n Report Type : Frustrations Report by Process\\n\\n
\\n
\\n
\\n\\n\\n
\\n\\n
\\n
\\n \\n \\n \\n \\n \\n
Total
{{totalCount}}
\\n {{d.label}}
{{d.value}}
\\n\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n\\n
Total
{{totalCount}}
\\n
\\n {{d.label}}
{{d.value}}
\\n\\n
\\n\\n
\\n
\\n\\n
\\n
\\n
\\n\\n
\\n\\n
\\n\\n
\\n
\\n
\\n\\n\\n
\\n\\n \\n Search here\\n \\n \\n\\n
\\n\\n\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n\\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n\\n\\n\\n \\n \\n \\n \\n \\n
No.\\n Department\\n \\n \\n Team\\n \\n \\n Process\\n \\n \\n Activity\\n \\n \\n Type\\n \\n \\n Frustration\\n \\n \\n Description\\n \\n \\n Status\\n \\n \\n Severity\\n \\n \\n Project\\n \\n \\n
{{i+1}}\\n {{metric.DepartmentName}}\\n {{metric.TeamName}}\\n {{metric.ProcessName}}
\\n
{{metric.ActivityName}}\\n {{metric.FrustrationsTypeName}}\\n \\n\\n {{metric.Subject}}\\n\\n \\n {{metric.Description}}\\n \\n {{metric.StatusName}}\\n \\n {{metric.SeverityName}}\\n \\n {{metric.ProjectName}}\\n
\\n\\n
\\n
\\n
0\\\">\\n
\\n \\n \\n \\n {{row}}\\n \\n \\n \\n
\\n
\\n \\n
\\n
\\n\\n
\\n
\\n
\\n \\n
\\n
\\n\\n
\\n {{wrng}}\\n
\\n\\n
{{warningMsg}}
\\n
\\n\\n
\\n\\n\\n
\\n \\n
\\n
\\n
\\n\"","module.exports = \"\\r\\n\\r\\n×\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\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 NameProject StatusIssues\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
TeamProcessFrustrationDescriptionStatus
\\r\\n
\\r\\n {{d.name}}\\r\\n \\r\\n {{d.status}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
{{p.TeamName}}\\r\\n {{p.ProcessName}}\\r\\n {{p.Subject}}{{p.Description}}\\r\\n {{p.StatusName}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"\\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 Report by Status
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Company - {{companyName}}
\\r\\n Date: {{headerDate| date:'MM-dd-yyyy' }}
\\r\\n Report Type : Project Report by Statsus\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Total
{{totalCount}}
\\r\\n {{d.label}}
{{d.value}}
\\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 here\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n No.\\r\\n Project Team\\r\\n \\r\\n \\r\\n Project\\r\\n \\r\\n \\r\\n Project Status\\r\\n \\r\\n \\r\\n Project Owner\\r\\n \\r\\n \\r\\n Frustration Team\\r\\n \\r\\n \\r\\n Process\\r\\n \\r\\n \\r\\n Frustration\\r\\n \\r\\n \\r\\n Description\\r\\n \\r\\n \\r\\n Status\\r\\n \\r\\n \\r\\n
\\r\\n {{i+1}}\\r\\n \\r\\n {{d.team}}\\r\\n {{d.name}}{{d.status}}{{d.owner}}\\r\\n
\\r\\n {{frustData.TeamName}}\\r\\n
\\r\\n
\\r\\n
\\r\\n {{frustData.ProcessName}}\\r\\n
\\r\\n
\\r\\n
\\r\\n {{frustData.Subject}}\\r\\n
\\r\\n
\\r\\n
\\r\\n {{frustData.Description}}\\r\\n
\\r\\n
\\r\\n
\\r\\n {{frustData.StatusName}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
0\\\">\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{row}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{wrng}}\\r\\n
\\r\\n\\r\\n
{{warningMsg}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"\\n\\n\\n\\n\\n
\\n \\n Report Type\\n \\n \\n {{reportData[i].ReportName}}\\n \\n \\n \\n
\\n\\n\\n\\n\\n
\\n \\n
\\n\\n
\\n \\n\\n
\\n
\\n \\n\\n
\\n\\n
\\n \\n
\\n\\n
\\n \\n\\n
\\n\\n
\\n \\n\\n
\\n\\n
\\n \\n
\\n\\n
\\n \\n
\\n\\n
\\n \\n
\\n\\n
\\n \\n\\n
\\n\\n\\n\\n
\\n \\n
\\n\\n\"","module.exports = \"\\r\\n
\\r\\n {{data}}\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n

\\r\\n
\\r\\n ×\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n

{{data | titlecase}} Role

\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n Role Name *\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n Role Description\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n * Permissions\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
All\\r\\n\\r\\n
\\r\\n       \\r\\n Read\\r\\n Create\\r\\n Update\\r\\n Delete\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
{{menu.MenuName}}\\r\\n Frustration Types\\r\\n \\r\\n
\\r\\n       \\r\\n\\r\\n \\r\\n {{list}}\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n       \\r\\n\\r\\n \\r\\n {{list}}\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n ProcessMap\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n       \\r\\n \\r\\n {{list}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n       \\r\\n \\r\\n {{list}}\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n {{team.key.split('æææ')[0]}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n       \\r\\n \\r\\n {{list}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n       \\r\\n \\r\\n {{list}}\\r\\n
\\r\\n
\\r\\n

\\r\\n
\\r\\n\\r\\n \\r\\n                                     \\r\\n \\r\\n \\r\\n {{process.key.split('æææ')[0]}}\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n       \\r\\n \\r\\n {{list}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n       \\r\\n \\r\\n {{list}}\\r\\n
\\r\\n
\\r\\n

\\r\\n
\\r\\n\\r\\n \\r\\n                                                 \\r\\n \\r\\n \\r\\n {{activity.split('æææ')[0]}}\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n       \\r\\n \\r\\n {{list}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n       \\r\\n \\r\\n {{list}}\\r\\n
\\r\\n
\\r\\n\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n{{errorMessage}}\\r\\n\"","module.exports = \"\\n
\\n
\\n

Roles

\\n
\\n
\\n
\\n
\\n \\n Search here\\n \\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n\\n\\n\\n\\n
\\n\\n \\n \\n \\n\\n \\n\\n \\n\\n\\n \\n \\n \\n \\n \\n\\n \\n \\n \\n\\n \\n \\n\\n
Role\\n \\n \\n Description\\n \\n \\n Action
{{element.RoleName}} {{element.RoleDescription}}\\n {{element.EmployeeID}}\\n \\n\\n     \\n

\\n\\n\\n\\n
\\n\\n No data available\\n\\n\\n
\\n\\n\\n
0\\\">\\n
\\n \\n \\n \\n {{row}}\\n \\n \\n \\n
\\n
\\n\\n \\n
\\n
\\n\\n\\n\\n \\n\\n\\n\\n
\\n\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
Sub Entities
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Search here\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
Entity\\r\\n \\r\\n \\r\\n Email\\r\\n \\r\\n \\r\\n Phone\\r\\n \\r\\n \\r\\n Sub Entities\\r\\n \\r\\n \\r\\n Enable Score CardAction
{{element.CompanyName}}{{element.Email}} {{element.Phone1 }} {{element.NoOfSubCompanies ? element.NoOfSubCompanies : 0}} \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{element.EnableScoreCard ? 'Yes' : 'No'}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n    \\r\\n \\r\\n     \\r\\n    \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n No data available\\r\\n
\\r\\n
\\r\\n\\r\\n\"","module.exports = \"\\r\\n\\r\\n
\\r\\n {{data}}\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n ×\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{data | titlecase}} Team

\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Department Name *\\r\\n\\r\\n \\r\\n \\r\\n {{dept.DepartmentName}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n Team *\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{dataSelf}}\\r\\n \\r\\n\"","module.exports = \"\\n\\n\\n
\\n
\\n

Team

\\n
\\n
\\n
\\n
\\n \\n Search here\\n \\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Department\\n \\n \\n Team\\n \\n \\n Description\\n \\n \\n Action
{{element.DepartmentName}} {{element.TeamName}}{{element.TeamDescription}}\\n \\n \\n       \\n \\n
{{element.DepartmentName}} {{element.TeamName}}{{element.TeamDescription}}\\n \\n \\n       \\n \\n
{{element.DepartmentName}} {{element.TeamName}}{{element.TeamDescription}}\\n \\n \\n       \\n \\n
\\n
\\n
\\n No data available\\n
\\n
0\\\">\\n
\\n \\n \\n \\n {{row}}\\n \\n \\n \\n
\\n
\\n \\n
\\n
\\n\"","module.exports = \"\\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
User\\n \\n \\n ReadCreateEditDelete
{{element.UserName}}
\\n
\\n
\\n \\n \\n \\n {{row}}\\n \\n \\n \\n
\\n
\\n \\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
User\\n \\n \\n ReadCreateEditDelete
{{element.UserName}}
\\n
\\n
\\n \\n \\n \\n {{row}}\\n \\n \\n \\n
\\n
\\n \\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
User\\n \\n \\n ReadCreateEditDelete
{{element.UserName}}
\\n
\\n
\\n \\n \\n \\n {{row}}\\n \\n \\n \\n
\\n
\\n \\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
User\\n \\n \\n ReadCreateEditDelete
{{element.UserName}}
\\n
\\n
\\n \\n \\n \\n {{row}}\\n \\n \\n \\n
\\n
\\n \\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
User\\n \\n \\n ReadCreateEditDelete
{{element.UserName}}
\\n
\\n
\\n \\n \\n \\n {{row}}\\n \\n \\n \\n
\\n
\\n \\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
User\\n \\n \\n ReadCreateEditDelete
{{element.RoleName}}
\\n
\\n
\\n \\n \\n \\n {{row}}\\n \\n \\n \\n
\\n
\\n \\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
User\\n \\n \\n ReadCreateEditDelete
{{element.UserName}}
\\n
\\n
\\n \\n \\n \\n {{row}}\\n \\n \\n \\n
\\n
\\n \\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
User\\n \\n \\n ReadCreateEditDelete
{{element.UserName}}
\\n
\\n
\\n \\n \\n \\n {{row}}\\n \\n \\n \\n
\\n
\\n \\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
User\\n \\n \\n ReadCreateEditDelete
{{element.UserName}}
\\n
\\n
\\n \\n \\n \\n {{row}}\\n \\n \\n \\n
\\n
\\n \\n
\\n
\\n
\\n \\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
User\\n \\n \\n ReadCreateEditDelete
{{element.UserName}}
\\n
\\n
\\n \\n \\n \\n {{row}}\\n \\n \\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n\"","module.exports = \"
\\n
\\n \\n \\n \\n \\n \\n
\\n
\\n\\n\"","module.exports = \"
\\r\\n \\r\\n  \\r\\n \\r\\n\\r\\n  \\r\\n \\r\\n  \\r\\n \\r\\n  \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"dorsey\\r\\n
\\r\\n
\\r\\n
\\r\\n Company Name: {{scoreCard.CompanyName}}  \\r\\n
\\r\\n
\\r\\n Quarter: {{scoreCard.QuarterName}}  \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Department Name: \\r\\n Team Name: \\r\\n \\r\\n {{scoreCard.DepartmentName}} \\r\\n {{scoreCard.TeamName}}\\r\\n
\\r\\n
\\r\\n Score Card Name: {{scoreCard.ScoreCardName}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\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 \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
GoalMetric\\r\\n
\\r\\n Target\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Green\\r\\n
\\r\\n
\\r\\n Yellow\\r\\n
\\r\\n
\\r\\n Red\\r\\n
\\r\\n
\\r\\n
FrequencyUOM\\r\\n
Wk 1
\\r\\n
({{WeekDateList[0].label}})
\\r\\n
\\r\\n
Wk 2
\\r\\n
({{WeekDateList[1].label}})
\\r\\n
\\r\\n
Wk 3
\\r\\n
({{WeekDateList[2].label}})
\\r\\n
\\r\\n
Wk 4
\\r\\n
({{WeekDateList[3].label}})
\\r\\n
\\r\\n
Wk 5
\\r\\n
({{WeekDateList[4].label}})
\\r\\n
\\r\\n
Wk 6
\\r\\n
({{WeekDateList[5].label}})
\\r\\n
\\r\\n
Wk 7
\\r\\n
({{WeekDateList[6].label}})
\\r\\n
\\r\\n
Wk 8
\\r\\n
({{WeekDateList[7].label}})
\\r\\n
\\r\\n
Wk 9
\\r\\n
({{WeekDateList[8].label}})
\\r\\n
\\r\\n
Wk 10
\\r\\n
({{WeekDateList[9].label}})
\\r\\n
\\r\\n
Wk 11
\\r\\n
({{WeekDateList[10].label}})
\\r\\n
\\r\\n
Wk 12
\\r\\n
({{WeekDateList[11].label}})
\\r\\n
\\r\\n
Wk 13
\\r\\n
({{WeekDateList[12].label}})
\\r\\n
\\r\\n
Wk 14
\\r\\n
({{WeekDateList[13].label}})
\\r\\n
\\r\\n {{metric.GoalName}}{{metric.Description}}\\r\\n
\\r\\n
\\r\\n {{metric.GreenTargetSymbol}} \\r\\n = \\r\\n {{metric.GreenMinimum}}\\r\\n  - \\r\\n {{metric.GreenMaximum}}\\r\\n
\\r\\n
\\r\\n {{metric.YellowTargetSymbol}} \\r\\n = \\r\\n {{metric.YellowMinimum}}\\r\\n  - \\r\\n {{metric.YellowMaximum}}\\r\\n
\\r\\n
\\r\\n {{metric.RedTargetSymbol}} \\r\\n = \\r\\n {{metric.RedMinimum}}\\r\\n  - \\r\\n {{metric.RedMaximum}}\\r\\n
\\r\\n
\\r\\n
{{metric.Frequency}}{{metric.UOM}}\\r\\n {{metric.Week1 == 2 ? 'Yes' : metric.Week1 == 1\\r\\n ? 'No' : ''}}\\r\\n {{metric.Week1}}\\r\\n \\r\\n \\r\\n {{metric.Week2 == 2 ? 'Yes' : metric.Week2 == 1 ? 'No' :\\r\\n ''}}\\r\\n {{metric.Week2}}\\r\\n \\r\\n \\r\\n {{metric.Week3 == 2 ? 'Yes' : metric.Week3 == 1 ? 'No' :\\r\\n ''}}\\r\\n {{metric.Week3}}\\r\\n \\r\\n \\r\\n {{metric.Week4 == 2 ? 'Yes' : metric.Week4 == 1 ?\\r\\n 'No' : ''}}\\r\\n {{metric.Week4}}\\r\\n \\r\\n \\r\\n {{metric.Week5 == 2 ? 'Yes' : metric.Week5 == 1 ? 'No' :\\r\\n ''}}\\r\\n {{metric.Week5}}\\r\\n \\r\\n \\r\\n {{metric.Week6 == 2 ? 'Yes' : metric.Week6 == 1 ? 'No' :\\r\\n ''}}\\r\\n {{metric.Week6}}\\r\\n \\r\\n \\r\\n {{metric.Week7 == 2 ? 'Yes' : metric.Week7 == 1 ? 'No' :\\r\\n ''}}\\r\\n {{metric.Week7}}\\r\\n \\r\\n \\r\\n {{metric.Week8 == 2 ? 'Yes' : metric.Week8 == 1 ?\\r\\n 'No' : ''}}\\r\\n {{metric.Week8}}\\r\\n \\r\\n \\r\\n {{metric.Week9 == 2 ? 'Yes' : metric.Week9 == 1 ? 'No' :\\r\\n ''}}\\r\\n {{metric.Week9}}\\r\\n \\r\\n \\r\\n {{metric.Week10 == 2 ? 'Yes' : metric.Week10 == 1 ? 'No' :\\r\\n ''}}\\r\\n {{metric.Week10}}\\r\\n \\r\\n \\r\\n {{metric.Week11 == 2 ? 'Yes' : metric.Week11 == 1 ? 'No' :\\r\\n ''}}\\r\\n {{metric.Week11}}\\r\\n \\r\\n \\r\\n {{metric.Week12 == 2 ? 'Yes' : metric.Week12 == 1 ? 'No' :\\r\\n ''}}\\r\\n {{metric.Week12}}\\r\\n \\r\\n \\r\\n {{metric.Week13 == 2 ? 'Yes' : metric.Week13 == 1 ? 'No' :\\r\\n ''}}\\r\\n {{metric.Week13}}\\r\\n \\r\\n \\r\\n {{metric.Week14 == 2 ? 'Yes' : metric.Week14 == 1 ? 'No' :\\r\\n ''}}\\r\\n {{metric.Week14}}\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\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 \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
GoalMetricGreenYellowRedFrequencyUOM\\r\\n
Wk 1
\\r\\n
({{WeekDateList[0].label}})
\\r\\n
\\r\\n
Wk 2
\\r\\n
({{WeekDateList[1].label}})
\\r\\n
\\r\\n
Wk 3
\\r\\n
({{WeekDateList[2].label}})
\\r\\n
\\r\\n
Wk 4
\\r\\n
({{WeekDateList[3].label}})
\\r\\n
\\r\\n
Wk 5
\\r\\n
({{WeekDateList[4].label}})
\\r\\n
\\r\\n
Wk 6
\\r\\n
({{WeekDateList[5].label}})
\\r\\n
\\r\\n
Wk 7
\\r\\n
({{WeekDateList[6].label}})
\\r\\n
\\r\\n
Wk 8
\\r\\n
({{WeekDateList[7].label}})
\\r\\n
\\r\\n
Wk 9
\\r\\n
({{WeekDateList[8].label}})
\\r\\n
\\r\\n
Wk 10
\\r\\n
({{WeekDateList[9].label}})
\\r\\n
\\r\\n
Wk 11
\\r\\n
({{WeekDateList[10].label}})
\\r\\n
\\r\\n
Wk 12
\\r\\n
({{WeekDateList[11].label}})
\\r\\n
\\r\\n
Wk 13
\\r\\n
({{WeekDateList[12].label}})
\\r\\n
\\r\\n
Wk 14
\\r\\n
({{WeekDateList[13].label}})
\\r\\n
\\r\\n {{metric.GoalName}}{{metric.Description}}\\r\\n {{metric.GreenTargetSymbol}} \\r\\n = \\r\\n {{metric.GreenMinimum}}\\r\\n  - \\r\\n {{metric.GreenMaximum}}\\r\\n \\r\\n {{metric.YellowTargetSymbol}} \\r\\n = \\r\\n {{metric.YellowMinimum}}\\r\\n  - \\r\\n {{metric.YellowMaximum}}\\r\\n \\r\\n {{metric.RedTargetSymbol}} \\r\\n = \\r\\n {{metric.RedMinimum}}\\r\\n  - \\r\\n {{metric.RedMaximum}}\\r\\n {{metric.Frequency}}{{metric.UOM}}\\r\\n {{metric.Week1 == 2 ? 'Yes' : metric.Week1 == 1\\r\\n ? 'No' : ''}}\\r\\n {{metric.Week1}}\\r\\n \\r\\n \\r\\n {{metric.Week2 == 2 ? 'Yes' : metric.Week2 == 1 ? 'No' :\\r\\n ''}}\\r\\n {{metric.Week2}}\\r\\n \\r\\n \\r\\n {{metric.Week3 == 2 ? 'Yes' : metric.Week3 == 1 ? 'No' :\\r\\n ''}}\\r\\n {{metric.Week3}}\\r\\n \\r\\n \\r\\n {{metric.Week4 == 2 ? 'Yes' : metric.Week4 == 1 ?\\r\\n 'No' : ''}}\\r\\n {{metric.Week4}}\\r\\n \\r\\n \\r\\n {{metric.Week5 == 2 ? 'Yes' : metric.Week5 == 1 ? 'No' :\\r\\n ''}}\\r\\n {{metric.Week5}}\\r\\n \\r\\n \\r\\n {{metric.Week6 == 2 ? 'Yes' : metric.Week6 == 1 ? 'No' :\\r\\n ''}}\\r\\n {{metric.Week6}}\\r\\n \\r\\n \\r\\n {{metric.Week7 == 2 ? 'Yes' : metric.Week7 == 1 ? 'No' :\\r\\n ''}}\\r\\n {{metric.Week7}}\\r\\n \\r\\n \\r\\n {{metric.Week8 == 2 ? 'Yes' : metric.Week8 == 1 ?\\r\\n 'No' : ''}}\\r\\n {{metric.Week8}}\\r\\n \\r\\n \\r\\n {{metric.Week9 == 2 ? 'Yes' : metric.Week9 == 1 ? 'No' :\\r\\n ''}}\\r\\n {{metric.Week9}}\\r\\n \\r\\n \\r\\n {{metric.Week10 == 2 ? 'Yes' : metric.Week10 == 1 ? 'No' :\\r\\n ''}}\\r\\n {{metric.Week10}}\\r\\n \\r\\n \\r\\n {{metric.Week11 == 2 ? 'Yes' : metric.Week11 == 1 ? 'No' :\\r\\n ''}}\\r\\n {{metric.Week11}}\\r\\n \\r\\n \\r\\n {{metric.Week12 == 2 ? 'Yes' : metric.Week12 == 1 ? 'No' :\\r\\n ''}}\\r\\n {{metric.Week12}}\\r\\n \\r\\n \\r\\n {{metric.Week13 == 2 ? 'Yes' : metric.Week13 == 1 ? 'No' :\\r\\n ''}}\\r\\n {{metric.Week13}}\\r\\n \\r\\n \\r\\n {{metric.Week14 == 2 ? 'Yes' : metric.Week14 == 1 ? 'No' :\\r\\n ''}}\\r\\n {{metric.Week14}}\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\"","import { Component, OnInit, Inject, } from '@angular/core';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { DorseyService } from '../dorsey.service';\nimport { FormControl } from '@angular/forms';\nimport { Observable } from 'rxjs';\nimport { LocalStorageService } from 'ngx-webstorage';\nimport { EmployeeLoginLevel } from '../common/models/login-level.model';\nimport { copyRight } from '../copyRight.model';\n\n\n\n@Component({\n selector: 'app-activity',\n templateUrl: './activity.component.html',\n providers: [DorseyService]\n})\nexport class ActivityComponent implements OnInit {\n employeeLoginLevel = EmployeeLoginLevel;\n employeeDetails: any;\n companyName: string;\n\n granualActivity = [];\n ProcessByTeam = [];\n headerText: string;\n status = false;\n activityData: any;\n originalData: any;\n departmentData: any;\n employeeData: any;\n processData: any;\n CompanyID: string;\n ProcessID: string;\n // ProcessID1: string;\n DepartmentID: string;\n EmployeeID: number;\n ActivityTypeID: string;\n activityTypeData: any;\n ActivityID: string;\n condition = false;\n ActivityName: string;\n p: number = 1;\n rowsOnPage = 10;\n rowsOnPageSet = [];\n rowCount: any;\n dynamicRows = 10;\n isDesc: boolean = false;\n column = \"\";\n direction: number;\n arrow = true;\n\n parentID: number\n searchTerm: FormControl = new FormControl();\n myBooks = [];\n searchtext: string;\n saveFilter = [];\n activityPaging = false;\n teamData: any;\n //teamids=[];\n keyActivityTeam: any;\n isDisable = false;\n disableSearch = false;\n TeamID: number;\n currentUser: string;\n menuData: any;\n MenuPermissions: any;\n menuName: string;\n menuID: string;\n Permissons: any;\n ParentName = [];\n TeamIDByProcess: string;\n EmpROleID: string;\n squence: number;\n empID: string;\n tempAc = [];\n userTeamID: string;\n loginCompanyName: any;\n lastSequence: number;\n TeamName: any;\n pointerData: any;\n actData: any;\n sequenceList = [];\n usersData: any;\n userRoleAssignmentData: any;\n rolesData: any;\n UserID: any;\n copyDate: number;\n companyData: any;\n constructor(public dialog: MatDialog, public dorseyService: DorseyService, private storage: LocalStorageService) {\n // this.Permissons=this.storage.retrieve(\"Permissions\");\n this.userTeamID = this.storage.retrieve('TeamID');\n this.CompanyID = this.storage.retrieve('companyID');\n this.menuData = this.storage.retrieve('menuData');\n this.currentUser = this.storage.retrieve('user');\n this.MenuPermissions = this.storage.retrieve('MenuPermissions');\n\n this.empID = this.storage.retrieve(\"EmployeeID\");\n this.loginCompanyName = this.storage.retrieve('loginCompanyName');\n this.UserID = this.storage.retrieve('UserID');\n this.EmpROleID = this.storage.retrieve('EmpRoleID');\n this.employeeDetails = this.storage.retrieve('employeeDetails');\n this.GetTeam();\n }\n\n ngOnInit() {\n if (this.employeeDetails) {\n this.EmployeeID = this.employeeDetails.EmployeeID;\n this.TeamID = this.employeeDetails.TeamID;\n }\n else {\n this.EmployeeID = 0;\n }\n this.menuData = this.menuData.filter(x => x.MenuName.toString().toLowerCase() === 'activity');\n\n if (this.menuData.length > 0) {\n this.menuName = this.menuData[0][\"MenuName\"];\n this.menuID = this.menuData[0][\"MenuID\"];\n }\n this.GetProcess();\n this.GetActivity();\n this.GetActivityType();\n this.GetActivitiesTeam();\n this.copyDate = (new Date()).getFullYear();\n }\n\n GetUsers() {\n this.dorseyService.GetUsersList().subscribe(users => {\n this.usersData = JSON.parse(users['_body']);\n });\n }\n GetRoles() {\n this.dorseyService.GetRoles(this.CompanyID).subscribe(users => {\n this.rolesData = JSON.parse(users['_body']);\n });\n }\n GetUserRoleAssignment() {\n this.dorseyService.GetUserRoleAssignment().subscribe(userRoles => {\n this.userRoleAssignmentData = JSON.parse(userRoles['_body']);\n this.dorseyService.GetRoles(this.CompanyID).subscribe(users => {\n this.rolesData = JSON.parse(users['_body']);\n if (this.empID.toString() !== '0') {\n let roles = this.userRoleAssignmentData.filter(x => x.UserID === this.UserID);\n if (roles.length > 0) {\n this.EmpROleID = roles[0].RoleID;\n let roleData = this.rolesData.filter(x => x.RoleID === this.EmpROleID);\n if (roleData.length > 0) {\n this.MenuPermissions = JSON.parse(roleData[0].MenuJson);\n }\n\n }\n }\n });\n });\n }\n\n OpenActivity(type: string) {\n this.dialogCall(type);\n }\n GetTeam() {\n this.dorseyService.GetTeam(this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.teamData = subData;\n\n if (this.employeeDetails) {\n if (this.employeeDetails.IsEmployeeLoginLevel == this.employeeLoginLevel.Department) {\n this.teamData = this.teamData.filter(ent => ent.DepartmentID == this.employeeDetails.DepartmentID)\n }\n else if (this.employeeDetails.IsEmployeeLoginLevel == this.employeeLoginLevel.Team) {\n this.teamData = this.teamData.filter(ent => ent.DepartmentID == this.employeeDetails.DepartmentID && ent.TeamID == this.employeeDetails.TeamID)\n this.TeamName = this.teamData[0].TeamName;\n }\n else {\n this.teamData = subData;\n }\n }\n });\n }\n\n GetActivitiesTeam() {\n this.dorseyService.GetActivitiesTeam().subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.keyActivityTeam = subData;\n });\n }\n\n Searchtext() {\n this.activityData = this.saveFilter;\n\n let tempActivity = this.activityData.filter(\n (item) => {\n return (\n (item.ProcessName !== null && item.ProcessName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1)\n || (item.ActivityName !== null && item.ActivityName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1)) ||\n (item.TeamName !== null && item.TeamName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.ActivityTypeName !== null && item.ActivityTypeName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.Parentname !== null && item.Parentname.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1);\n ;\n }\n\n );\n this.activityData = tempActivity;\n if (this.activityData.length == 0) {\n // this.GetActivity();\n this.isDisable = true;\n } else {\n this.isDisable = false;\n }\n if (this.searchtext === '') {\n this.activityData = this.saveFilter;\n this.dynamicRows = 10;\n this.rowsOnPageSet = [];\n this.rowCount = this.activityData.length;\n while (this.dynamicRows < this.rowCount) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 10;\n }\n if (!this.rowsOnPageSet.includes(this.rowCount))\n this.rowsOnPageSet.push(this.rowCount);\n if (this.rowsOnPageSet) {\n\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n this.isDisable = false;\n } else {\n this.rowCount = tempActivity.length;\n this.dynamicRows = 10;\n this.rowsOnPageSet = [];\n while (this.dynamicRows < this.rowCount) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 10;\n }\n if (!this.rowsOnPageSet.includes(this.rowCount)) {\n this.rowsOnPageSet.push(this.rowCount);\n if (this.rowsOnPageSet)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n\n if (this.rowsOnPageSet.length === 1) {\n if (this.rowsOnPageSet[0] <= 10)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n }\n }\n GetCompanyName() {\n if (this.CompanyID != '0') {\n this.dorseyService.GetCompanyData().subscribe(data => {\n this.companyData = JSON.parse(data['_body']);\n let dataCompany = this.companyData.filter(x => x.CompanyID === this.CompanyID);\n if (dataCompany.length > 0) {\n this.loginCompanyName = dataCompany[0].CompanyName;\n }\n });\n }\n }\n\n exportAsXLSX(): void {\n let allData = JSON.parse(JSON.stringify(this.activityData));\n for (let i = 0; i < allData.length; i++) {\n allData[i].Team = allData[i].TeamName;\n allData[i].Process = this.activityData[i].ProcessName;\n\n allData[i].Activity = this.activityData[i].ActivityName;\n\n allData[i].Parent = this.activityData[i].Parentname;\n\n allData[i].ActivityType = this.activityData[i].ActivityTypeName;\n allData[i].Sequence = this.activityData[i].squence;\n\n // if( this.activityData[i].ParentID===0)\n // { allData[i].Parent = this.activityData[i].ProcessName;\n\n // }\n // else{\n // allData[i].Parent = this.ParentName[i];\n\n // }\n\n delete (allData[i].ActivityTypeName);\n delete (allData[i].ActivityTypeID);\n delete (allData[i].Parentname);\n delete (allData[i].TeamID2);\n delete (allData[i].ProcessID2);\n delete (allData[i].TeamName1);\n delete (allData[i].CompanyID2);\n delete (allData[i].IsActive2);\n delete (allData[i].CreatedDate2);\n delete (allData[i].CreatedBy2);\n\n\n delete (allData[i].UpdatedDate2);\n delete (allData[i].UpdatedBy2);\n delete (allData[i].TeamDescription);\n\n\n\n delete (allData[i].TeamName);\n delete (allData[i].squence1);\n delete (allData[i].ProcessName);\n delete (allData[i].ActivityName);\n delete (allData[i].TeamID);\n delete (allData[i].CompanyID);\n delete (allData[i].CompanyID1);\n delete (allData[i].TeamID1);\n delete (allData[i].ProcessID);\n delete (allData[i].ProcessID1);\n delete (allData[i].ActivityID);\n delete (allData[i].location);\n delete (allData[i].ActivityTypeID);\n\n delete (allData[i].CreatedDate);\n delete (allData[i].CreatedBy);\n delete (allData[i].VersionID);\n\n delete (allData[i].DepartmentID);\n delete (allData[i].EmployeeID);\n\n delete (allData[i].ParentID);\n delete (allData[i].UpdatedDate);\n delete (allData[i].UpdatedBy);\n delete (allData[i].VersionID1);\n delete (allData[i].ProcessID1);\n delete (allData[i].IsActive);\n\n delete (allData[i].ProcessName1);\n delete (allData[i].ProcessDescription1);\n delete (allData[i].DepartmentID1);\n delete (allData[i].EmployeeID1);\n delete (allData[i].CreatedBy1);\n delete (allData[i].CreatedDate1);\n delete (allData[i].UpdatedBy1);\n delete (allData[i].UpdatedDate1);\n delete (allData[i].IsActive1);\n delete (allData[i].squence);\n\n delete (allData[i].CompanyID);\n delete (allData[i].ParentID1);\n delete (allData[i].ProcessDescription);\n delete (allData[i].R);\n delete (allData[i].C);\n delete (allData[i].U);\n delete (allData[i].D);\n\n }\n\n\n this.dorseyService.generateExcel(allData, this.loginCompanyName + '_activity' + \"_\" + (new Date().getMonth() + 1) + '-' + new Date().getDate() + '-' + new Date().getFullYear(), 'Activity', \"Company: \" + this.loginCompanyName, '', \"Activity Report\", copyRight, 'FFFFFF00', 'FF0000FF');\n }\n\n\n GetActivity() {\n this.activityData = [];\n this.ParentName = [];\n this.dorseyService.GetActivity(this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.activityData = subData;\n this.storage.store(\"actData\", this.activityData);\n this.originalData = subData;\n let tempactivityData = this.activityData;\n\n if (this.activityData.length === 0) {\n this.activityPaging = false;\n this.isDisable = true;\n this.disableSearch = true;\n }\n else {\n this.rowCount = this.activityData.length;\n this.saveFilter = JSON.parse(JSON.stringify(this.activityData));\n this.activityPaging = true;\n this.isDisable = false;\n\n this.disableSearch = false;\n this.rowsOnPageSet = [];\n this.dynamicRows = 10;\n\n\n if (this.employeeDetails) {\n if (this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Department) {\n this.activityData = this.activityData.filter(entity1 => this.teamData.find(entity2 => entity1.TeamID == entity2.TeamID));\n }\n else if (this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Team) {\n this.activityData = this.activityData.filter(ent => ent.TeamID == this.employeeDetails.TeamID)\n }\n else {\n let data = this.activityData.filter(x => x.CompanyID === this.CompanyID);\n this.activityData = data;\n }\n if (!this.employeeDetails.PermissionJson || this.employeeDetails.PermissionJson === \"{}\") {\n this.rowCount = this.activityData.length;\n this.saveFilter = JSON.parse(JSON.stringify(this.activityData));\n this.getActivityPagination(this.rowCount)\n return;\n }\n\n this.Permissons = JSON.parse(this.employeeDetails.PermissionJson);\n this.Permissons = this.Permissons[\"Activity\"];\n let activityKeys = Object.keys(this.Permissons);\n let tempProcess = this.processData;\n {\n this.activityData = tempactivityData.filter(x => x.CompanyID === this.CompanyID);\n this.processData = tempProcess.filter(x => x.CompanyID === this.CompanyID);\n }\n\n for (let i = 0; i < activityKeys.length; i++) {\n let actData = this.activityData.filter(x => x.ActivityID.toString() === activityKeys[i].toString());\n if (actData.length > 0) {\n let permissonKeys = Object.keys(this.Permissons[activityKeys[i]]);\n\n if (permissonKeys.indexOf('R') > -1)\n actData[0]['R'] = this.Permissons[activityKeys[i]]['R'];\n else\n actData[0]['R'] = false;\n\n\n if (permissonKeys.indexOf('C') > -1)\n actData[0]['C'] = this.Permissons[activityKeys[i]]['C'];\n else\n actData[0]['C'] = false;\n\n\n if (permissonKeys.indexOf('U') > -1)\n actData[0]['U'] = this.Permissons[activityKeys[i]]['U'];\n else\n actData[0]['U'] = false;\n\n\n if (permissonKeys.indexOf('D') > -1)\n actData[0]['D'] = this.Permissons[activityKeys[i]]['D'];\n else\n actData[0]['D'] = false;\n\n this.granualActivity.push(actData[0]);\n }\n }\n this.activityData = this.granualActivity;\n this.rowCount = this.granualActivity.length;\n }\n\n }\n\n if (this.activityData.length > 0) {\n this.rowCount = this.activityData.length;\n this.activityPaging = true;\n this.isDisable = false;\n this.disableSearch = false;\n this.saveFilter = JSON.parse(JSON.stringify(this.activityData));\n this.getActivityPagination(this.rowCount)\n }\n else if (this.activityData.length === 0) {\n this.activityPaging = false;\n this.isDisable = true;\n this.disableSearch = true;\n }\n this.ifEmployeeLogin();\n });\n\n\n }\n\n getActivityPagination(rowCountNo) {\n while (this.dynamicRows < rowCountNo) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 10;\n }\n if (!this.rowsOnPageSet.includes(rowCountNo)) this.rowsOnPageSet.push(rowCountNo);\n if (this.rowsOnPageSet.length === 1) {\n if (this.rowsOnPageSet[0] <= 10)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n\n }\n\n\n ifEmployeeLogin() {\n if (this.userTeamID != '0' && this.userTeamID != null) {\n let tempProcessData = this.activityData.filter(x => x.TeamID == this.userTeamID);\n if (tempProcessData.length == 0) {\n this.isDisable = true;\n this.disableSearch = true;\n }\n }\n }\n\n sort(property) {\n this.arrow = !this.arrow;\n this.isDesc = !this.isDesc; //change the direction\n this.column = property;\n this.direction = this.isDesc ? 1 : -1;\n }\n\n GetEmployee() {\n this.dorseyService.GetEmployee(this.CompanyID).subscribe(subData => {\n\n subData = JSON.parse(subData['_body']);\n this.employeeData = subData;\n\n if (this.empID.toString() !== '0') {\n let filterEmp = this.employeeData.filter(x => x.EmployeeID === this.empID);\n if (filterEmp.length > 0) {\n this.userTeamID = filterEmp[0].TeamID;\n }\n }\n });\n }\n\n GetProcess() {\n this.dorseyService.GetProcess(this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.processData = subData;\n\n if (this.employeeDetails) {\n if (this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Department) {\n this.processData = this.processData.filter(entity1 => this.teamData.find(entity2 => entity1.TeamID == entity2.TeamID));\n }\n else if (this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Team) {\n this.processData = this.processData.filter(ent => ent.TeamID == this.employeeDetails.TeamID)\n }\n else {\n let data = this.processData.filter(x => x.CompanyID === this.CompanyID);\n this.processData = data;\n }\n }\n\n });\n }\n\n GetActivityType() {\n this.dorseyService.GetActivityType().subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.activityTypeData = subData;\n });\n }\n\n dialogCall(msg: string) {\n const dialogRef = this.dialog.open(ActivityDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: msg + 'æææ' + true,\n });\n dialogRef.componentInstance.EmployeeID = this.EmployeeID;\n dialogRef.componentInstance.currentUser = this.currentUser;\n dialogRef.componentInstance.processData = this.processData;\n dialogRef.componentInstance.employeeData = this.employeeData;\n dialogRef.componentInstance.departmentData = this.departmentData;\n dialogRef.componentInstance.activityTypeData = this.activityTypeData;\n dialogRef.componentInstance.activityData = this.activityData;\n dialogRef.componentInstance.originalData = this.activityData;\n dialogRef.componentInstance.teamData = this.teamData;\n dialogRef.componentInstance.CompanyID = this.CompanyID;\n dialogRef.componentInstance.TeamIDByProcess = this.TeamIDByProcess;\n dialogRef.componentInstance.TeamID = this.TeamID;\n\n\n if (msg === 'new' || msg === 'sub') {\n this.TeamID = null;\n dialogRef.componentInstance.TeamID = this.TeamID;\n this.sequenceList = [];\n }\n\n if (msg === 'edit') {\n dialogRef.componentInstance.keyActivityTeam = this.keyActivityTeam;\n this.status = true;\n this.headerText = 'Edit Activity';\n let tempProcessData = this.processData.filter(x => x.TeamID === this.TeamID);\n dialogRef.componentInstance.processData = tempProcessData;\n dialogRef.componentInstance.ProcessByTeam = this.ProcessByTeam;\n dialogRef.componentInstance.ActivityID = this.ActivityID;\n dialogRef.componentInstance.ActivityName = this.ActivityName;\n dialogRef.componentInstance.ProcessID = this.ProcessID;\n dialogRef.componentInstance.ParentActivityID = this.parentID;\n dialogRef.componentInstance.DepartmentID = this.DepartmentID;\n dialogRef.componentInstance.EmployeeID = this.EmployeeID;\n dialogRef.componentInstance.ActivityTypeID = this.ActivityTypeID;\n dialogRef.componentInstance.tempActivity = this.activityData;\n dialogRef.componentInstance.squence = this.squence;\n dialogRef.componentInstance.sequenceList = this.sequenceList;\n dialogRef.componentInstance.actData = this.actData;\n dialogRef.componentInstance.oldTeamId = this.TeamID;\n dialogRef.componentInstance.oldProcessID = this.ProcessID;\n dialogRef.componentInstance.oldActivityID = this.parentID;\n }\n\n if (msg === 'new' || msg === 'sub') {\n this.searchtext = '';\n this.ParentName = [];\n this.GetActivity();\n }\n\n dialogRef.afterClosed().subscribe(result => {\n\n // this.rowsOnPageSet=[];\n this.dynamicRows = 10;\n if (this.searchtext !== '' && this.searchtext !== undefined) {\n this.Searchtext();\n }\n else {\n\n this.GetActivity();\n }\n\n if (result.toString() === 'true') {\n ;\n let statusMsg = '';\n if (msg === 'new') {\n statusMsg = 'Saved successfully';\n } else {\n\n statusMsg = 'Updated successfully';\n }\n\n\n // this.rowsOnPageSet=[];\n this.dynamicRows = 10;\n this.ParentName = [];\n this.GetActivity();\n\n const dialogRefsub = this.dialog.open(ActivityDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: statusMsg + 'æææ' + false,\n // width: '30%'\n });\n\n setTimeout(() => {\n this.GetActivity();\n }, 500);\n dialogRefsub.afterClosed().subscribe(result1 => {\n this.ParentName = [];\n if (this.searchtext !== '') {\n this.Searchtext();\n }\n else {\n this.GetActivity();\n }\n });\n }\n });\n }\n\n\n EditActivity(element) {\n this.GetProcess();\n for (let i = 0; i < this.processData.length; i++) {\n if (this.processData[i].ProcessID === element.ProcessID) {\n this.TeamID = this.processData[i]['TeamID'];\n }\n }\n this.parentID = element.ParentID;\n this.ActivityID = element.ActivityID;\n this.ActivityName = element.ActivityName;\n this.ProcessID = element.ProcessID;\n this.ActivityTypeID = element.ActivityTypeID;\n this.DepartmentID = element.DepartmentID;\n this.EmployeeID = element.EmployeeID;\n this.TeamID = element.TeamID;\n this.squence = element.squence;\n this.storage.store(\"ProcessID\", this.ProcessID);\n this.storage.store(\"ActivityID\", this.ActivityID);\n this.actData = this.storage.retrieve(\"actData\");\n for (let i = 0; i < this.actData.length; i++) {\n if (this.TeamID === this.actData[i].TeamID) {\n this.sequenceList.push(Number(this.actData[i].squence));\n }\n }\n this.dialogCall('edit');\n }\n\n GetPointer() {\n this.dorseyService.GetPointer(this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.pointerData = subData;\n });\n }\n\n ifMaxRow() {\n if (this.rowsOnPage == this.activityData.length) {\n this.rowsOnPage = this.rowsOnPage - 1;\n }\n }\n\n DeleteActivity(element) {\n this.ActivityID = element.ActivityID;\n this.CompanyID = element.CompanyID;\n this.TeamID = element.TeamID;\n this.squence = element.squence;\n this.ProcessID = element.ProcessID;\n this.parentID = element.ParentID;\n const dialogRef = this.dialog.open(ActivityDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: 'Are you sure you want to delete activity: ' + element.ActivityName + '?æææ' + true,\n\n });\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n this.dorseyService.DeleteActivity(this.ActivityID, this.CompanyID, this.TeamID, this.squence, this.ProcessID, this.parentID).subscribe(data => {\n if (data.ok) {\n this.ifMaxRow();\n this.condition = true;\n this.dialogCall('Deleted successfully');\n }\n this.dynamicRows = 10;\n this.rowsOnPageSet = [];\n this.GetActivity();\n });\n }\n });\n }\n}\n\n\n@Component({\n selector: 'app-dialog',\n templateUrl: 'dialog.html',\n providers: [DorseyService]\n})\nexport class ActivityDialogComponent implements OnInit {\n\n public breakpoint: number;\n oldTeamId: any;\n oldProcessID: any;\n oldActivityID: any;\n lastSequence: number;\n condition = false;\n activityData: any;\n departmentData: any;\n employeeData: any;\n processData: any;\n CompanyID: string;\n ProcessID: string;\n DepartmentID: string;\n EmployeeID: number;\n ActivityTypeID: string;\n activityTypeData: any;\n dataSelf: string;\n headerText: string;\n ActivityID: string;\n ParentActivityID = 0;\n ActivityName: string;\n processCtrl = new FormControl();\n filteredProcess: Observable;\n tempActivity = [];\n tempDepart: any;\n keyActivityTeam: any;\n teamData: any;\n currentUser: string;\n ProcessByTeam = [];\n TeamIDByProcess: string;\n TeamID: number;\n conditionActivity = '';\n squence: number;\n sequenceList: number[] = [];\n ParentName = [];\n originalData: any;\n actData: any;\n btnDisabled = false;\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any, public dorseyService: DorseyService, private storage: LocalStorageService) {\n this.data = this.data.split('æææ');\n\n if (this.data[1] === 'true') {\n this.condition = true;\n } else if (this.data[1] === 'false') {\n this.condition = false;\n }\n else {\n if (this.data[1] === '') {\n this.conditionActivity = 'process';\n } else {\n this.conditionActivity = 'activity';\n }\n }\n\n if (this.data[0].toString() === 'Deleted successfully' || this.data[0].toString() === \"This Activity have issues or metrics or sub activity\") {\n this.condition = false;\n }\n this.data = this.data[0];\n }\n\n\n ngOnInit() {\n\n this.breakpoint = window.innerWidth <= 900 ? 1 : 3;\n if (this.conditionActivity === 'process' || this.conditionActivity === 'activity') {\n\n for (let i = 0; i < this.activityData.length; i++) {\n\n if (this.activityData[i].ProcessID === this.ProcessID && this.activityData[i].ParentID === this.ParentActivityID && this.activityData[i].TeamID === this.TeamID) {\n this.sequenceList.push(Number(this.activityData[i].squence));\n }\n }\n\n let seq = this.sequenceList.length + 1;\n if (this.sequenceList.length !== 0) {\n this.sequenceList.push(seq);\n }\n else this.sequenceList.push(1);\n this.squence = this.sequenceList[this.sequenceList.length - 1]\n ;\n }\n\n if (this.data === 'edit' || this.data === 'rearrange') {\n this.tempActivity = [];\n this.sequenceList = [];\n\n if (this.data === 'edit') {\n this.activityData = this.actData;\n }\n for (let i = 0; i < this.activityData.length; i++) {\n if (this.activityData[i].ProcessID === this.ProcessID && this.activityData[i].ParentID === 0) {\n this.tempActivity.push(this.activityData[i]);\n }\n }\n for (let i = 0; i < this.activityData.length; i++) {\n if (this.activityData[i].ProcessID === this.ProcessID && this.activityData[i].ParentID === this.ParentActivityID && this.activityData[i].TeamID === this.TeamID) {\n this.sequenceList.push(this.activityData[i].squence);\n }\n }\n }\n this.sequenceList.sort();\n this.sequenceList.sort(this.sortNumber);\n this.lastSequence = this.sequenceList.length;\n }\n onResize(event) {\n this.breakpoint = (event.target.innerWidth <= 1000) ? 1 : 3;\n }\n sortNumber(a, b) {\n return a - b;\n }\n Clear() {\n this.dialogRef.close(false);\n }\n process(event) {\n this.TeamID = 0;\n if (this.ParentActivityID !== 0) {\n this.squence = null;\n this.ParentActivityID = null;\n\n }\n this.dorseyService.GetActivity(this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.activityData = subData;\n this.tempActivity = [];\n this.ProcessByTeam = [];\n this.sequenceList = [];\n this.ProcessID = event.value;\n this.activityData.sort(function (a, b) {\n return a.squence - b.squence;\n });\n for (let i = 0; i < this.processData.length; i++) {\n if (this.processData[i].ProcessID === this.ProcessID) {\n this.TeamID = this.processData[i]['TeamID'];\n }\n }\n for (let i = 0; i < this.activityData.length; i++) {\n\n if (this.activityData[i].ProcessID === this.ProcessID && this.activityData[i].ParentID === 0 && this.TeamID === this.activityData[i].TeamID) {\n this.tempActivity.push(this.activityData[i]);\n\n }\n\n if (this.data !== 'sub' && this.ParentActivityID === 0) {\n if (this.activityData[i].ProcessID === this.ProcessID && this.activityData[i].ParentID === this.ParentActivityID && this.TeamID === this.activityData[i].TeamID) {\n this.sequenceList.push(this.activityData[i].squence);\n }\n }\n }\n if (this.ProcessID != this.oldProcessID) {\n let seq = this.sequenceList.length + 1;\n if (this.data !== 'sub' && this.ParentActivityID === 0) {\n if (this.sequenceList.length !== 0) {\n this.sequenceList.push(seq);\n }\n else this.sequenceList.push(1);\n }\n }\n if (this.data !== 'sub' && this.ParentActivityID === 0) {\n this.squence = this.sequenceList[this.sequenceList.length - 1];\n this.lastSequence = this.sequenceList.length;\n }\n });\n\n }\n bindSequence() {\n\n this.dorseyService.GetActivity(this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.activityData = subData;\n this.activityData.sort(function (a, b) {\n return a.squence - b.squence;\n });\n\n this.sequenceList = [];\n for (let i = 0; i < this.activityData.length; i++) {\n if (this.activityData[i].ProcessID === this.ProcessID && this.activityData[i].ParentID === this.ParentActivityID && this.activityData[i].TeamID === this.TeamID) {\n this.sequenceList.push(this.activityData[i].squence);\n }\n }\n\n if (this.ParentActivityID != this.oldActivityID) {\n let seq = this.sequenceList.length + 1;\n if (this.sequenceList.length !== 0) {\n this.sequenceList.push(seq);\n }\n else this.sequenceList.push(1);\n }\n\n this.squence = this.sequenceList[this.sequenceList.length - 1];\n this.lastSequence = this.sequenceList.length;\n });\n }\n activityType(event) {\n this.ActivityTypeID = event.value;\n }\n department(event) {\n this.DepartmentID = event.value;\n }\n employee(event) {\n this.EmployeeID = event.value;\n\n let tempEmp = this.employeeData.filter(x => x.EmployeeID === this.EmployeeID);\n\n if (tempEmp.length > 0 && tempEmp.length === 1) {\n this.tempDepart = this.departmentData.filter(x => x.DepartmentID === tempEmp[0].DepartmentID);\n this.DepartmentID = this.tempDepart[0].DepartmentID;\n\n }\n }\n AddActivity() {\n this.btnDisabled = true;\n\n setTimeout(() => {\n this.btnDisabled = false;\n }, 1000);\n let count = 0;\n const Editcount = 0;\n if (this.data === 'sub' && !this.ParentActivityID || !this.squence) {\n this.dataSelf = 'Please enter mandatory(*) fields';\n return\n }\n if (this.ActivityName === undefined || this.ActivityTypeID === undefined || this.ProcessID === undefined ||\n\n this.ActivityName.trim() === '' || this.ActivityTypeID === '' || this.ProcessID === '') {\n // this.DepartmentID === undefined || this.EmployeeID === undefined || || this.DepartmentID === '' || this.EmployeeID === ''\n this.dataSelf = 'Please enter mandatory(*) fields';\n if (this.data === 'new') {\n\n }\n count++;\n }\n\n if (count === 0 && Editcount === 0) {\n this.dataSelf = '';\n if (this.data === 'new') {\n this.Saving(this.data);\n } else {\n this.Saving(this.data);\n }\n } else {\n\n }\n }\n GetTempActivity(ProcessID: string) {\n for (let i = 0; i < this.activityData.length; i++) {\n\n if (this.activityData[i].ProcessID === ProcessID && this.activityData[i].ParentID === 0) {\n this.tempActivity.push(this.activityData[i]);\n }\n }\n }\n onYesClick() {\n\n this.dialogRef.close(true);\n }\n\n onNoClick(): void {\n this.dialogRef.close();\n }\n Saving(msg: string) {\n\n if (this.data === 'sub' && !this.ParentActivityID || !this.squence) {\n this.dataSelf = 'Please enter mandatory(*) fields';\n return\n }\n\n\n const json = {\n CompanyID: this.CompanyID,\n // CompanyID: \"1\",\n\n ActivityID: this.ActivityID,\n // TeamID: this.teamID,\n ParentID: this.ParentActivityID,\n ActivityName: this.ActivityName,\n ProcessID: this.ProcessID,\n ActivityTypeID: this.ActivityTypeID,\n // DepartmentID: this.DepartmentID,\n // EmployeeID: this.EmployeeID,\n DepartmentID: \"0\",\n EmployeeID: this.EmployeeID,\n CreatedBy: this.currentUser,\n UpdatedBy: this.currentUser,\n TeamIDs: this.TeamID,\n squence: this.squence,\n type: msg,\n lastSequence: this.lastSequence\n };\n if (msg === 'new' || msg === 'sub') {\n this.dorseyService.SaveActivity(json, 'No').subscribe(data => {\n if (data['_body'].toString() === 'true') {\n this.dataSelf = 'Saved succesfully';\n this.ActivityName = '';\n this.ActivityTypeID = '';\n this.squence = this.sequenceList[this.sequenceList.length - 1] + 1;\n this.sequenceList.push(this.squence);\n } else {\n this.dataSelf = 'Save failed';\n }\n });\n } else {\n this.lastSequence = this.sequenceList.length;\n this.dorseyService.SaveActivity(json, 'No').subscribe(data => {\n if (data['_body'].toString() === 'true') {\n this.dialogRef.close(true);\n } else {\n this.dataSelf = 'Updated successfully';\n }\n });\n }\n }\n IsAlpha(evt) {\n var keyCode = (evt.which) ? evt.which : evt.keyCode\n if ((keyCode < 65 || keyCode > 90) && (keyCode < 97 || keyCode > 123) && keyCode != 32) {\n return false;\n }\n return true;\n }\n\n\n}\n","module.exports = \".text-underline {\\n text-decoration: underline;\\n}\\n\\n.field {\\n margin-left: 2%;\\n}\\n\\n#tableActions {\\n justify-content: flex-start !important;\\n}\\n\\n.form-group {\\n margin-bottom: 0.25rem;\\n}\\n\\n.example-headers-align .mat-expansion-panel-header-title,\\n.example-headers-align .mat-expansion-panel-header-description {\\n flex-basis: 0;\\n}\\n\\n.example-headers-align .mat-expansion-panel-header-description {\\n justify-content: space-between;\\n align-items: center;\\n}\\n\\n.example-headers-align .mat-form-field + .mat-form-field {\\n margin-left: 8px;\\n}\\n\\n.mat-action-row {\\n padding: 0px !important;\\n}\\n\\nmat-expansion-panel-header {\\n height: 48px !important;\\n pointer-events: none;\\n border-bottom: 1px solid lightgrey;\\n}\\n\\n.p-t-20 {\\n padding-top: 20px !important;\\n}\\n\\nmat-panel-title {\\n font-weight: 600;\\n}\\n\\nth {\\n color: white;\\n background-color: #474747;\\n}\\n\\n.target-width {\\n width: 75px;\\n}\\n\\n.f-b {\\n font-weight: bold;\\n}\\n\\n.p-0 {\\n padding: 0px !important;\\n}\\n\\n.m-0 {\\n margin: 0px !important;\\n}\\n\\n.min-width-300 {\\n min-width: 300px !important;\\n width: 450px !important;\\n max-width: 450px !important;\\n word-break: break-all;\\n}\\n\\n.min-width {\\n min-width: 130px !important;\\n}\\n\\n.w-50 {\\n text-align: center;\\n min-width: 50px !important;\\n}\\n\\n.w-100 {\\n width: 100%;\\n}\\n\\n.m-2 {\\n margin: 2%;\\n}\\n\\n.btn-default {\\n background-color: #e6e8eb !important;\\n}\\n\\n.bg-red {\\n background-color: red;\\n text-align: center;\\n padding-top: 20px;\\n}\\n\\n.bg-yellow {\\n background-color: yellow;\\n text-align: center;\\n padding-top: 20px;\\n}\\n\\n.bg-green {\\n background-color: green;\\n text-align: center;\\n padding-top: 20px;\\n}\\n\\n.w-80 {\\n min-width: 80px;\\n}\\n\\n.w-130 {\\n min-width: 130px;\\n}\\n\\n.warningMsg {\\n text-align: center;\\n color: red;\\n}\\n\\n.p-r-0 {\\n padding-right: 5px !important;\\n}\\n\\n.min-width-100 {\\n min-width: 100px !important;\\n}\\n\\n.min-width-500 {\\n min-width: 500px !important;\\n width: 750px !important;\\n}\\n\\n.headcol {\\n position: -webkit-sticky;\\n position: sticky;\\n left: 0px;\\n /* height: 48px; */\\n z-index: 1;\\n}\\n\\n.headcol1 {\\n position: -webkit-sticky;\\n position: sticky;\\n left: 130px;\\n /* height: 48px; */\\n z-index: 1;\\n}\\n\\n.bodycol {\\n position: -webkit-sticky;\\n position: sticky;\\n left: 0px;\\n z-index: 1;\\n background-color: lightgrey;\\n text-align: center;\\n vertical-align: middle;\\n}\\n\\n.bodycol1 {\\n position: -webkit-sticky;\\n position: sticky;\\n left: 130px;\\n z-index: 1;\\n background-color: lightgrey;\\n text-align: center;\\n vertical-align: middle;\\n}\\n\\n.v-m {\\n vertical-align: middle;\\n}\\n\\n.quarter-message {\\n color: red;\\n font-weight: bold;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYWRkLXNjb3JlLWNhcmQvRjpcXE5pa2lsIFdvcmtcXFByb2plY3RzXFxEb3JzZXlcXEhpZXJhcmNoeSBTb3VyY2UgQ29kZVxcV29ya2luZ1xcZG9yc2V5R3JvdXAvc3JjXFxhcHBcXGFkZC1zY29yZS1jYXJkXFxhZGQtc2NvcmUtY2FyZC5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvYWRkLXNjb3JlLWNhcmQvYWRkLXNjb3JlLWNhcmQuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSwwQkFBQTtBQ0NKOztBREVBO0VBQ0ksZUFBQTtBQ0NKOztBREVBO0VBQ0ksc0NBQUE7QUNDSjs7QURFQTtFQUNJLHNCQUFBO0FDQ0o7O0FERUE7O0VBRUUsYUFBQTtBQ0NGOztBREVBO0VBQ0UsOEJBQUE7RUFDQSxtQkFBQTtBQ0NGOztBREVBO0VBQ0UsZ0JBQUE7QUNDRjs7QURFQTtFQUNBLHVCQUFBO0FDQ0E7O0FERUE7RUFDSSx1QkFBQTtFQUNBLG9CQUFBO0VBQ0Esa0NBQUE7QUNDSjs7QURFQTtFQUNFLDRCQUFBO0FDQ0Y7O0FERUE7RUFDSSxnQkFBQTtBQ0NKOztBREVBO0VBQ0UsWUFBQTtFQUNBLHlCQUFBO0FDQ0Y7O0FERUE7RUFDRSxXQUFBO0FDQ0Y7O0FERUE7RUFDRSxpQkFBQTtBQ0NGOztBREVBO0VBQ0UsdUJBQUE7QUNDRjs7QURFQTtFQUNFLHNCQUFBO0FDQ0Y7O0FERUE7RUFDRSwyQkFBQTtFQUNBLHVCQUFBO0VBQ0EsMkJBQUE7RUFDQSxxQkFBQTtBQ0NGOztBREVBO0VBQ0UsMkJBQUE7QUNDRjs7QURFQTtFQUNFLGtCQUFBO0VBQ0EsMEJBQUE7QUNDRjs7QURFQTtFQUNFLFdBQUE7QUNDRjs7QURFQTtFQUNFLFVBQUE7QUNDRjs7QURFQTtFQUNFLG9DQUFBO0FDQ0Y7O0FERUE7RUFDRSxxQkFBQTtFQUVBLGtCQUFBO0VBQ0EsaUJBQUE7QUNBRjs7QURHQTtFQUNFLHdCQUFBO0VBRUEsa0JBQUE7RUFDQSxpQkFBQTtBQ0RGOztBRElBO0VBQ0UsdUJBQUE7RUFFQSxrQkFBQTtFQUNBLGlCQUFBO0FDRkY7O0FES0E7RUFDRSxlQUFBO0FDRkY7O0FES0E7RUFDRSxnQkFBQTtBQ0ZGOztBREtBO0VBQ0Usa0JBQUE7RUFDQSxVQUFBO0FDRkY7O0FES0E7RUFDRSw2QkFBQTtBQ0ZGOztBREtBO0VBQ0UsMkJBQUE7QUNGRjs7QURLQTtFQUNFLDJCQUFBO0VBQ0EsdUJBQUE7QUNGRjs7QURLQTtFQUNFLHdCQUFBO0VBQUEsZ0JBQUE7RUFDRSxTQUFBO0VBQ0Esa0JBQUE7RUFDQSxVQUFBO0FDRko7O0FES0E7RUFDRSx3QkFBQTtFQUFBLGdCQUFBO0VBQ0UsV0FBQTtFQUNBLGtCQUFBO0VBQ0EsVUFBQTtBQ0ZKOztBREtBO0VBQ0Usd0JBQUE7RUFBQSxnQkFBQTtFQUNFLFNBQUE7RUFDQSxVQUFBO0VBQ0EsMkJBQUE7RUFDQSxrQkFBQTtFQUNBLHNCQUFBO0FDRko7O0FES0E7RUFDRSx3QkFBQTtFQUFBLGdCQUFBO0VBQ0UsV0FBQTtFQUNBLFVBQUE7RUFDQSwyQkFBQTtFQUNBLGtCQUFBO0VBQ0Esc0JBQUE7QUNGSjs7QURLQTtFQUNFLHNCQUFBO0FDRkY7O0FES0E7RUFDRSxVQUFBO0VBQ0EsaUJBQUE7QUNGRiIsImZpbGUiOiJzcmMvYXBwL2FkZC1zY29yZS1jYXJkL2FkZC1zY29yZS1jYXJkLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnRleHQtdW5kZXJsaW5le1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbn1cclxuXHJcbi5maWVsZHtcclxuICAgIG1hcmdpbi1sZWZ0OiAyJTtcclxufVxyXG5cclxuI3RhYmxlQWN0aW9uc3tcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZm9ybS1ncm91cHtcclxuICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XHJcbn1cclxuXHJcbi5leGFtcGxlLWhlYWRlcnMtYWxpZ24gLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLXRpdGxlLFxyXG4uZXhhbXBsZS1oZWFkZXJzLWFsaWduIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1kZXNjcmlwdGlvbiB7XHJcbiAgZmxleC1iYXNpczogMDtcclxufVxyXG5cclxuLmV4YW1wbGUtaGVhZGVycy1hbGlnbiAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZGVzY3JpcHRpb24ge1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4uZXhhbXBsZS1oZWFkZXJzLWFsaWduIC5tYXQtZm9ybS1maWVsZCArIC5tYXQtZm9ybS1maWVsZCB7XHJcbiAgbWFyZ2luLWxlZnQ6IDhweDtcclxufVxyXG5cclxuLm1hdC1hY3Rpb24tcm93e1xyXG5wYWRkaW5nOiAwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJ7XHJcbiAgICBoZWlnaHQ6NDhweCAhaW1wb3J0YW50O1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbGlnaHRncmV5O1xyXG59XHJcblxyXG4ucC10LTIwe1xyXG4gIHBhZGRpbmctdG9wOiAyMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbm1hdC1wYW5lbC10aXRsZXtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuXHJcbnRoIHtcclxuICBjb2xvcjogd2hpdGU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQ3NDc0NztcclxufVxyXG5cclxuLnRhcmdldC13aWR0aHtcclxuICB3aWR0aDogNzVweDtcclxufVxyXG5cclxuLmYtYntcclxuICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLnAtMHtcclxuICBwYWRkaW5nOiAwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLm0tMHtcclxuICBtYXJnaW46IDBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubWluLXdpZHRoLTMwMHtcclxuICBtaW4td2lkdGg6IDMwMHB4ICFpbXBvcnRhbnQ7XHJcbiAgd2lkdGg6IDQ1MHB4ICFpbXBvcnRhbnQ7XHJcbiAgbWF4LXdpZHRoOiA0NTBweCAhaW1wb3J0YW50O1xyXG4gIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcclxufVxyXG5cclxuLm1pbi13aWR0aHtcclxuICBtaW4td2lkdGg6IDEzMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi53LTUwe1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBtaW4td2lkdGg6IDUwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLnctMTAwe1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4ubS0ye1xyXG4gIG1hcmdpbjogMiU7XHJcbn1cclxuXHJcbi5idG4tZGVmYXVsdHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlOGViICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5iZy1yZWR7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmVkO1xyXG4gIC8vY29sb3I6IHdoaXRlO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBwYWRkaW5nLXRvcDogMjBweDtcclxufVxyXG5cclxuLmJnLXllbGxvd3tcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB5ZWxsb3c7XHJcbiAgLy9jb2xvcjogd2hpdGU7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHBhZGRpbmctdG9wOiAyMHB4O1xyXG59XHJcblxyXG4uYmctZ3JlZW57XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47XHJcbiAvLyBjb2xvcjogd2hpdGU7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHBhZGRpbmctdG9wOiAyMHB4O1xyXG59XHJcblxyXG4udy04MHtcclxuICBtaW4td2lkdGg6IDgwcHg7XHJcbn1cclxuXHJcbi53LTEzMHtcclxuICBtaW4td2lkdGg6IDEzMHB4O1xyXG59XHJcblxyXG4ud2FybmluZ01zZyB7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGNvbG9yOiByZWQ7XHJcbn1cclxuXHJcbi5wLXItMHtcclxuICBwYWRkaW5nLXJpZ2h0OiA1cHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLm1pbi13aWR0aC0xMDB7XHJcbiAgbWluLXdpZHRoOiAxMDBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubWluLXdpZHRoLTUwMHtcclxuICBtaW4td2lkdGg6IDUwMHB4ICFpbXBvcnRhbnQ7XHJcbiAgd2lkdGg6IDc1MHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5oZWFkY29se1xyXG4gIHBvc2l0aW9uOiBzdGlja3k7XHJcbiAgICBsZWZ0OiAwcHg7XHJcbiAgICAvKiBoZWlnaHQ6IDQ4cHg7ICovXHJcbiAgICB6LWluZGV4OiAxXHJcbn1cclxuXHJcbi5oZWFkY29sMXtcclxuICBwb3NpdGlvbjogc3RpY2t5O1xyXG4gICAgbGVmdDogMTMwcHg7XHJcbiAgICAvKiBoZWlnaHQ6IDQ4cHg7ICovXHJcbiAgICB6LWluZGV4OiAxXHJcbn1cclxuXHJcbi5ib2R5Y29se1xyXG4gIHBvc2l0aW9uOiBzdGlja3k7XHJcbiAgICBsZWZ0OiAwcHg7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRncmV5O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxufVxyXG5cclxuLmJvZHljb2wxe1xyXG4gIHBvc2l0aW9uOiBzdGlja3k7XHJcbiAgICBsZWZ0OiAxMzBweDtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGdyZXk7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG59XHJcblxyXG4udi1te1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbn1cclxuXHJcbi5xdWFydGVyLW1lc3NhZ2V7XHJcbiAgY29sb3I6IHJlZCA7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuIiwiLnRleHQtdW5kZXJsaW5lIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5maWVsZCB7XG4gIG1hcmdpbi1sZWZ0OiAyJTtcbn1cblxuI3RhYmxlQWN0aW9ucyB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xufVxuXG4uZm9ybS1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG59XG5cbi5leGFtcGxlLWhlYWRlcnMtYWxpZ24gLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLXRpdGxlLFxuLmV4YW1wbGUtaGVhZGVycy1hbGlnbiAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZGVzY3JpcHRpb24ge1xuICBmbGV4LWJhc2lzOiAwO1xufVxuXG4uZXhhbXBsZS1oZWFkZXJzLWFsaWduIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1kZXNjcmlwdGlvbiB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmV4YW1wbGUtaGVhZGVycy1hbGlnbiAubWF0LWZvcm0tZmllbGQgKyAubWF0LWZvcm0tZmllbGQge1xuICBtYXJnaW4tbGVmdDogOHB4O1xufVxuXG4ubWF0LWFjdGlvbi1yb3cge1xuICBwYWRkaW5nOiAwcHggIWltcG9ydGFudDtcbn1cblxubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIge1xuICBoZWlnaHQ6IDQ4cHggIWltcG9ydGFudDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBsaWdodGdyZXk7XG59XG5cbi5wLXQtMjAge1xuICBwYWRkaW5nLXRvcDogMjBweCAhaW1wb3J0YW50O1xufVxuXG5tYXQtcGFuZWwtdGl0bGUge1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG50aCB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQ3NDc0Nztcbn1cblxuLnRhcmdldC13aWR0aCB7XG4gIHdpZHRoOiA3NXB4O1xufVxuXG4uZi1iIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5wLTAge1xuICBwYWRkaW5nOiAwcHggIWltcG9ydGFudDtcbn1cblxuLm0tMCB7XG4gIG1hcmdpbjogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5taW4td2lkdGgtMzAwIHtcbiAgbWluLXdpZHRoOiAzMDBweCAhaW1wb3J0YW50O1xuICB3aWR0aDogNDUwcHggIWltcG9ydGFudDtcbiAgbWF4LXdpZHRoOiA0NTBweCAhaW1wb3J0YW50O1xuICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG59XG5cbi5taW4td2lkdGgge1xuICBtaW4td2lkdGg6IDEzMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi53LTUwIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtaW4td2lkdGg6IDUwcHggIWltcG9ydGFudDtcbn1cblxuLnctMTAwIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5tLTIge1xuICBtYXJnaW46IDIlO1xufVxuXG4uYnRuLWRlZmF1bHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlOGViICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1yZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG59XG5cbi5iZy15ZWxsb3cge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB5ZWxsb3c7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG59XG5cbi5iZy1ncmVlbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IGdyZWVuO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xufVxuXG4udy04MCB7XG4gIG1pbi13aWR0aDogODBweDtcbn1cblxuLnctMTMwIHtcbiAgbWluLXdpZHRoOiAxMzBweDtcbn1cblxuLndhcm5pbmdNc2cge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiByZWQ7XG59XG5cbi5wLXItMCB7XG4gIHBhZGRpbmctcmlnaHQ6IDVweCAhaW1wb3J0YW50O1xufVxuXG4ubWluLXdpZHRoLTEwMCB7XG4gIG1pbi13aWR0aDogMTAwcHggIWltcG9ydGFudDtcbn1cblxuLm1pbi13aWR0aC01MDAge1xuICBtaW4td2lkdGg6IDUwMHB4ICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiA3NTBweCAhaW1wb3J0YW50O1xufVxuXG4uaGVhZGNvbCB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIGxlZnQ6IDBweDtcbiAgLyogaGVpZ2h0OiA0OHB4OyAqL1xuICB6LWluZGV4OiAxO1xufVxuXG4uaGVhZGNvbDEge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICBsZWZ0OiAxMzBweDtcbiAgLyogaGVpZ2h0OiA0OHB4OyAqL1xuICB6LWluZGV4OiAxO1xufVxuXG4uYm9keWNvbCB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIGxlZnQ6IDBweDtcbiAgei1pbmRleDogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRncmV5O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5ib2R5Y29sMSB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIGxlZnQ6IDEzMHB4O1xuICB6LWluZGV4OiAxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGdyZXk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLnYtbSB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5xdWFydGVyLW1lc3NhZ2Uge1xuICBjb2xvcjogcmVkO1xuICBmb250LXdlaWdodDogYm9sZDtcbn0iXX0= */\"","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsDatepickerConfig } from 'ngx-bootstrap/datepicker';\r\nimport { LocalStorageService } from 'ngx-webstorage';\r\nimport { ScoreCard, ScoreCardTypeEnum } from '../performance-score-card/performance-score-card.model';\r\nimport { PerformanceScoreCardService } from '../performance-score-card/performance-score-card.service';\r\nimport { QuarterService } from '../services/quarter.service';\r\nimport { Frequency, PerformanceScoreCard, PSCMetricDetails, ScoreCardMaster } from './add-score-card.model';\r\nimport { ValidationDialogComponent } from './validation-dialog';\r\nimport { ResponseDialogComponent } from './response-dialog';\r\n\r\n@Component({\r\n selector: 'app-add-score-card',\r\n templateUrl: './add-score-card.component.html',\r\n styleUrls: ['./add-score-card.component.scss']\r\n})\r\nexport class AddScoreCardComponent implements OnInit {\r\n isViewScoreCard: boolean = true;\r\n companyId: number;\r\n quarterList: any = [];\r\n currentUser: string;\r\n selectedQuarterId: number;\r\n quarterMonths: string;\r\n scoreCard: ScoreCard;\r\n teamName: string;\r\n selectedYear: Date;\r\n step: number = 0;\r\n selectedMetrics: Array = [];\r\n YearPickerConfig: Partial;\r\n maxDate: Date;\r\n minDate: Date;\r\n errorMessages: string[] = [];\r\n frequencies: string[] = [Frequency.Monthly, Frequency.Weekly];\r\n scoreCardMaster: ScoreCardMaster;\r\n pscMetricDetails: Array = [];\r\n performanceScoreCard: PerformanceScoreCard;\r\n scoreCardMasterId: number;\r\n quarterName: string;\r\n selectedYearName: Number;\r\n scoreCardMasterList: ScoreCardMaster[];\r\n WeekDateList = [];\r\n toBeDeletedMetrics: number[] = [];\r\n quarters: any;\r\n targetSymbolsList: string[] = ['<', '<=', '>', '>=', '==', 'Yes', 'No'];\r\n scoreCardPreview: boolean = false;\r\n quarterDetails = [];\r\n\r\n constructor(private storage: LocalStorageService,\r\n private scoreCardService: PerformanceScoreCardService,\r\n private quarterService: QuarterService,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n public dialog: MatDialog) {\r\n this.YearPickerConfig = Object.assign({},\r\n { containerClass: 'theme-dark-blue', showWeekNumbers: false, dateInputFormat: 'YYYY' });\r\n this.currentUser = this.storage.retrieve('user');\r\n this.scoreCardService.scoreCard.subscribe(resp => {\r\n if (!resp) {\r\n this.router.navigate(['performance-score-card']);\r\n return;\r\n }\r\n this.scoreCard = resp;\r\n this.currentUser = this.storage.retrieve('user');\r\n });\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n this.companyId = this.storage.retrieve('companyID');\r\n this.maxDate = new Date();\r\n this.minDate = new Date(\"01/01/2020\");\r\n this.scoreCardMasterId = Number(this.route.snapshot.paramMap.get('id'));\r\n this.step = Number(this.route.snapshot.paramMap.get('stepId'));\r\n if (this.scoreCard.TeamName) {\r\n this.teamName = this.scoreCard.TeamName;\r\n }\r\n this.scoreCardService.GetPerformanceScoreCardDetails(this.companyId, this.scoreCard.DepartmentId, this.scoreCard.TeamId, this.scoreCardMasterId).subscribe(resp => {\r\n this.scoreCardMasterList = resp.Data;\r\n this.pscMetricDetails = resp.AdditionalData.PSCDetails;\r\n if (this.scoreCard.ScoreCardType === ScoreCardTypeEnum.Department) {\r\n this.scoreCardMasterList = this.scoreCardMasterList.filter(ent => ent.ScoreCardType === ScoreCardTypeEnum.Department);\r\n }\r\n if (this.scoreCard.ScoreCardType === ScoreCardTypeEnum.Team) {\r\n this.scoreCardMasterList = this.scoreCardMasterList.filter(ent => ent.TeamID === this.scoreCard.TeamId);\r\n this.pscMetricDetails = this.pscMetricDetails.filter(ent => ent.TeamID === this.scoreCard.TeamId);\r\n }\r\n this.quarterDetails = resp.AdditionalData.QuarterDetails;\r\n this.getQuarters(resp.AdditionalData.QuarterDetails);\r\n if (this.scoreCardMasterList.length > 0) {\r\n this.selectedMetrics = this.pscMetricDetails.filter(ent => ent.IsSelected === true);\r\n }\r\n if (this.selectedMetrics.length == 0) {\r\n this.pscMetricDetails.forEach(ele => {\r\n ele.IsSelected = false;\r\n ele.UOM = ele.Frequency = null;\r\n ele.GreenTargetSymbol = ele.YellowTargetSymbol = ele.RedTargetSymbol = null;\r\n ele.GreenMinimum = ele.GreenMaximum = ele.YellowMinimum = ele.YellowMaximum = null;\r\n ele.RedMinimum = ele.RedMaximum = null;\r\n ele.Week1 = ele.Week2 = ele.Week3 = ele.Week4 = ele.Week5 = ele.Week6 = null;\r\n ele.Week7 = ele.Week8 = ele.Week9 = ele.Week10 = ele.Week11 = ele.Week12 = ele.Week13 = ele.Week14 = null;\r\n });\r\n }\r\n if (this.scoreCardMasterId != 0) {\r\n this.scoreCardMaster = this.scoreCardMasterList.find(ele => ele.Id === this.scoreCardMasterId);\r\n this.selectedQuarterId = this.scoreCardMaster ? this.scoreCardMaster.QuarterId : 0;\r\n this.selectedYear = this.scoreCardMaster ? new Date(\"01/01/\" + this.scoreCardMaster.Year) : null;\r\n this.quarterName = this.quarterList.find(ent => ent.QuarterId == this.selectedQuarterId).QuarterName;\r\n this.selectedYearName = this.selectedYear.getFullYear();\r\n var months = this.quarters.find(ent => ent.QuarterId === this.selectedQuarterId).QuarterMonths;\r\n this.WeekDateList = this.quarterService.getWeekMonths(months, Number(this.selectedYearName), this.quarters[0].QuarterWeekDay, this.quarters[0].QuarterWeekDate);\r\n }\r\n this.processData();\r\n });\r\n }\r\n\r\n getQuarters(quarterDetails): void {\r\n if (quarterDetails.length == 0) {\r\n return;\r\n }\r\n var selectedMonthId = this.quarterService.getMonths().find(val => val.MonthName == quarterDetails[0].MonthName).MonthId;\r\n this.quarters = this.quarterService.generateQuarters(selectedMonthId, this.companyId, this.currentUser, quarterDetails[0].QuarterWeekDay, quarterDetails[0].QuarterWeekDate);\r\n this.quarters.forEach(val => {\r\n this.quarterList.push(\r\n {\r\n QuarterId: val.QuarterId,\r\n QuarterName: val.QuarterName,\r\n // QuarterName: val.QuarterName + \"(\" + this.getQuarterMonths(val.QuarterMonths) + \")\",\r\n QuarterMonths: this.getQuarterMonths(val.QuarterMonths)\r\n }\r\n )\r\n });\r\n }\r\n\r\n getQuarterMonths(quarters): string {\r\n var months = [];\r\n quarters.forEach(val => {\r\n months.push(val.MonthName);\r\n });\r\n return months.join(',');\r\n }\r\n\r\n targetChange(metric): void {\r\n if (!metric.GreenTargetSymbol || metric.GreenTargetSymbol == 'null') {\r\n metric.GreenTargetSymbol = null;\r\n } else {\r\n metric.GreenMaximum = null;\r\n if (metric.GreenTargetSymbol === 'Yes')\r\n metric.GreenMinimum = 2;\r\n else if (metric.GreenTargetSymbol === 'No')\r\n metric.GreenMinimum = 1;\r\n }\r\n if (!metric.YellowTargetSymbol || metric.YellowTargetSymbol == 'null') {\r\n metric.YellowTargetSymbol = null;\r\n } else {\r\n metric.YellowMaximum = null;\r\n if (metric.YellowTargetSymbol === 'Yes')\r\n metric.YellowMinimum = 2;\r\n else if (metric.YellowTargetSymbol === 'No')\r\n metric.YellowMinimum = 1;\r\n }\r\n if (!metric.RedTargetSymbol || metric.RedTargetSymbol == 'null') {\r\n metric.RedTargetSymbol = null;\r\n } else {\r\n metric.RedMaximum = null;\r\n if (metric.RedTargetSymbol === 'Yes')\r\n metric.RedMinimum = 2;\r\n else if (metric.RedTargetSymbol === 'No')\r\n metric.RedMinimum = 1;\r\n }\r\n }\r\n\r\n\r\n getMetrics(): void {\r\n this.errorMessages = [];\r\n if (!this.selectedQuarterId) {\r\n this.errorMessages.push('Please select Quarter');\r\n }\r\n if (!this.selectedYear) {\r\n this.errorMessages.push('Please select Year');\r\n }\r\n\r\n if (this.scoreCardMasterId === 0 && this.selectedYear && this.selectedQuarterId) {\r\n if (this.scoreCardMasterList.findIndex(ent => ent.Year === this.selectedYear.getFullYear() && ent.QuarterId === this.selectedQuarterId) > -1) {\r\n this.errorMessages.push('Score card already exist for selected quarter and year');\r\n }\r\n }\r\n\r\n if (this.errorMessages.length != 0) {\r\n this.dialog.open(ValidationDialogComponent, {\r\n data: {\r\n errorMessages: this.errorMessages\r\n }\r\n });\r\n return;\r\n }\r\n\r\n if (this.scoreCardMasterId == 0) {\r\n this.quarterName = this.quarterList.find(ent => ent.QuarterId == this.selectedQuarterId).QuarterName;\r\n this.selectedYearName = this.selectedYear.getFullYear();\r\n var months = this.quarters.find(ent => ent.QuarterId === this.selectedQuarterId).QuarterMonths;\r\n this.WeekDateList = this.quarterService.getWeekMonths(months, Number(this.selectedYearName), this.quarters[0].QuarterWeekDay, this.quarters[0].QuarterWeekDate);\r\n }\r\n this.step++;\r\n }\r\n\r\n //step 2\r\n getSelectedMetrics(): void {\r\n this.errorMessages = [];\r\n if (this.selectedMetrics.length === 0) {\r\n this.errorMessages.push('Please select atleast one Metric');\r\n }\r\n\r\n if (this.errorMessages.length != 0) {\r\n this.dialog.open(ValidationDialogComponent, {\r\n data: {\r\n errorMessages: this.errorMessages\r\n }\r\n });\r\n return;\r\n }\r\n this.processData();\r\n this.step++;\r\n }\r\n\r\n //step 3\r\n generateWeeks(): void {\r\n this.errorMessages = [];\r\n\r\n // var selectedTarget = this.selectedMetrics.filter(ent => !ent.GreenMinimum || !ent.GreenMaximum\r\n // || !ent.YellowMinimum || !ent.YellowMaximum ||\r\n // !ent.RedMinimum || !ent.RedMaximum);\r\n\r\n // if (selectedTarget.length > 0) {\r\n // this.errorMessages.push('Please enter Targets');\r\n // }\r\n var selectedFrequency = this.selectedMetrics.filter(ent => !ent.Frequency || ent.Frequency == \"null\");\r\n if (selectedFrequency.length > 0) {\r\n this.errorMessages.push('Please select Frequency');\r\n }\r\n\r\n var selectedUOM = this.selectedMetrics.filter(ent => !ent.UOM || !ent.UOM.trim());\r\n if (selectedUOM.length > 0) {\r\n this.errorMessages.push('Please enter UOM');\r\n }\r\n\r\n if (this.errorMessages.length != 0) {\r\n this.dialog.open(ValidationDialogComponent, {\r\n data: {\r\n errorMessages: this.errorMessages\r\n }\r\n });\r\n return;\r\n }\r\n this.step++;\r\n }\r\n\r\n //step 4\r\n generateScoreCard(): void {\r\n this.scoreCardPreview = true;\r\n this.saveScoreCardDetails(false);\r\n this.step++;\r\n }\r\n\r\n saveScoreCardDetails(showDialog = true): void {\r\n if (this.scoreCardMasterId == 0) {\r\n this.scoreCardMaster = {\r\n Id: 0,\r\n CompanyID: this.companyId,\r\n ScoreCardType: this.scoreCard.ScoreCardType,\r\n DepartmentID: this.scoreCard.DepartmentId,\r\n TeamID: this.scoreCard.TeamId,\r\n QuarterId: this.selectedQuarterId,\r\n Year: Number(this.selectedYear.getFullYear()),\r\n ScoreCardName: this.getScoreCardName(),\r\n CreatedBy: this.currentUser,\r\n UpdatedBy: this.currentUser,\r\n QuarterName: '',\r\n CompanyName: '',\r\n DepartmentName: '',\r\n TeamName: ''\r\n }\r\n }\r\n this.performanceScoreCard = { scoreCardMaster: this.scoreCardMaster, pscMetricDetails: this.selectedMetrics, metricIds: this.toBeDeletedMetrics };\r\n this.scoreCardService.SavePerformanceScoreCardDetails(this.performanceScoreCard).subscribe(resp => {\r\n if (resp.Data) {\r\n this.scoreCardMaster.Id = resp.Data.ScoreCardMaster.Id;\r\n this.scoreCardMasterId = resp.Data.ScoreCardMaster.Id;\r\n this.selectedMetrics = [...resp.Data.pscMetricDetails];\r\n this.selectedMetrics.forEach(ele => {\r\n this.pscMetricDetails.find(ele1 => ele.PointerID === ele1.PointerID).Id = ele.Id;\r\n });\r\n if (showDialog) {\r\n this.dialog.open(ResponseDialogComponent, {\r\n data: {\r\n message: 'Save successful'\r\n }\r\n });\r\n }\r\n }\r\n });\r\n }\r\n\r\n metricChange(metric): void {\r\n if (metric.IsSelected) {\r\n this.selectedMetrics.push(metric);\r\n }\r\n else {\r\n this.selectedMetrics = this.selectedMetrics.filter(ent => ent.PointerID != metric.PointerID);\r\n if (metric.Id != 0) {\r\n this.toBeDeletedMetrics.push(metric.Id);\r\n }\r\n }\r\n }\r\n\r\n //validations\r\n setTargets(metric): void {\r\n // if (metric.GreenMinimum == null || Number(metric.GreenMaximum) < Number(metric.GreenMinimum)) {\r\n // metric.GreenMaximum = null;\r\n // }\r\n // if (metric.YellowMinimum == null || Number(metric.YellowMaximum) < Number(metric.YellowMinimum)) {\r\n // metric.YellowMaximum = null;\r\n // }\r\n // if (metric.RedMinimum == null || Number(metric.RedMaximum) < Number(metric.RedMinimum)) {\r\n // metric.RedMaximum = null;\r\n // }\r\n }\r\n\r\n setStep(index: number): void {\r\n this.step = index;\r\n }\r\n\r\n nextStep(): void {\r\n this.step++;\r\n }\r\n\r\n prevStep(): void {\r\n this.step--;\r\n }\r\n\r\n //step 0\r\n goToQuarterSelection(): void {\r\n this.selectedYearName = this.quarterName = undefined;\r\n this.step--;\r\n }\r\n\r\n //step 1\r\n goToMetricList() {\r\n this.selectedMetrics = [...this.selectedMetrics];\r\n this.step--;\r\n }\r\n\r\n goToGeneratedWeeks() {\r\n this.scoreCardPreview = false;\r\n this.step--;\r\n }\r\n\r\n //private methods\r\n private getScoreCardName(): string {\r\n if (this.scoreCard.ScoreCardType === ScoreCardTypeEnum.Department) {\r\n return `${this.scoreCard.DepartmentName}_${this.quarterList.find(ent => ent.QuarterId === this.selectedQuarterId).QuarterName}_${this.selectedYear.getFullYear()}`;\r\n }\r\n else {\r\n return `${this.scoreCard.DepartmentName}_${this.scoreCard.TeamName}_${this.quarterList.find(ent => ent.QuarterId === this.selectedQuarterId).QuarterName}_${this.selectedYear.getFullYear()}`;\r\n }\r\n }\r\n\r\n private processData(): void {\r\n const goalSeen = {};\r\n this.selectedMetrics = this.selectedMetrics.sort((a, b) => {\r\n return a.GoalName.localeCompare(b.GoalName);\r\n }).map(x => {\r\n const goalSpan = goalSeen[x.GoalName] ? 0 :\r\n this.selectedMetrics.filter(y => y.GoalName === x.GoalName).length;\r\n goalSeen[x.GoalName] = true;\r\n return { ...x, goalSpan };\r\n });\r\n }\r\n\r\n}\r\n\r\n","export enum Frequency {\r\n SelectFrequency = \"Select Frequency\",\r\n Monthly = \"Monthly\",\r\n Weekly = \"Weekly\"\r\n}\r\n\r\nexport interface PerformanceScoreCard {\r\n scoreCardMaster: ScoreCardMaster;\r\n pscMetricDetails: Array;\r\n metricIds: number[];\r\n}\r\n\r\nexport interface ScoreCardMaster {\r\n Id: number;\r\n CompanyID: number;\r\n ScoreCardType: string;\r\n DepartmentID: number;\r\n TeamID: number;\r\n QuarterId: number;\r\n Year: number;\r\n ScoreCardName: string;\r\n CreatedBy: string;\r\n UpdatedBy: string;\r\n QuarterName: string;\r\n CompanyName: string;\r\n DepartmentName: string;\r\n TeamName: string;\r\n}\r\n\r\nexport interface PSCMetricDetails {\r\n Id: number;\r\n PSCMasterId: number;\r\n PointerID: number;\r\n GoalID: number;\r\n GoalName: string;\r\n Description: string;\r\n TeamID: number;\r\n DepartmentID: number;\r\n CompanyID: number;\r\n GreenMinimum: number;\r\n GreenMaximum: number;\r\n YellowMinimum: number;\r\n YellowMaximum: number;\r\n RedMinimum: number;\r\n RedMaximum: number;\r\n Frequency: string;\r\n UOM: string;\r\n IsSelected: boolean;\r\n Week1: string;\r\n Week2: string;\r\n Week3: string;\r\n Week4: string;\r\n Week5: string;\r\n Week6: string;\r\n Week7: string;\r\n Week8: string;\r\n Week9: string;\r\n Week10: string;\r\n Week11: string;\r\n Week12: string;\r\n Week13: string;\r\n Week14: string;\r\n goalSpan: number;\r\n GreenTargetSymbol: string;\r\n YellowTargetSymbol: string;\r\n RedTargetSymbol: string;\r\n}\r\n","import { Component, Inject, OnInit } from \"@angular/core\";\r\nimport { MAT_DIALOG_DATA } from '@angular/material';\r\n\r\n@Component({\r\n selector: 'response-dialog',\r\n templateUrl: 'response-dialog.html',\r\n})\r\nexport class ResponseDialogComponent implements OnInit {\r\n\r\n message: string;\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.message = this.data.message;\r\n }\r\n}","import { Component, Inject, OnInit } from \"@angular/core\";\r\nimport { MAT_DIALOG_DATA } from '@angular/material';\r\n\r\n@Component({\r\n selector: 'validation-dialog',\r\n templateUrl: 'validation-dialog.html',\r\n})\r\nexport class ValidationDialogComponent implements OnInit {\r\n\r\n errorMessages: any = [];\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.errorMessages = this.data.errorMessages;\r\n }\r\n}","import { Component, OnInit } from '@angular/core';\nimport { DorseyService } from '../dorsey.service';\nimport { LocalStorageService } from 'ngx-webstorage';\n\n@Component({\n selector: 'app-alerts',\n templateUrl: './alerts.component.html',\n})\nexport class AlertsComponent implements OnInit {\n\n currentUser: string;\n CompanyID: string;\n empID: string;\n MenuPermissions: any;\n menuData: any;\n menuID: string;\n menuName: string;\n loginCompanyName: any;\n userTeamID: any;\n pointerTypeStatus = false;\n pointerTypeStatusMetric = false;\n PointerTypeID: string;\n alertValue: any;\n alertMetric: any;\n dataSelf: string;\n alertData: any;\n alertMetricData: any;\n saved = true;\n metricSaved = true;\n RowMetric: any;\n AlertRowID: any;\n alertStatus: number;\n alertMetricStatus: number;\n msg: any;\n error = false;\n mError = false;\n constructor(private dorseyService: DorseyService, public storage: LocalStorageService) {\n this.currentUser = this.storage.retrieve('user');\n this.menuData = this.storage.retrieve('menuData');\n this.empID = this.storage.retrieve('EmployeeID');\n this.MenuPermissions = this.storage.retrieve('MenuPermissions');\n this.loginCompanyName = this.storage.retrieve('loginCompanyName');\n this.userTeamID = this.storage.retrieve(\"TeamID\");\n }\n\n ngOnInit() {\n this.CompanyID = this.storage.retrieve('companyID');\n this.GetAlertValues();\n this.GetMetricValues();\n let tempdata = this.menuData;\n this.menuData = tempdata.filter(x => x.MenuName.toString() === 'Alerts');\n if (this.menuData.length > 0) {\n this.menuName = this.menuData[0][\"MenuName\"];\n this.menuID = this.menuData[0][\"MenuID\"];\n }\n }\n\n ToggleType(event) {\n this.pointerTypeStatus = event.checked;\n if (this.pointerTypeStatus === true) {\n this.PointerTypeID = '1';\n this.alertStatus = 1;\n this.saved = false;\n }\n if (this.pointerTypeStatus === false) {\n this.alertStatus = 0;\n this.saved = true;\n }\n }\n\n MetricToggleType(event) {\n this.pointerTypeStatusMetric = event.checked;\n if (this.pointerTypeStatusMetric === true) {\n this.alertMetricStatus = 1;\n this.PointerTypeID = '2';\n this.metricSaved = false;\n }\n if (this.pointerTypeStatusMetric === false) {\n this.alertMetricStatus = 0;\n this.metricSaved = true;\n }\n }\n\n saveAlertValue() {\n this.GetAlertValues();\n if (this.alertValue === '' || this.alertValue === undefined || this.alertValue === 0) {\n this.alertValue = '';\n this.dataSelf = \"Please enter mandatory fields\";\n this.error = true;\n return;\n }\n if (this.alertStatus === undefined) {\n if (this.alertData.length > 0) {\n let alertFilter = this.alertData.filter(x => x.RowID === this.AlertRowID);\n if (alertFilter.length > 0) {\n\n if (alertFilter[0].AlertStatus === true) {\n this.alertStatus = 1;\n }\n else {\n this.alertStatus = 0;\n }\n }\n }\n }\n const json = {\n CompanyID: this.CompanyID,\n PointerTypeID: 1,\n AlertValue: this.alertValue,\n UpdatedBy: this.currentUser,\n RowID: this.AlertRowID,\n AlertStatus: this.alertStatus,\n CreatedBy: this.currentUser\n };\n if (this.AlertRowID !== '' && this.AlertRowID !== undefined) {\n if (this.alertData !== undefined) {\n\n this.dorseyService.SaveAlertValue(json).subscribe(data => {\n if (data['_body'].toString() === 'true') {\n this.dataSelf = 'Updated successfully';\n this.error = false;\n this.GetAlertValues();\n } else {\n\n }\n });\n }\n\n }\n\n else {\n\n this.dorseyService.SaveAlertValue(json).subscribe(data => {\n if (data['_body'].toString() === 'true') {\n this.dataSelf = 'Saved successfully';\n this.error = false;\n\n this.GetAlertValues();\n } else {\n }\n });\n }\n\n }\n\n saveMetricAlertValue() {\n if (this.alertMetric === '' || this.alertMetric === undefined || this.alertMetric === 0) {\n this.alertMetric = '';\n this.msg = \"Please enter mandatory fields\";\n this.mError = true;\n return;\n }\n if (this.alertMetricStatus === undefined) {\n if (this.alertMetricData.length > 0) {\n let metricFilter = this.alertMetricData.filter(x => x.RowID === this.RowMetric);\n if (metricFilter.length > 0) {\n\n if (metricFilter[0].AlertStatus === true) {\n this.alertMetricStatus = 1;\n }\n else {\n this.alertMetricStatus = 0;\n }\n }\n }\n }\n const json = {\n CompanyID: this.CompanyID,\n PointerTypeID: 2,\n AlertValue: this.alertMetric,\n UpdatedBy: this.currentUser,\n RowID: this.RowMetric,\n AlertStatus: this.alertMetricStatus,\n CreatedBy: this.currentUser\n };\n if (this.RowMetric !== '' && this.RowMetric !== undefined) {\n if (this.alertData !== undefined) {\n\n this.dorseyService.SaveAlertValue(json).subscribe(data => {\n if (data['_body'].toString() === 'true') {\n this.msg = 'Updated successfully';\n this.mError = false;\n this.GetMetricValues();\n } else {\n\n }\n });\n }\n } else {\n\n this.dorseyService.SaveAlertValue(json).subscribe(data => {\n if (data['_body'].toString() === 'true') {\n this.msg = 'Saved successfully'\n this.mError = false;\n\n } else {\n\n }\n this.ngOnInit();\n });\n }\n\n }\n\n GetAlertValues() {\n this.dorseyService.GetAlertValue(this.CompanyID, 1).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.alertData = subData;\n for (let i = 0; i < this.alertData.length; i++) {\n this.saved = false;\n this.pointerTypeStatus = true;\n this.alertValue = this.alertData[i].AlertValue;\n this.AlertRowID = this.alertData[i].RowID;\n this.pointerTypeStatus = this.alertData[i].AlertStatus;\n if (this.pointerTypeStatus === true) {\n this.saved = false;\n } else {\n this.saved = true;\n }\n }\n });\n }\n\n GetMetricValues() {\n this.dorseyService.GetAlertValue(this.CompanyID, 2).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.alertMetricData = subData;\n for (let i = 0; i < this.alertMetricData.length; i++) {\n this.metricSaved = false;\n this.pointerTypeStatusMetric = true;\n this.alertMetric = this.alertMetricData[i].AlertValue;\n this.RowMetric = this.alertMetricData[i].RowID;\n this.pointerTypeStatusMetric = this.alertMetricData[i].AlertStatus;\n if (this.pointerTypeStatusMetric === true) {\n this.metricSaved = false;\n } else {\n this.metricSaved = true;\n }\n }\n });\n }\n\n Validate(event: any) {\n if (\n // Allow: Delete, Backspace, Tab, Escape, Enter\n [46, 8, 9, 27, 13].indexOf(event.keyCode) !== -1 ||\n (event.keyCode === 65 && event.ctrlKey === true) || // Allow: Ctrl+A\n (event.keyCode === 67 && event.ctrlKey === true) || // Allow: Ctrl+C\n (event.keyCode === 86 && event.ctrlKey === true) || // Allow: Ctrl+V\n (event.keyCode === 88 && event.ctrlKey === true) || // Allow: Ctrl+X\n (event.keyCode === 65 && event.metaKey === true) || // Cmd+A (Mac)\n (event.keyCode === 67 && event.metaKey === true) || // Cmd+C (Mac)\n (event.keyCode === 86 && event.metaKey === true) || // Cmd+V (Mac)\n (event.keyCode === 88 && event.metaKey === true) || // Cmd+X (Mac)\n (event.keyCode >= 35 && event.keyCode <= 39) // Home, End, Left, Right\n ) {\n return;\n }\n\n if ((event.shiftKey || (event.keyCode < 48 || event.keyCode > 57)) && (event.keyCode < 96 || event.keyCode > 105)) {\n event.preventDefault();\n }\n\n\n\n }\n\n val(event) {\n if (this.alertValue.toString().trim() === '0') {\n this.alertValue = '';\n }\n if (this.alertMetric.toString().trim() === '0') {\n this.alertMetric = '';\n }\n }\n\n}\n","import { NgModule, OnInit } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport {BrowserAnimationsModule} from '@angular/platform-browser/animations';\n\nconst routes: Routes = [];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule]\n})\nexport class AppRoutingModule {\n\n\n}\n\n\n \n\n \n","module.exports = \"/* app drawer breakpoint */\\n.mat-sidenav {\\n width: 360px;\\n}\\n.mat-sidenav-container {\\n background-color: white !important;\\n height: 100vh;\\n}\\n.mat-sidenav-container .mat-sidenav-content {\\n display: flex;\\n flex-direction: column;\\n}\\n.sidenav-toolbar {\\n height: 64px;\\n display: flex;\\n flex-direction: row;\\n}\\n@media (max-width: 600px) {\\n .sidenav-toolbar {\\n height: 56px;\\n }\\n}\\n.mat-nav-list {\\n padding-top: 0;\\n}\\n@media (max-width: 600px) {\\n .fixed-topnav {\\n position: fixed;\\n top: 0;\\n left: 0;\\n z-index: 2;\\n width: 100% !important;\\n }\\n\\n .mat-drawer-container,\\n.mat-drawer {\\n padding-top: 56px;\\n }\\n}\\n.menu-list-item.mat-list-item .mat-list-item-content {\\n flex: 1 1 100%;\\n}\\n.version-info {\\n font-size: 8pt;\\n padding: 8px;\\n align-self: flex-end;\\n}\\nh1 {\\n color: #333;\\n font-family: arial, sans-serif;\\n margin: 1em auto;\\n width: 80%;\\n}\\n.tabordion {\\n color: #333;\\n display: block;\\n font-family: arial, sans-serif;\\n margin: auto;\\n position: relative;\\n width: 80%;\\n}\\n.tabordion input[name=sections] {\\n left: -9999px;\\n position: absolute;\\n top: -9999px;\\n}\\n.tabordion section {\\n display: block;\\n}\\n.tabordion section label {\\n background: #ccc;\\n border: 1px solid #fff;\\n cursor: pointer;\\n display: block;\\n font-size: 1.2em;\\n font-weight: bold;\\n padding: 15px 20px;\\n position: relative;\\n width: 180px;\\n z-index: 100;\\n}\\n.tabordion section article {\\n display: none;\\n left: 230px;\\n min-width: 300px;\\n padding: 0 0 0 21px;\\n position: absolute;\\n top: 0;\\n}\\n.tabordion section article:after {\\n background-color: #ccc;\\n bottom: 0;\\n content: \\\"\\\";\\n display: block;\\n left: -229px;\\n position: absolute;\\n top: 0;\\n width: 220px;\\n z-index: 1;\\n}\\n.tabordion input[name=sections]:checked + label {\\n font-size: 16px;\\n}\\n.tabordion input[name=sections]:checked ~ article {\\n display: block;\\n font-size: 16px;\\n background: #eee;\\n color: #000;\\n}\\n@media (max-width: 533px) {\\n h1 {\\n width: 100%;\\n }\\n\\n .tabordion {\\n width: 100%;\\n }\\n\\n .tabordion section label {\\n font-size: 1em;\\n width: 160px;\\n }\\n\\n .tabordion section article {\\n left: 200px;\\n min-width: 270px;\\n }\\n\\n .tabordion section article:after {\\n background-color: #ccc;\\n bottom: 0;\\n content: \\\"\\\";\\n display: block;\\n left: -199px;\\n position: absolute;\\n top: 0;\\n width: 200px;\\n }\\n}\\n@media print {\\n .donotprintthis {\\n display: none;\\n }\\n}\\n@media print {\\n @page {\\n size: auto;\\n margin: 0mm;\\n }\\n a[href]:after {\\n content: none !important;\\n }\\n}\\n@media print {\\n #Header, #Footer {\\n display: none !important;\\n }\\n}\\n@media screen {\\n .donotprintthis {\\n display: block;\\n }\\n}\\n.active {\\n background-color: lightseagreen;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvRjpcXE5pa2lsIFdvcmtcXFByb2plY3RzXFxEb3JzZXlcXEhpZXJhcmNoeSBTb3VyY2UgQ29kZVxcV29ya2luZ1xcZG9yc2V5R3JvdXAvc3JjXFxhcHBcXGFwcC5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvYXBwLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdnQiwwQkFBQTtBQXlCaEI7RUFDRSxZQUFBO0FDMUJGO0FENEJBO0VBQ0Usa0NBQUE7RUFDQSxhQUFBO0FDekJGO0FEMkJFO0VBQ0UsYUFBQTtFQUNBLHNCQUFBO0FDekJKO0FENEJBO0VBQ0UsWUFBQTtFQUVBLGFBQUE7RUFDQSxtQkFBQTtBQzFCRjtBRDRCRTtFQU5GO0lBT0ksWUFBQTtFQ3pCRjtBQUNGO0FEMkJBO0VBQ0UsY0FBQTtBQ3hCRjtBRFhFO0VBc0NBO0lBQ0UsZUFBQTtJQUNBLE1BQUE7SUFDQSxPQUFBO0lBQ0EsVUFBQTtJQUNBLHNCQUFBO0VDdkJGOztFRDBCQTs7SUFFRSxpQkFBQTtFQ3ZCRjtBQUNGO0FEMEJFO0VBQ0UsY0FBQTtBQ3hCSjtBRDJCQTtFQUNFLGNBQUE7RUFDQSxZQUFBO0VBQ0Esb0JBQUE7QUN4QkY7QUQwQkE7RUFDSSxXQUFBO0VBQ0EsOEJBQUE7RUFDQSxnQkFBQTtFQUNBLFVBQUE7QUN2Qko7QUQwQkU7RUFDRSxXQUFBO0VBQ0EsY0FBQTtFQUNBLDhCQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0VBQ0EsVUFBQTtBQ3ZCSjtBRDBCRTtFQUNFLGFBQUE7RUFDQSxrQkFBQTtFQUNBLFlBQUE7QUN2Qko7QUQwQkU7RUFDRSxjQUFBO0FDdkJKO0FEMEJFO0VBQ0UsZ0JBQUE7RUFDQSxzQkFBQTtFQUNBLGVBQUE7RUFDQSxjQUFBO0VBQ0EsZ0JBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0VBQ0Esa0JBQUE7RUFDQSxZQUFBO0VBQ0EsWUFBQTtBQ3ZCSjtBRDBCRTtFQUNFLGFBQUE7RUFDQSxXQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLGtCQUFBO0VBQ0EsTUFBQTtBQ3ZCSjtBRDBCRTtFQUNFLHNCQUFBO0VBQ0EsU0FBQTtFQUNBLFdBQUE7RUFDQSxjQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLFlBQUE7RUFDQSxVQUFBO0FDdkJKO0FEMEJFO0VBRUUsZUFBQTtBQ3hCSjtBRDJCRTtFQUNFLGNBQUE7RUFDQSxlQUFBO0VBQWtCLGdCQUFBO0VBQ2xCLFdBQUE7QUN2Qko7QUQyQkU7RUFFRTtJQUNFLFdBQUE7RUN6Qko7O0VENEJFO0lBQ0UsV0FBQTtFQ3pCSjs7RUQ0QkU7SUFDRSxjQUFBO0lBQ0EsWUFBQTtFQ3pCSjs7RUQ0QkM7SUFDRyxXQUFBO0lBQ0EsZ0JBQUE7RUN6Qko7O0VENEJFO0lBQ0Usc0JBQUE7SUFDQSxTQUFBO0lBQ0EsV0FBQTtJQUNBLGNBQUE7SUFDQSxZQUFBO0lBQ0Esa0JBQUE7SUFDQSxNQUFBO0lBQ0EsWUFBQTtFQ3pCSjtBQUNGO0FEK0JHO0VBRUE7SUFFSSxhQUFBO0VDL0JMO0FBQ0Y7QURpQ0E7RUFDRztJQUFRLFVBQUE7SUFBYSxXQUFBO0VDN0J0QjtFRDhCQztJQUNJLHdCQUFBO0VDNUJMO0FBQ0Y7QUQ4QkE7RUFDRztJQUFtQix3QkFBQTtFQzNCcEI7QUFDRjtBRDRCQTtFQUVHO0lBRUksY0FBQTtFQzVCTDtBQUNGO0FEOEJBO0VBQ0UsK0JBQUE7QUM1QkYiLCJmaWxlIjoic3JjL2FwcC9hcHAuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBCcmVha3BvaW50c1xyXG4kaGFuZHNldDogMzYwcHg7XHJcbiRsYXJnZS1oYW5kc2V0OiA0ODBweDtcclxuJHRhYmxldDogNjQwcHg7IC8qIGFwcCBkcmF3ZXIgYnJlYWtwb2ludCAqL1xyXG4kbGFyZ2UtdGFibGV0OiA4NDBweDtcclxuJGRlc2t0b3A6IDk2MHB4O1xyXG4kbGFyZ2UtZGVza3RvcDogMTI4MHB4O1xyXG4keC1sYXJnZS1kZXNrdG9wOiAxNDQwcHg7XHJcbiR4eC1sYXJnZS1kZXNrdG9wOiAxOTIwcHg7XHJcblxyXG4vLyBnZW5lcmF0ZSBtaW4td2lkdGggYnJlYWtwb2ludFxyXG5AbWl4aW4gYnJlYWtwb2ludCgkcG9pbnQpIHtcclxuICBAbWVkaWEgKG1pbi13aWR0aDogJHBvaW50KSB7IEBjb250ZW50IDsgfVxyXG59XHJcbi8vIGdlbmVyYXRlIG1heC13aWR0aCBicmVha3BvaW50ICh1c2Ugc3BhcmluZ2x5KVxyXG5AbWl4aW4gYnJlYWtwb2ludC1tYXgoJHBvaW50KSB7XHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRwb2ludCkgeyBAY29udGVudCA7IH1cclxufVxyXG4vLyBnZW5lcmF0ZSBtaW4taGVpZ2h0IGJyZWFrcG9pbnRcclxuQG1peGluIGhlaWdodC1icmVha3BvaW50KCRwb2ludCkge1xyXG4gIEBtZWRpYSAobWluLWhlaWdodDogJHBvaW50KSB7IEBjb250ZW50IDsgfVxyXG59XHJcbi8vIGdlbmVyYXRlIG1heC1oZWlnaHQgYnJlYWtwb2ludCAodXNlIHNwYXJpbmdseSlcclxuQG1peGluIGhlaWdodC1icmVha3BvaW50LW1heCgkcG9pbnQpIHtcclxuICBAbWVkaWEgKG1pbi1oZWlnaHQ6ICRwb2ludCkgeyBAY29udGVudCA7IH1cclxufVxyXG5cclxuXHJcbi5tYXQtc2lkZW5hdiB7XHJcbiAgd2lkdGg6IDM2MHB4O1xyXG59XHJcbi5tYXQtc2lkZW5hdi1jb250YWluZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgaGVpZ2h0OiAxMDB2aDtcclxuXHJcbiAgLm1hdC1zaWRlbmF2LWNvbnRlbnQge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgfVxyXG59XHJcbi5zaWRlbmF2LXRvb2xiYXIge1xyXG4gIGhlaWdodDogNjRweDtcclxuLy8gICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGFwcC1wcmltYXJ5KTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcblxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xyXG4gICAgaGVpZ2h0OiA1NnB4O1xyXG4gIH1cclxufVxyXG4ubWF0LW5hdi1saXN0IHtcclxuICBwYWRkaW5nLXRvcDogMDtcclxufVxyXG5AaW5jbHVkZSBicmVha3BvaW50LW1heCg2MDBweCkge1xyXG4gIC5maXhlZC10b3BuYXYge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLm1hdC1kcmF3ZXItY29udGFpbmVyLFxyXG4gIC5tYXQtZHJhd2VyIHtcclxuICAgIHBhZGRpbmctdG9wOiA1NnB4O1xyXG4gIH1cclxufVxyXG4ubWVudS1saXN0LWl0ZW0ubWF0LWxpc3QtaXRlbSB7XHJcbiAgLm1hdC1saXN0LWl0ZW0tY29udGVudCB7XHJcbiAgICBmbGV4OiAxIDEgMTAwJTtcclxuICB9XHJcbn1cclxuLnZlcnNpb24taW5mbyB7XHJcbiAgZm9udC1zaXplOiA4cHQ7XHJcbiAgcGFkZGluZzogOHB4O1xyXG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xyXG59XHJcbmgxIHtcclxuICAgIGNvbG9yOiAjMzMzO1xyXG4gICAgZm9udC1mYW1pbHk6IGFyaWFsLCBzYW5zLXNlcmlmO1xyXG4gICAgbWFyZ2luOiAxZW0gYXV0bztcclxuICAgIHdpZHRoOiA4MCU7XHJcbiAgfVxyXG4gIFxyXG4gIC50YWJvcmRpb24ge1xyXG4gICAgY29sb3I6ICMzMzM7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZvbnQtZmFtaWx5OiBhcmlhbCwgc2Fucy1zZXJpZjtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHdpZHRoOiA4MCU7XHJcbiAgfVxyXG4gIFxyXG4gIC50YWJvcmRpb24gaW5wdXRbbmFtZT1cInNlY3Rpb25zXCJdIHtcclxuICAgIGxlZnQ6IC05OTk5cHg7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IC05OTk5cHg7XHJcbiAgfVxyXG4gIFxyXG4gIC50YWJvcmRpb24gc2VjdGlvbiB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcbiAgXHJcbiAgLnRhYm9yZGlvbiBzZWN0aW9uIGxhYmVsIHtcclxuICAgIGJhY2tncm91bmQ6ICNjY2M7XHJcbiAgICBib3JkZXI6MXB4IHNvbGlkICNmZmY7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZvbnQtc2l6ZTogMS4yZW07XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIHBhZGRpbmc6IDE1cHggMjBweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHdpZHRoOiAxODBweDtcclxuICAgIHotaW5kZXg6MTAwO1xyXG4gIH1cclxuICBcclxuICAudGFib3JkaW9uIHNlY3Rpb24gYXJ0aWNsZSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgbGVmdDogMjMwcHg7XHJcbiAgICBtaW4td2lkdGg6IDMwMHB4O1xyXG4gICAgcGFkZGluZzogMCAwIDAgMjFweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgIFxyXG4gICAgdG9wOiAwO1xyXG4gIH1cclxuICBcclxuICAudGFib3JkaW9uIHNlY3Rpb24gYXJ0aWNsZTphZnRlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbGVmdDotMjI5cHg7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICB3aWR0aDogMjIwcHg7XHJcbiAgICB6LWluZGV4OjE7XHJcbiAgfVxyXG4gIFxyXG4gIC50YWJvcmRpb24gaW5wdXRbbmFtZT1cInNlY3Rpb25zXCJdOmNoZWNrZWQgKyBsYWJlbCB7IFxyXG4gXHJcbiAgICBmb250LXNpemU6MTZweDtcclxuICB9XHJcbiAgXHJcbiAgLnRhYm9yZGlvbiBpbnB1dFtuYW1lPVwic2VjdGlvbnNcIl06Y2hlY2tlZCB+IGFydGljbGUge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmb250LXNpemU6MTZweDsgICBiYWNrZ3JvdW5kOiAjZWVlO1xyXG4gICAgY29sb3I6ICMwMDA7XHJcbiAgfVxyXG4gIFxyXG4gIFxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA1MzNweCkge1xyXG4gICAgXHJcbiAgICBoMSB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgLnRhYm9yZGlvbiB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAudGFib3JkaW9uIHNlY3Rpb24gbGFiZWwge1xyXG4gICAgICBmb250LXNpemU6IDFlbTtcclxuICAgICAgd2lkdGg6IDE2MHB4O1xyXG4gICAgfSAgXHJcbiAgXHJcbiAgIC50YWJvcmRpb24gc2VjdGlvbiBhcnRpY2xlIHtcclxuICAgICAgbGVmdDogMjAwcHg7XHJcbiAgICAgIG1pbi13aWR0aDogMjcwcHg7XHJcbiAgICB9IFxyXG4gICAgXHJcbiAgICAudGFib3JkaW9uIHNlY3Rpb24gYXJ0aWNsZTphZnRlciB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XHJcbiAgICAgIGJvdHRvbTogMDtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGxlZnQ6LTE5OXB4O1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgd2lkdGg6IDIwMHB4O1xyXG4gIFxyXG4gICAgfSAgXHJcbiAgICBcclxuICB9XHJcbiAgXHJcbiAgXHJcbiAgIEBtZWRpYSBwcmludFxyXG57XHJcbiAgIC5kb25vdHByaW50dGhpc1xyXG4gICB7XHJcbiAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICB9XHJcbn1cclxuQG1lZGlhIHByaW50IHtcclxuICAgQHBhZ2UgeyBzaXplOiBhdXRvOyAgbWFyZ2luOiAwbW07IH1cclxuICAgYVtocmVmXTphZnRlciB7XHJcbiAgICAgICBjb250ZW50OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgIH1cclxufVxyXG5AbWVkaWEgcHJpbnQge1xyXG4gICAjSGVhZGVyLCAjRm9vdGVyIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XHJcbn1cclxuQG1lZGlhIHNjcmVlblxyXG57XHJcbiAgIC5kb25vdHByaW50dGhpc1xyXG4gICB7XHJcbiAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgfVxyXG59XHJcbi5hY3RpdmV7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRzZWFncmVlbjtcclxuICAvLyBjb2xvcjogYmxhY2s7XHJcbn0iLCIvKiBhcHAgZHJhd2VyIGJyZWFrcG9pbnQgKi9cbi5tYXQtc2lkZW5hdiB7XG4gIHdpZHRoOiAzNjBweDtcbn1cblxuLm1hdC1zaWRlbmF2LWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMTAwdmg7XG59XG4ubWF0LXNpZGVuYXYtY29udGFpbmVyIC5tYXQtc2lkZW5hdi1jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLnNpZGVuYXYtdG9vbGJhciB7XG4gIGhlaWdodDogNjRweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAuc2lkZW5hdi10b29sYmFyIHtcbiAgICBoZWlnaHQ6IDU2cHg7XG4gIH1cbn1cblxuLm1hdC1uYXYtbGlzdCB7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgLmZpeGVkLXRvcG5hdiB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDI7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYXQtZHJhd2VyLWNvbnRhaW5lcixcbi5tYXQtZHJhd2VyIHtcbiAgICBwYWRkaW5nLXRvcDogNTZweDtcbiAgfVxufVxuLm1lbnUtbGlzdC1pdGVtLm1hdC1saXN0LWl0ZW0gLm1hdC1saXN0LWl0ZW0tY29udGVudCB7XG4gIGZsZXg6IDEgMSAxMDAlO1xufVxuXG4udmVyc2lvbi1pbmZvIHtcbiAgZm9udC1zaXplOiA4cHQ7XG4gIHBhZGRpbmc6IDhweDtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG59XG5cbmgxIHtcbiAgY29sb3I6ICMzMzM7XG4gIGZvbnQtZmFtaWx5OiBhcmlhbCwgc2Fucy1zZXJpZjtcbiAgbWFyZ2luOiAxZW0gYXV0bztcbiAgd2lkdGg6IDgwJTtcbn1cblxuLnRhYm9yZGlvbiB7XG4gIGNvbG9yOiAjMzMzO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1mYW1pbHk6IGFyaWFsLCBzYW5zLXNlcmlmO1xuICBtYXJnaW46IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDgwJTtcbn1cblxuLnRhYm9yZGlvbiBpbnB1dFtuYW1lPXNlY3Rpb25zXSB7XG4gIGxlZnQ6IC05OTk5cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTk5OXB4O1xufVxuXG4udGFib3JkaW9uIHNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnRhYm9yZGlvbiBzZWN0aW9uIGxhYmVsIHtcbiAgYmFja2dyb3VuZDogI2NjYztcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmc6IDE1cHggMjBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTgwcHg7XG4gIHotaW5kZXg6IDEwMDtcbn1cblxuLnRhYm9yZGlvbiBzZWN0aW9uIGFydGljbGUge1xuICBkaXNwbGF5OiBub25lO1xuICBsZWZ0OiAyMzBweDtcbiAgbWluLXdpZHRoOiAzMDBweDtcbiAgcGFkZGluZzogMCAwIDAgMjFweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG59XG5cbi50YWJvcmRpb24gc2VjdGlvbiBhcnRpY2xlOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcbiAgYm90dG9tOiAwO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGVmdDogLTIyOXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDIyMHB4O1xuICB6LWluZGV4OiAxO1xufVxuXG4udGFib3JkaW9uIGlucHV0W25hbWU9c2VjdGlvbnNdOmNoZWNrZWQgKyBsYWJlbCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cblxuLnRhYm9yZGlvbiBpbnB1dFtuYW1lPXNlY3Rpb25zXTpjaGVja2VkIH4gYXJ0aWNsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGJhY2tncm91bmQ6ICNlZWU7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTMzcHgpIHtcbiAgaDEge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLnRhYm9yZGlvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAudGFib3JkaW9uIHNlY3Rpb24gbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIHdpZHRoOiAxNjBweDtcbiAgfVxuXG4gIC50YWJvcmRpb24gc2VjdGlvbiBhcnRpY2xlIHtcbiAgICBsZWZ0OiAyMDBweDtcbiAgICBtaW4td2lkdGg6IDI3MHB4O1xuICB9XG5cbiAgLnRhYm9yZGlvbiBzZWN0aW9uIGFydGljbGU6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gICAgYm90dG9tOiAwO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGVmdDogLTE5OXB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDIwMHB4O1xuICB9XG59XG5AbWVkaWEgcHJpbnQge1xuICAuZG9ub3RwcmludHRoaXMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbkBtZWRpYSBwcmludCB7XG4gIEBwYWdlIHtcbiAgICBzaXplOiBhdXRvO1xuICAgIG1hcmdpbjogMG1tO1xuICB9XG4gIGFbaHJlZl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIHByaW50IHtcbiAgI0hlYWRlciwgI0Zvb3RlciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIHtcbiAgLmRvbm90cHJpbnR0aGlzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0c2VhZ3JlZW47XG59Il19 */\"","import { Component, OnInit } from '@angular/core';\nimport { Router, ActivatedRoute, Params } from \"@angular/router\";\nimport { LocalStorageService } from 'ngx-webstorage';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss'],\n // providers:[LocalStorageService]\n})\nexport class AppComponent implements OnInit {\n menuOpen = false;\n title = 'dorseyGroup';\n menuOpenStatus = true;\n count = 0;\n authenticated = false;\n companyID = \"\";\n EmployeeID = \"\";\n\n constructor(private router: Router, private routerActive: ActivatedRoute, private storage: LocalStorageService) {\n // ,\n }\n ngOnInit() {\n this.companyID = this.storage.retrieve('companyID');\n this.EmployeeID = this.storage.retrieve('EmployeeID');\n }\n\n onClick(event) {\n if (this.count === 0) {\n this.menuOpen = true;\n this.menuOpenStatus = false;\n this.count++;\n } else {\n this.menuOpen = false;\n this.menuOpenStatus = true;\n this.count = 0;\n }\n\n }\n\n\n}\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule } from '@angular/core';\r\nimport { HttpModule } from '@angular/http';\r\nimport { CompanyComponent, CompanyDialogComponent } from './company/company.component'\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { NgxPrintModule } from 'ngx-print';\r\n\r\nimport {\r\n MatTabsModule, MatIconModule, MatMenuModule, MatFormFieldModule, MatTableModule,\r\n MatDialogModule, MatInputModule, MatOptionModule, MatSelectModule,\r\n MatRadioModule, MatDatepickerModule, MatNativeDateModule, MatButtonModule,\r\n MatSlideToggleModule, MatPaginatorModule, MatTooltipModule, MatCheckboxModule,\r\n MatExpansionModule, MatListModule, MatSidenavModule, MatSliderModule, MatCardModule\r\n} from '@angular/material';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { ProcessComponent, ProcessDialogComponent } from './process/process.component';\r\nimport { ActivityComponent, ActivityDialogComponent } from './activity/activity.component';\r\nimport { TeamsComponent, TeamsDialogComponent } from './teams/teams.component';\r\nimport { EmployeeComponent, EmployeeDialogComponent } from './employee/employee.component';\r\nimport { FlexLayoutModule } from '@angular/flex-layout';\r\nimport { PointerComponent, PointerDialogComponent, PointerDialogComponent2 } from './pointer/pointer.component';\r\nimport { ProcessMapComponent, ProcessMapDialogComponent, ProcessMapDialogComponent2 } from './process-map/process-map.component';\r\nimport { CaseComponent, CaseDialogComponent } from './case/case.component';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { MetricComponent, MetricDialogComponent } from './metric/metric.component';\r\nimport { ProjectComponent, ProjectDialogComponent } from './project/project.component';\r\nimport { NgxPaginationModule } from 'ngx-pagination';\r\nimport { BsDatepickerModule } from 'ngx-bootstrap/datepicker';\r\nimport { SortPipe } from './sort.pipe';\r\n\r\n// import from '@angular/router';\r\nimport { LocationStrategy, HashLocationStrategy } from '@angular/common';\r\nimport { ReportCategoryComponent, DialogComponent } from './report-category/report-category.component';\r\nimport { ReportProcessComponent, ReportProcessDialogComponent } from './report-process/report-process.component';\r\nimport { ReportProjectComponent, ReportProjectDialogComponent } from './report-project/report-project.component';\r\nimport { ReportMetricProcessComponent, ReportMetricDialogComponent } from './report-metric-process/report-metric-process.component';\r\nimport { FusionChartsModule } from \"angular-fusioncharts\";\r\nimport { ChartsModule } from 'ng2-charts';\r\n// Import FusionCharts library and chart modules\r\nimport * as FusionCharts from \"fusioncharts\";\r\nimport * as Charts from \"fusioncharts/fusioncharts.charts\";\r\n\r\nimport * as FusionTheme from \"fusioncharts/themes/fusioncharts.theme.fusion\";\r\nimport { FrustrationReportsComponent } from './frustration-reports/frustration-reports.component';\r\nimport { ProjectsNoactionsComponent } from './projects-noactions/projects-noactions.component';\r\nimport { OtherFrustrationComponent } from './other-frustration/other-frustration.component';\r\nimport { FrustrationCommentsComponent } from './frustration-comments/frustration-comments.component';\r\nimport { NometricProcessComponent } from './nometric-process/nometric-process.component';\r\nimport { ReportsComponent } from './reports/reports.component';\r\nimport { DashboardComponent } from './dashboard/dashboard.component';\r\nimport { LoginComponent, LoginMetricDialogComponent } from './login/login.component';\r\nimport { RolesComponent, RolePermissionsDiaglogComponent } from './roles/roles.component';\r\nimport { NgxWebstorageModule } from 'ngx-webstorage';\r\nimport { HipriorityComponent } from './hipriority/hipriority.component';\r\nimport { FrustrationstypeComponent, FrustTypeDialogComponent } from './frustrationstype/frustrationstype.component';\r\nimport { ReportHipriorityComponent, ReportSeverityDialogComponent } from './report-hipriority/report-hipriority.component';\r\n\r\nimport { AlertsComponent } from './alerts/alerts.component';\r\nimport { MetricdataComponent } from './metricdata/metricdata.component';\r\nimport { MetricDataDialogComponent } from './metricdata/metricdata.component';\r\nimport { LayoutModule } from '@angular/cdk/layout';\r\nimport { HttpClient, HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { LongPress } from '../app/long-press';\r\nimport { UsermanualComponent } from './usermanual/usermanual.component';\r\nimport { PdfViewerModule } from 'ng2-pdf-viewer';\r\nimport { DepartmentDialogComponent, DepartmentsComponent } from './departments/departments.component';\r\nimport { GoalDialogComponent, GoalsComponent } from './goals/goals.component';\r\nimport { PerformanceScoreCardComponent, PerformanceScoreCardDialogComponent } from './performance-score-card/performance-score-card.component';\r\nimport { QuarterComponent } from './quarter/quarter.component';\r\nimport { MessageDialogComponent } from './common/dialog';\r\nimport { AddScoreCardComponent } from './add-score-card/add-score-card.component';\r\nimport { ValidationDialogComponent } from './add-score-card/validation-dialog';\r\nimport { ViewScoreCardComponent } from './view-score-card/view-score-card.component';\r\nimport { ResponseDialogComponent } from './add-score-card/response-dialog';\r\nimport { ReportActivityIssuesComponent } from './report-activity-issues/report-activity-issues.component';\r\nimport { UserPermisionsComponent } from './user-permisions/user-permisions.component';\r\nimport { OrganizationComponent, OrganizationDialogComponent } from './organization/organization.component';\r\nimport { SubCompanyComponent } from './sub-company/sub-company.component';\r\nimport { NumberDirective } from './common/directives/numbers-only.directive';\r\nimport { MsalInterceptor, MsalModule } from '@azure/msal-angular';\r\nimport { AzureDetails } from './login/azure-details.model';\r\nimport { MsalUserService } from './login/msal-user.service';\r\n// Pass the fusioncharts library and chart modules\r\nFusionChartsModule.fcRoot(FusionCharts, Charts, FusionTheme);\r\n\r\nconst appRoutes: Routes = [\r\n { path: 'appcomponent', component: AppComponent },\r\n { path: 'entity', component: CompanyComponent },\r\n { path: 'process', component: ProcessComponent },\r\n { path: 'activity', component: ActivityComponent },\r\n { path: 'pointer', component: PointerComponent },\r\n { path: 'employee', component: EmployeeComponent },\r\n { path: 'team', component: TeamsComponent },\r\n { path: 'processMap', component: ProcessMapComponent },\r\n { path: 'case', component: CaseComponent },\r\n { path: 'metric', component: MetricComponent },\r\n { path: 'project', component: ProjectComponent },\r\n { path: 'report', component: ReportCategoryComponent },\r\n { path: 'reportProcess', component: ReportProcessComponent },\r\n { path: 'reportProject', component: ReportProjectComponent },\r\n { path: 'reportMetric', component: ReportMetricProcessComponent },\r\n { path: 'reportFrustration', component: FrustrationReportsComponent },\r\n { path: 'noactionProject', component: ProjectsNoactionsComponent },\r\n { path: 'otherFrustration', component: OtherFrustrationComponent },\r\n { path: 'frustrationComments', component: FrustrationCommentsComponent },\r\n { path: 'nometricProcess', component: NometricProcessComponent },\r\n //{ path: 'dashboard', component: DashboardComponent },\r\n { path: 'dashboard/:TeamID', component: DashboardComponent },\r\n { path: 'reports', component: ReportsComponent },\r\n { path: 'roles', component: RolesComponent },\r\n { path: 'frustrationsType', component: FrustrationstypeComponent },\r\n { path: 'alerts', component: AlertsComponent },\r\n { path: 'metricData', component: MetricdataComponent },\r\n { path: 'userManual', component: UsermanualComponent },\r\n { path: 'departments', component: DepartmentsComponent },\r\n { path: 'goals', component: GoalsComponent },\r\n { path: 'quarter', component: QuarterComponent },\r\n { path: 'performance-score-card', component: PerformanceScoreCardComponent },\r\n { path: 'add-score-card/:id/:stepId', component: AddScoreCardComponent },\r\n { path: 'organization', component: OrganizationComponent },\r\n { path: 'sub-company', component: SubCompanyComponent }\r\n\r\n];\r\n\r\nexport const protectedResourceMap: any = \r\n [ \r\n [AzureDetails.scopeUri] \r\n ];\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n ProcessComponent,\r\n ActivityComponent,\r\n TeamsComponent,\r\n EmployeeComponent,\r\n CompanyComponent,\r\n CompanyDialogComponent,\r\n ProcessDialogComponent,\r\n EmployeeDialogComponent,\r\n ActivityDialogComponent,\r\n TeamsDialogComponent,\r\n PointerComponent,\r\n PointerDialogComponent,\r\n PointerDialogComponent2,\r\n ProcessMapComponent,\r\n ProcessMapDialogComponent,\r\n ProcessMapDialogComponent2,\r\n CaseComponent,\r\n CaseDialogComponent,\r\n MetricComponent, MetricDialogComponent, ProjectComponent,\r\n ProjectComponent, ProjectDialogComponent,\r\n SortPipe,\r\n ReportCategoryComponent,\r\n DialogComponent,\r\n ReportProcessComponent,\r\n ReportProjectComponent,\r\n ReportProcessDialogComponent,\r\n ReportProjectDialogComponent,\r\n ReportMetricProcessComponent,\r\n ReportMetricDialogComponent,\r\n FrustrationReportsComponent,\r\n ProjectsNoactionsComponent,\r\n OtherFrustrationComponent,\r\n FrustrationCommentsComponent,\r\n NometricProcessComponent,\r\n DashboardComponent,\r\n ReportsComponent,\r\n LoginComponent,\r\n LoginMetricDialogComponent,\r\n UserPermisionsComponent,\r\n RolesComponent,\r\n RolePermissionsDiaglogComponent,\r\n HipriorityComponent,\r\n LoginMetricDialogComponent,\r\n FrustrationstypeComponent,\r\n FrustTypeDialogComponent,\r\n ReportHipriorityComponent,\r\n ReportSeverityDialogComponent, AlertsComponent,\r\n MetricdataComponent,\r\n MetricDataDialogComponent,\r\n LongPress,\r\n UsermanualComponent,\r\n DepartmentsComponent,\r\n DepartmentDialogComponent,\r\n GoalsComponent,\r\n GoalDialogComponent,\r\n PerformanceScoreCardComponent,\r\n QuarterComponent,\r\n MessageDialogComponent,\r\n AddScoreCardComponent,\r\n ValidationDialogComponent,\r\n ViewScoreCardComponent,\r\n ResponseDialogComponent,\r\n ReportActivityIssuesComponent,\r\n OrganizationComponent,\r\n OrganizationDialogComponent,\r\n SubCompanyComponent,\r\n PerformanceScoreCardDialogComponent,\r\n NumberDirective\r\n ],\r\n imports: [\r\n MsalModule.forRoot({ \r\n clientID: AzureDetails.ClientId, \r\n authority: 'https://login.microsoftonline.com/' + AzureDetails.TenantId, \r\n protectedResourceMap: protectedResourceMap, \r\n redirectUri: AzureDetails.RedirectURL \r\n }),\r\n BsDatepickerModule.forRoot(),\r\n BrowserModule,\r\n AppRoutingModule,\r\n HttpModule,\r\n RouterModule.forRoot(appRoutes), HttpModule,\r\n PdfViewerModule,\r\n MatTabsModule, BrowserAnimationsModule, MatIconModule, MatMenuModule,\r\n FormsModule, ReactiveFormsModule, MatFormFieldModule, MatDialogModule,\r\n MatInputModule, FlexLayoutModule, MatSelectModule, MatOptionModule,\r\n MatRadioModule, MatDatepickerModule, MatNativeDateModule, MatButtonModule, MatSlideToggleModule,\r\n MatTableModule, MatPaginatorModule, DragDropModule, MatTooltipModule, MatCheckboxModule, MatExpansionModule,\r\n NgxPaginationModule, FusionChartsModule, ChartsModule, NgxWebstorageModule.forRoot(),\r\n MatListModule, NgxPrintModule, MatSidenavModule, LayoutModule, HttpClientModule,\r\n MatSliderModule, MatCardModule\r\n ],\r\n providers: [{ provide: LocationStrategy, useClass: HashLocationStrategy }, \r\n HttpClient,\r\n MsalUserService,\r\n { \r\n provide: HTTP_INTERCEPTORS, useClass: MsalInterceptor, multi: true \r\n }],\r\n bootstrap: [LoginComponent],\r\n entryComponents: [\r\n CompanyDialogComponent,\r\n ProcessDialogComponent,\r\n EmployeeDialogComponent,\r\n ActivityDialogComponent,\r\n TeamsDialogComponent,\r\n PointerDialogComponent,\r\n PointerDialogComponent2,\r\n ProcessMapDialogComponent,\r\n ProcessMapDialogComponent2,\r\n CaseDialogComponent,\r\n MetricDialogComponent,\r\n ProjectDialogComponent,\r\n DialogComponent,\r\n ReportProcessDialogComponent,\r\n ReportProjectDialogComponent,\r\n ReportMetricDialogComponent,\r\n RolePermissionsDiaglogComponent,\r\n LoginMetricDialogComponent,\r\n FrustTypeDialogComponent,\r\n ReportSeverityDialogComponent,\r\n MetricDataDialogComponent,\r\n DepartmentDialogComponent,\r\n GoalDialogComponent,\r\n MessageDialogComponent,\r\n ValidationDialogComponent,\r\n ResponseDialogComponent,\r\n OrganizationDialogComponent,\r\n PerformanceScoreCardDialogComponent\r\n ]\r\n})\r\nexport class AppModule { }\r\n","import { Component, OnInit, Inject, ViewChild, ElementRef } from '@angular/core';\nimport { DorseyService } from '../dorsey.service';\nimport { Http } from '@angular/http';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { FormControl } from '@angular/forms';\nimport { DatePipe } from '@angular/common'\nimport { Observable } from 'rxjs';\nimport { LocalStorageService } from 'ngx-webstorage';\nimport { CdkDragDrop, moveItemInArray, transferArrayItem } from '@angular/cdk/drag-drop';\nimport { EmployeeLoginLevel } from '../common/models/login-level.model';\nimport { copyRight } from '../copyRight.model';\n@Component({\n selector: 'app-pointer',\n templateUrl: './case.component.html',\n //styleUrls: ['./case.component.scss'],\n providers: [DorseyService, DatePipe]\n})\nexport class CaseComponent implements OnInit {\n employeeDetails: any;\n Comments: string;\n condition = false;\n status = false;\n employeeData: any;\n processData: any;\n activityData: any;\n pointerTypeData: any;\n frustrationtypeData: any;\n departmentData: any;\n teamData: any;\n severityData: any;\n statusData: any;\n CaseID: string;\n EmployeeID: string;\n ProcessID: string;\n ActivityID: string;\n PointerTypeID: string;\n FrustrationTypeID: string;\n DepartmentID: string;\n TeamID: string;\n StatusID: string;\n SeverityID: string;\n Subject: string;\n Description: string;\n PointerID: string;\n pointerData: any;\n tempActivity = [];\n tempTeam = [];\n SLAViolation: string;\n\n tempFrustrationType = []\n\n tempPointer: any;\n newPointer = false;\n caseData: any;\n newData = [];\n workingData = [];\n escalatedData = [];\n closingData = [];\n NewheaderText: string;\n workingHeader: string;\n Esculatedheader: string;\n Closedheader: string;\n searchtext: string = '';\n kenvanView = [];\n kenvan = {};\n weeks = [];\n connectedTo = [];\n tableFormat = false;\n kenbanFormat = false;\n displayAs: string;\n currentPage: number;\n pageIndex: number;\n endIndex: number;\n startIndex: number;\n ifRowSelected = false;\n\n p: number;\n rowsOnPage = 10;\n total: number;\n rowsOnPageSet = [];\n rowCount: any;\n dynamicRows = 10;\n isDesc: boolean = false;\n column = \"\";\n direction: number;\n arrow = true;\n\n checklist = [];\n selectedRows = [];\n checkEnable = false;\n checkAll = false;\n ProjectID: string;\n projectData: any;\n ErrorMessage: string;\n casePaging = false;\n saveFilter = [];\n CompanyID: string;\n isDisable = false;\n disableSearch = false;\n disableKenban = false;\n currentUser: string;\n Date = new Date();\n menuName: string;\n menuID: string;\n menuData: any;\n MenuPermissions: any;\n showProject = true;\n enableProject = false;\n userTeamID: string;\n loginCompanyName: any;\n TeamName: string;\n empID: any;\n errorMsg: any;\n projectAvailable = true;\n subActivityStatus = false;\n ParentID: any;\n SubActivityID: string;\n tempSubActivity = [];\n UserID: any;\n userRoleAssignmentData: any;\n rolesData: any;\n EmpROleID: any;\n updatedBy: any;\n @ViewChild('button', { static: false }) button: ElementRef;\n longPress = 'first state';\n longPressing = 0;\n isLongPressed = false;\n ifLongPress = true;\n updatedDate = new Date();\n constructor(private http: Http, private dorseyService: DorseyService, public dialog: MatDialog, private storage: LocalStorageService, private datepipe: DatePipe) {\n this.CompanyID = this.storage.retrieve('companyID');\n this.empID = this.storage.retrieve('EmployeeID');\n this.userTeamID = this.storage.retrieve('TeamID');\n this.currentUser = this.storage.retrieve('user');\n this.menuData = this.storage.retrieve('menuData');\n this.MenuPermissions = this.storage.retrieve('MenuPermissions');\n this.loginCompanyName = this.storage.retrieve('loginCompanyName');\n this.UserID = this.storage.retrieve('UserID');\n this.EmpROleID = this.storage.retrieve('EmpRoleID');\n this.employeeDetails = this.storage.retrieve('employeeDetails');\n this.GetStatus();\n\n }\n\n ngOnInit() {\n this.GetTeam();\n this.menuData = this.menuData.filter(x => x.MenuName.toString().toLowerCase() === 'frustrations');\n if (this.menuData.length > 0) {\n this.menuName = this.menuData[0][\"MenuName\"];\n this.menuID = this.menuData[0][\"MenuID\"];\n }\n this.tableFormat = true;\n this.GetProcess();\n this.GetActivity();\n this.GetEmployee();\n this.GetDepartment();\n this.GetPointerType();\n this.GetSeverity();\n this.GetPointer();\n this.GetProjects();\n this.GetFrustrationType();\n this.GetCase();\n\n\n this.displayAs = \"Table\";\n }\n\n\n\n onLongPressing() {\n this.longPressing += 1;\n if (this.longPressing > 20) {\n this.ifLongPress = false;\n } else {\n this.ifLongPress = true;\n }\n }\n onMouseUp() {\n this.longPressing = 0;\n this.ifLongPress = true;\n }\n\n onDblClick() {\n this.ifLongPress = false;\n }\n\n getPageNum() {\n this.currentPage = this.p;\n if (this.currentPage !== this.pageIndex) {\n this.checkAll = false;\n }\n }\n\n CheckAll(event) {\n if (this.projectData.length == 0) {\n this.projectAvailable = false;\n this.errorMsg = 'No project available.';\n setTimeout(() => {\n this.projectAvailable = true;\n }, 5000);\n\n }\n this.selectedRows = this.selectedRows;\n if (event.checked) {\n this.checkEnable = true;\n this.enableProject = true;\n } else {\n this.checkEnable = false;\n this.checkAll = false;\n }\n this.pageIndex = this.p;\n\n let totalRows = this.caseData.length;\n let RowsPerPage = this.rowsOnPage;\n\n if (this.pageIndex > 1) {\n this.startIndex = (this.pageIndex - 1) * RowsPerPage;\n this.endIndex = this.startIndex + RowsPerPage;\n\n } else {\n this.startIndex = 0;\n this.endIndex = this.rowsOnPage;\n }\n\n try {\n for (let i = this.startIndex; i < this.endIndex; i++) {\n\n if (this.checkAll) {\n if (!this.checklist[i]) {\n this.checklist[i] = event.checked;\n this.change(this.caseData[i], event, i);\n }\n } else {\n this.checklist[i] = event.checked;\n this.change(this.caseData[i], event, i);\n }\n }\n } catch (error) { }\n }\n\n checkListCount() {\n for (let i = 0; i < this.caseData.length; i++) {\n if (this.checklist[i]) {\n this.enableProject = true;\n break;\n } else {\n this.enableProject = false;\n }\n }\n\n }\n\n sort(property) {\n this.arrow = !this.arrow;\n this.isDesc = !this.isDesc; //change the direction\n this.column = property;\n this.direction = this.isDesc ? 1 : -1;\n }\n\n\n change(element, event, i) {\n if (this.projectData.length === 0) {\n this.projectAvailable = false;\n this.errorMsg = 'No project available.';\n setTimeout(() => {\n this.projectAvailable = true;\n\n }, 10000);\n\n }\n element.check = event.checked;\n if (!event.checked) {\n\n this.checkAll = false;\n const index = this.selectedRows.indexOf(element);\n this.selectedRows.splice(index, 1);\n if (this.selectedRows.length === 0) {\n this.enableProject = false;\n }\n else {\n this.enableProject = true;\n }\n\n } else {\n this.enableProject = true;\n this.selectedRows.push(element);\n this.checkEnable = true;\n\n }\n if (this.selectedRows.length === 0) {\n this.checkEnable = false;\n }\n\n }\n\n exportAsXLSX() {\n let allData = JSON.parse(JSON.stringify(this.caseData));\n\n for (let i = 0; i < allData.length; i++) {\n allData[i][\" Team \"] = allData[i].TeamName;\n allData[i].Process = allData[i].ProcessName;\n allData[i][\" Severity \"] = allData[i].SeverityName;\n allData[i][\" Type \"] = allData[i].FrustrationsTypeName;\n allData[i][\" Frustration\"] = allData[i].Subject;\n allData[i].Status = allData[i].StatusName;\n allData[i].Project = allData[i].ProjectName;\n allData[i][\" Description\"] = allData[i].Description;\n allData[i][\"Date Opened\"] = this.datepipe.transform(allData[i].PointerDate, 'MM/dd/yyyy');\n\n\n delete (allData[i].TeamName);\n\n delete (allData[i].SeverityName);\n delete (allData[i].FrustrationsTypeName);\n delete (allData[i].Subject);\n delete (allData[i].Description);\n delete (allData[i].check);\n delete (allData[i].CompanyID);\n delete (allData[i].CasesID);\n delete (allData[i].PointerID);\n delete (allData[i].ProcessName);\n delete (allData[i].ActivityName);\n delete (allData[i].UpdatedBy);\n delete (allData[i].UpdatedDate);\n\n delete (allData[i].StatusName);\n delete (allData[i].SeverityName);\n delete (allData[i].ProjectName);\n delete (allData[i].PointerDate);\n\n delete (allData[i].SLAViloation);\n delete (allData[i].CreatedBy);\n delete (allData[i].CreatedDate);\n delete (this.caseData[i].SLAViloation);\n delete (allData[i].Comment);\n delete (allData[i].ActivityID);\n delete (allData[i].PointerTypeID);\n\n delete (allData[i].EmployeeID);\n delete (allData[i].Type);\n delete (allData[i].StatusID);\n delete (allData[i].ProcessID);\n delete (allData[i].DepartmentID);\n delete (allData[i].TeamID);\n\n delete (allData[i].FrustrationsTypeID);\n delete (allData[i].PointerCreatedBy);\n delete (allData[i].ProjectID);\n delete (allData[i].SeverityID);\n\n\n }\n\n this.dorseyService.generateExcel(allData, this.loginCompanyName + '_frustration' + \"_\" + (new Date().getMonth() + 1) + '-' + new Date().getDate() + '-' + new Date().getFullYear(), 'Frustration', \"Company: \" + this.loginCompanyName, '', \"Frustration Report\", copyRight, 'FFFFFF00', 'FF0000FF');\n }\n table() {\n this.tableFormat = true;\n this.kenbanFormat = false;\n this.displayAs = \"Table\";\n }\n kenban() {\n this.checkAll = false;\n this.selectedRows = [];\n this.checklist = [];\n this.enableProject = false;\n this.kenbanFormat = true;\n this.tableFormat = false;\n this.displayAs = \"Status view\";\n this.weeks = [];\n this.kenvan = [];\n this.kenvanView = [];\n this.GetCase();\n }\n GetCase() {\n\n this.dorseyService.GetCase(this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.caseData = subData;\n\n let tempCaseData = this.caseData;\n if (this.caseData.length === 0) {\n this.casePaging = false;\n this.isDisable = true;\n this.disableSearch = true;\n this.disableKenban = true;\n }\n else {\n this.saveFilter = JSON.parse(JSON.stringify(this.caseData));\n this.casePaging = true;\n this.isDisable = false;\n this.disableSearch = false;\n this.disableKenban = false;\n\n // if (this.userTeamID != '0' && this.userTeamID !== null && this.CompanyID !== '0') {\n // this.caseData = tempCaseData.filter(x => x.TeamID.toString() === this.userTeamID.toString() && x.CompanyID === this.CompanyID);\n // }\n // else {\n // ``\n // this.caseData = tempCaseData.filter(x => x.CompanyID === this.CompanyID);\n // }\n\n if (this.employeeDetails) {\n if (this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Department) {\n this.caseData = this.caseData.filter(entity1 => this.teamData.some(entity2 => entity1.TeamID == entity2.TeamID));\n }\n else if (this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Team) {\n this.caseData = this.caseData.filter(ent => ent.TeamID == this.employeeDetails.TeamID)\n }\n else {\n let data = this.caseData.filter(x => x.CompanyID === this.CompanyID);\n this.caseData = data;\n }\n }\n\n\n this.dynamicRows = 10;\n this.rowsOnPageSet = [];\n\n if (this.caseData.length === 0) {\n this.casePaging = false;\n this.isDisable = true;\n this.disableSearch = true;\n }\n else {\n this.saveFilter = JSON.parse(JSON.stringify(this.caseData));\n this.rowCount = this.caseData.length;\n this.getCasePagination(this.rowCount)\n\n this.casePaging = true;\n this.isDisable = false;\n this.disableSearch = false;\n\n }\n\n\n }\n\n for (let k = 0; k < this.statusData.length; k++) {\n this.kenvanView = [];\n this.kenvan = [];\n\n // this.statusData=this.statusData.filter(x=>x.StatusID!=5);\n\n for (let j = 0; j < this.caseData.length; j++) {\n\n if (this.statusData[k].StatusID === this.caseData[j].StatusID) {\n\n this.kenvanView.push(this.caseData[j]);\n }\n }\n this.kenvan['id'] = this.statusData[k].StatusName;\n this.kenvan['weeklist'] = this.kenvanView;\n this.weeks.push({\n 'id': this.statusData[k].StatusName,\n 'weeklist': this.kenvanView,\n 'statusID': this.statusData[k].StatusID,\n 'count': this.kenvanView.length\n });\n }\n for (let week of this.weeks) {\n this.connectedTo.push(week.id);\n };\n this.ifEmployeeLogin();\n });\n\n\n }\n getCasePagination(rowCountNo) {\n\n while (this.dynamicRows < rowCountNo) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 10;\n }\n if (!this.rowsOnPageSet.includes(rowCountNo)) this.rowsOnPageSet.push(rowCountNo);\n if (this.rowsOnPageSet.length === 1) {\n if (this.rowsOnPageSet[0] <= 10)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n }\n ifEmployeeLogin() {\n if (this.userTeamID != '0' && this.userTeamID != null) {\n let tempProcessData = this.caseData.filter(x => x.TeamID == this.userTeamID);\n if (tempProcessData.length == 0) {\n this.isDisable = true;\n this.disableSearch = true;\n }\n }\n }\n Searchtext() {\n this.caseData = this.saveFilter;\n\n let tempCase = this.caseData.filter(\n (item) => {\n return (\n (item.ProcessName !== null && item.ProcessName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1)\n || (item.Subject !== null && item.Subject.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1)\n || (item.Description !== null && item.Description.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1)\n || (item.StatusName !== null && item.StatusName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1)\n || (item.ProjectName !== null && item.ProjectName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1)\n || (item.TeamName !== null && item.TeamName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1)\n || (item.SeverityName !== null && item.SeverityName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1)\n || (item.FrustrationsTypeName !== null && item.FrustrationsTypeName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1)\n || (item.PointerDate !== null && item.PointerDate.indexOf(this.searchtext) > -1))\n }\n\n );\n this.caseData = tempCase;\n if (this.caseData.length == 0) {\n // this.GetActivity();\n this.isDisable = true;\n this.disableKenban = true;\n this.ErrorMessage = '';\n this.checkEnable = false;\n } else {\n this.isDisable = false;\n }\n if (this.searchtext === '') {\n this.weeks = [];\n this.kenvanView = [];\n this.kenvan = [];\n this.caseData = this.saveFilter;\n this.dynamicRows = 10;\n this.rowsOnPageSet = [];\n this.rowCount = this.caseData.length;\n while (this.dynamicRows < this.rowCount) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 10;\n }\n if (!this.rowsOnPageSet.includes(this.rowCount))\n this.rowsOnPageSet.push(this.rowCount);\n if (this.rowsOnPageSet) {\n\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n this.isDisable = false;\n this.disableKenban = false;\n\n } else {\n this.rowCount = tempCase.length;\n this.dynamicRows = 10;\n this.rowsOnPageSet = [];\n while (this.dynamicRows < this.rowCount) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 10;\n }\n if (!this.rowsOnPageSet.includes(this.rowCount)) {\n this.rowsOnPageSet.push(this.rowCount);\n if (this.rowsOnPageSet)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n\n if (this.rowsOnPageSet.length === 1) {\n if (this.rowsOnPageSet[0] <= 10)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n }\n }\n\n drop(event: CdkDragDrop, statusID: string) {\n if (event.previousContainer === event.container) {\n moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);\n\n } else {\n transferArrayItem(event.previousContainer.data,\n event.container.data,\n event.previousIndex,\n event.currentIndex);\n this.SavePointer(event.container.data, statusID);\n\n }\n // this.GetCase();\n }\n\n SavePointer(dataSave: any, statusID: string) {\n if (dataSave[0].ProjectID === undefined || dataSave[0].ProjectID === '') {\n dataSave[0].ProjectID = \"0\";\n\n }\n if (dataSave.length > 0) {\n\n const pointerJson = {\n CompanyID: this.CompanyID,\n PointerID: dataSave[0].PointerID,\n EmployeeID: dataSave[0].EmployeeID,\n ProessID: dataSave[0].ProcessID,\n ActivityID: dataSave[0].ActivityID,\n PointerTypeID: dataSave[0].PointerTypeID,\n FrustrationsTypeID: dataSave[0].FrustrationsTypeID,\n DepartmentID: dataSave[0].DepartmentID,\n TeamID: dataSave[0].TeamID,\n SeverityID: dataSave[0].SeverityID,\n StatusID: statusID,\n Subject: dataSave[0].Subject,\n Description: dataSave[0].Description,\n CreatedBy: this.currentUser,\n UpdatedBy: this.currentUser,\n ProjectID: dataSave[0].ProjectID,\n };\n\n this.dorseyService.SavePointer(pointerJson, 'No').subscribe(data => {\n if (data['_body'].toString() === 'true') {\n this.weeks = [];\n this.kenvanView = [];\n this.kenvan = [];\n this.GetCase();\n }\n });\n this.weeks = [];\n this.kenvan = [];\n this.kenvanView = [];\n this.GetPointer();\n this.GetCase();\n\n }\n }\n GetPointer() {\n this.dorseyService.GetPointer(this.CompanyID).subscribe(subData => {\n\n subData = JSON.parse(subData['_body']);\n this.pointerData = subData;\n });\n }\n GetEmployee() {\n this.dorseyService.GetEmployee(this.CompanyID).subscribe(subData => {\n\n subData = JSON.parse(subData['_body']);\n this.employeeData = subData;\n });\n }\n GetFrustrationType() {\n this.dorseyService.GetFrustrationType(\"1\", this.CompanyID).subscribe(subData => {\n\n subData = JSON.parse(subData['_body']);\n this.frustrationtypeData = subData;\n });\n }\n GetDepartment() {\n this.dorseyService.GetDepartment().subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.departmentData = subData;\n });\n }\n GetProjects() {\n this.dorseyService.GetProjects(this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.projectData = subData;\n\n });\n }\n GetPointerType() {\n this.dorseyService.GetPointerType().subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.pointerTypeData = subData;\n });\n }\n GetStatus() {\n this.dorseyService.GetStatus().subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.statusData = subData;\n });\n }\n GetSeverity() {\n this.dorseyService.GetSeverity().subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.severityData = subData;\n });\n }\n\n GetTeam() {\n this.dorseyService.GetTeam(this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.teamData = subData;\n if (this.employeeDetails) {\n if (this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Department) {\n this.teamData = this.teamData.filter(ent => ent.DepartmentID == this.employeeDetails.DepartmentID)\n }\n else if (this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Team) {\n this.teamData = this.teamData.filter(ent => ent.DepartmentID == this.employeeDetails.DepartmentID && ent.TeamID == this.employeeDetails.TeamID)\n this.TeamName = this.teamData[0].TeamName;\n }\n else {\n this.teamData = subData;\n }\n }\n\n });\n }\n GetActivity() {\n this.dorseyService.GetActivity(this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.activityData = subData;\n });\n }\n GetProcess() {\n this.dorseyService.GetProcess(this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.processData = subData;\n let processTemp = this.processData;\n this.processData = processTemp.filter(x => x.TeamID !== 0);\n\n if (this.userTeamID != \"0\" && this.CompanyID != \"0\" && this.userTeamID !== null) {\n\n let data = this.processData.filter(x => x.TeamID === this.userTeamID);\n this.processData = data;\n this.TeamID = data[0].TeamID;\n }\n });\n }\n\n\n dialogCall(msg: string) {\n\n const dialogRef = this.dialog.open(CaseDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: msg + 'æææ' + false,\n });\n dialogRef.componentInstance.currentUser = this.currentUser;\n dialogRef.componentInstance.processData = this.processData;\n dialogRef.componentInstance.activityData = this.activityData;\n dialogRef.componentInstance.departmentData = this.departmentData;\n dialogRef.componentInstance.severityData = this.severityData;\n dialogRef.componentInstance.statusData = this.statusData;\n dialogRef.componentInstance.employeeData = this.employeeData;\n dialogRef.componentInstance.tempActivity = this.tempActivity;\n dialogRef.componentInstance.tempFrustrationType = this.tempFrustrationType;\n dialogRef.componentInstance.teamData = this.teamData;\n dialogRef.componentInstance.CompanyID = this.CompanyID;\n\n if (msg === 'edit') {\n this.status = true;\n let tempProcessData = this.processData.filter(x => x.TeamID === this.TeamID);\n dialogRef.componentInstance.processData = tempProcessData;\n dialogRef.componentInstance.EmployeeID = this.EmployeeID;\n dialogRef.componentInstance.ProcessID = this.ProcessID;\n dialogRef.componentInstance.ActivityID = this.ActivityID;\n dialogRef.componentInstance.PointerID = this.PointerID;\n dialogRef.componentInstance.DepartmentID = this.DepartmentID;\n dialogRef.componentInstance.TeamID = this.TeamID;\n dialogRef.componentInstance.StatusID = this.StatusID;\n dialogRef.componentInstance.SeverityID = this.SeverityID;\n dialogRef.componentInstance.Subject = this.Subject;\n dialogRef.componentInstance.Description = this.Description;\n dialogRef.componentInstance.CaseID = this.CaseID;\n dialogRef.componentInstance.SLAViolation = this.SLAViolation;\n dialogRef.componentInstance.Comments = this.Comments;\n\n dialogRef.componentInstance.FrustrationTypeID = this.FrustrationTypeID;\n dialogRef.componentInstance.PointerTypeID = this.PointerTypeID;\n dialogRef.componentInstance.ProjectID = this.ProjectID;\n dialogRef.componentInstance.subActivityStatus = this.subActivityStatus;\n dialogRef.componentInstance.SubActivityID = this.SubActivityID;\n dialogRef.componentInstance.updatedBy = this.updatedBy;\n dialogRef.componentInstance.updatedDate = this.updatedDate;\n\n //dialogRef.componentInstance.tempActivity=this.tempActivity;\n // dialogRef.componentInstance.tempFrustrationType=this.tempFrustrationType;\n\n\n }\n\n if (msg === 'assign') {\n dialogRef.componentInstance.ProjectID = this.ProjectID;\n dialogRef.componentInstance.projectData = this.projectData;\n dialogRef.componentInstance.checklist = this.checklist;\n dialogRef.componentInstance.selectedRows = this.selectedRows;\n dialogRef.componentInstance.checkAll = this.checkAll;\n dialogRef.componentInstance.checkEnable = this.checkEnable;\n\n }\n if (msg === 'new') {\n this.searchtext = '';\n this.weeks = [];\n this.kenvan = [];\n this.kenvanView = [];\n this.GetCase();\n }\n dialogRef.afterClosed().subscribe(result => {\n this.subActivityStatus = false;\n this.tempActivity = [];\n this.tempTeam = [];\n this.tempFrustrationType = [];\n this.checkEnable = false;\n this.weeks = [];\n this.kenvan = [];\n this.kenvanView = [];\n if (this.searchtext !== '') {\n this.Searchtext();\n }\n else {\n this.weeks = [];\n this.kenvan = [];\n this.kenvanView = [];\n this.GetCase();\n }\n\n if (msg == 'Assigned successfully' && this.searchtext !== '') {\n\n this.Searchtext();\n }\n\n if (result.toString() === 'true') {\n\n let statusMsg = '';\n if (msg === 'new') {\n statusMsg = 'Saved successfully';\n\n }\n else {\n\n statusMsg = 'Updated successfully';\n\n this.checkEnable = false;\n }\n this.dynamicRows = 10;\n this.rowsOnPageSet = [];\n this.GetPointer();\n this.weeks = [];\n this.kenvan = [];\n this.kenvanView = [];\n this.GetCase();\n const dialogRefsub = this.dialog.open(CaseDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: statusMsg + 'æææ' + false,\n // width: '30%'\n });\n\n\n setTimeout(() => {\n this.GetPointer();\n this.GetCase();\n }, 500);\n\n dialogRefsub.afterClosed().subscribe(result1 => {\n this.subActivityStatus = false;\n this.tempActivity = [];\n this.tempTeam = [];\n this.tempFrustrationType = [];\n this.weeks = [];\n this.kenvan = [];\n this.kenvanView = [];\n\n if (this.searchtext !== '') {\n this.Searchtext();\n }\n else {\n\n this.GetPointer();\n this.GetCase();\n }\n\n //this.GetPointer();\n // this.Searchtext();\n // this.GetCase();\n });\n\n\n\n }\n\n });\n }\n\n\n\n GetTempActivity(ProcessID: string) {\n for (let i = 0; i < this.activityData.length; i++) {\n if (this.activityData[i].ProcessID === ProcessID && this.activityData[i].ParentID == 0) {\n this.tempActivity.push(this.activityData[i]);\n }\n }\n }\n\n\n GetTempFrastrations(PointerTypeID: string) {\n for (let i = 0; i < this.frustrationtypeData.length; i++) {\n if (this.frustrationtypeData[i].PointerTypeID === PointerTypeID) {\n this.tempFrustrationType.push(this.frustrationtypeData[i]);\n }\n }\n }\n\n GetTempTeam(ProcessID: string) {\n for (let i = 0; i < this.teamData.length; i++) {\n if (this.teamData[i].ProcessID === ProcessID) {\n this.tempTeam.push(this.teamData[i]);\n }\n }\n }\n\n EditCase(element, text) {\n this.ParentID = 0;\n this.GetTempActivity(element.ProcessID);\n this.CaseID = element.CasesID;\n this.PointerID = element.PointerID;\n this.SLAViolation = element.SLAViloation;\n this.Comments = element.Comment;\n this.updatedBy = element.UpdatedBy;\n this.updatedDate = element.UpdatedDate;\n this.tempPointer = this.pointerData.filter(c => c.PointerID != undefined && c.PointerID === this.PointerID);\n if (this.tempPointer.length > 0) {\n if (this.tempPointer[0].ProjectID === undefined || this.tempPointer[0].ProjectID === '') {\n this.tempPointer[0].ProjectID = \"0\";\n }\n this.FrustrationTypeID = this.tempPointer[0].FrustrationsTypeID;\n this.Subject = this.tempPointer[0].Subject;\n this.Description = this.tempPointer[0].Description;\n this.DepartmentID = this.tempPointer[0].DepartmentID;\n this.TeamID = this.tempPointer[0].TeamID;\n this.ProcessID = this.tempPointer[0].ProcessID;\n\n this.PointerTypeID = this.tempPointer[0].PointerTypeID;\n this.EmployeeID = this.tempPointer[0].EmployeeID;\n this.SeverityID = this.tempPointer[0].SeverityID;\n this.StatusID = this.tempPointer[0].StatusID;\n this.ProjectID = this.tempPointer[0].ProjectID;\n if (this.tempPointer[0].ActivityID === 0) {\n this.tempPointer[0].ActivityID = \"0\";\n }\n this.GetTempFrastrations(this.PointerTypeID);\n this.ActivityID = this.tempPointer[0].ActivityID;\n }\n\n for (let i = 0; i < this.activityData.length; i++) {\n if (element.ActivityID === this.activityData[i].ActivityID) {\n this.ParentID = this.activityData[i].ParentID;\n\n }\n\n }\n\n if (!this.ParentID || this.ParentID.toString() === '0') {\n this.ActivityID = element.ActivityID;\n this.subActivityStatus = false;\n } else {\n this.subActivityStatus = true;\n this.SubActivityID = element.ActivityID;\n this.ActivityID = this.ParentID;\n }\n\n this.dialogCall('edit');\n }\n project(event) {\n this.ProjectID = event.value;\n }\n\n\n Addproject(msg: string) {\n this.updatePointer(msg);\n }\n updatePointer(msg: string) {\n let data = this.projectData.filter(x => x.ProjectID === this.ProjectID);\n if (data.length > 0) {\n this.StatusID = data[0].ProjectStatusID;\n }\n\n\n if (msg === 'assign') {\n {\n if (!this.ProjectID && this.ProjectID != '0') {\n this.ErrorMessage = 'Please select Project';\n return;\n }\n else {\n this.ErrorMessage = '';\n this.enableProject = false;\n }\n\n\n if (this.ProjectID.toString() === '0') {\n this.StatusID = this.selectedRows[0].StatusID;\n }\n\n\n const json = {\n ProjectID: this.ProjectID,\n CompanyID: this.CompanyID,\n pointerData: this.selectedRows,\n UpdatedBy: this.currentUser\n\n };\n this.dorseyService.UpdatePointerProject(json, 'No', this.StatusID).subscribe(data => {\n if (data.ok) {\n this.condition = true;\n this.dialogCall('Assigned successfully');\n this.GetStatus();\n this.weeks = [];\n this.kenvan = [];\n this.kenvanView = [];\n this.GetCase();\n this.GetProjects();\n this.checkAll = false;\n this.selectedRows = [];\n this.ProjectID = \"\";\n }\n\n\n });\n }\n\n }\n }\n\n\n ifMaxRow() {\n\n if (this.rowsOnPage == this.caseData.length) {\n this.rowsOnPage = this.rowsOnPage - 1;\n }\n }\n\n DeleteCase(element) {\n this.CaseID = element.CasesID;\n this.PointerID = element.PointerID;\n const dialogRef = this.dialog.open(CaseDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: 'Are you sure you want to delete frustration: ' + element.Subject + '?æææ' + true,\n // width: '40%'\n });\n // this.condition = true;\n\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n /// this.condition = true;\n this.dorseyService.DeleteCase(this.CaseID, this.PointerID).subscribe(data => {\n\n if (data.ok) {\n this.ifMaxRow();\n this.condition = false;\n this.dialogCall('Deleted successfully');\n }\n this.dynamicRows = 10;\n this.rowsOnPageSet = [];\n this.GetCase();\n });\n }\n });\n }\n\n GetTempSubActivity(ActivityID) {\n this.tempSubActivity = [];\n // this.SubActivityID=ActivityID;\n for (let i = 0; i < this.activityData.length; i++) {\n if (this.activityData[i].ParentID === ActivityID) {\n this.tempSubActivity.push(this.activityData[i]);\n }\n }\n }\n\n}\n@Component({\n selector: 'app-dialog',\n templateUrl: 'dialog.html',\n // styleUrls: ['dialog.css'],\n providers: [DorseyService, DatePipe],\n})\nexport class CaseDialogComponent {\n SLAViolation: string;\n currentUser: string\n condition = false;\n status = false;\n employeeData: any;\n processData: any;\n activityData: any;\n pointerTypeData: any;\n frustrationtypeData: any;\n departmentData: any;\n CaseID: string;\n teamData: any;\n severityData: any;\n statusData: any;\n dataSelf = '';\n EmployeeID: string;\n ProcessID: string;\n ActivityID: string;\n PointerTypeID: string;\n FrustrationTypeID: string;\n DepartmentID: string;\n TeamID: string;\n StatusID: string;\n SeverityID: string;\n Subject: string;\n Description: string;\n PointerID: string;\n tempActivity = [];\n tempTeam = [];\n tempFrustrationType = [];\n Comments: string;\n processCtrl = new FormControl();\n\n filteredProcess: Observable\n\n checklist = [];\n selectedRows = [];\n checkEnable = false;\n checkAll = false;\n projectData: any;\n ProjectID: string;\n pointerData: any;\n CompanyID: string;\n subActivityStatus = false;\n SubActivityID: string;\n tempSubActivity = [];\n conditionActivity = '';\n updatedBy: any;\n updatedDate = new Date();\n btnDisabled = false;\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any, public dorseyService: DorseyService, private datepipe: DatePipe) {\n // dialogRef.disableClose=true;\n this.data = this.data.split('æææ');\n if (this.data[1] === 'true') {\n this.condition = true;\n } else if (this.data[1] === 'false') {\n this.condition = false;\n }\n else {\n if (this.data[1] === '') {\n this.conditionActivity = 'process';\n } else {\n this.conditionActivity = 'activity';\n }\n\n }\n this.data = this.data[0];\n }\n\n ngOnInit() {\n if (this.SubActivityID) {\n this.GetTempSubActivity(this.ActivityID);\n }\n }\n\n onYesClick() {\n this.dialogRef.close(true);\n }\n onNoClick(): void {\n this.dialogRef.close();\n }\n AddCase() {\n this.btnDisabled = true;\n\n setTimeout(() => {\n this.btnDisabled = false;\n }, 1000);\n let count = 0;\n const Editcount = 0;\n\n if (this.SeverityID === undefined || this.Subject == undefined || this.StatusID === undefined ||\n this.SeverityID === '' || this.StatusID === '' || this.Subject.trim() === '') {\n this.dataSelf = 'Please enter mandatory(*) fields';\n if (this.data === 'new') {\n\n }\n count++;\n }\n\n if (count === 0 && Editcount === 0) {\n this.dataSelf = '';\n if (this.data === 'new') {\n\n this.Saving(this.data);\n } else {\n this.Saving(this.data);\n }\n } else {\n\n }\n\n\n\n }\n\n\n\n GetPointer() {\n this.dorseyService.GetPointer(this.CompanyID).subscribe(subData => {\n\n subData = JSON.parse(subData['_body']);\n this.pointerData = subData;\n });\n }\n\n\n Saving(msg: string) {\n\n if (this.subActivityStatus) {\n this.ActivityID = this.SubActivityID;\n }\n if (this.subActivityStatus) {\n if (this.ActivityID === '' || this.SubActivityID === '') {\n this.dataSelf = 'Please enter mandatory(*) fields';\n return;\n }\n\n }\n\n const json = {\n PointerID: this.PointerID,\n CaseID: this.CaseID,\n SLAViloation: this.SLAViolation,\n Comment: this.Comments,\n UpdatedBy: this.currentUser\n };\n\n if (msg === 'edit') {\n this.dorseyService.SaveCase(json).subscribe(data => {\n if (data['_body'].toString() === 'true') {\n this.dialogRef.close(true);\n const pointerJson = {\n CompanyID: this.CompanyID,\n PointerID: this.PointerID,\n EmployeeID: \"0\",\n ProessID: this.ProcessID,\n ActivityID: this.ActivityID,\n PointerTypeID: this.PointerTypeID,\n FrustrationsTypeID: this.FrustrationTypeID,\n DepartmentID: \"0\",\n TeamID: this.TeamID,\n SeverityID: this.SeverityID,\n StatusID: this.StatusID,\n Subject: this.Subject,\n Description: this.Description,\n ProjectID: this.ProjectID,\n CreatedBy: this.currentUser,\n UpdatedBy: this.currentUser\n };\n\n\n this.dorseyService.SavePointer(pointerJson, 'No').subscribe(data => {\n if (data['_body'].toString() === 'true') {\n\n this.dialogRef.close(true);\n } else {\n this.dataSelf = 'Save failed';\n }\n });\n }\n });\n }\n\n }\n\n\n Clear() {\n this.dialogRef.close(false);\n }\n employee(event) {\n this.EmployeeID = event.value;\n }\n process(event) {\n this.ProcessID = event.value;\n for (let i = 0; i < this.processData.length; i++) {\n if (this.processData[i].ProcessID === this.ProcessID) {\n this.TeamID = this.processData[i].TeamID;\n }\n }\n this.tempActivity = [];\n this.tempSubActivity = [];\n this.tempTeam = [];\n this.ActivityID = '';\n\n if (this.subActivityStatus) {\n this.SubActivityID = '';\n this.ActivityID = '';\n }\n this.GetTempActivity();\n this.GetTempFrastrations();\n //this.GetTempTeam();\n }\n GetTempActivity() {\n for (let i = 0; i < this.activityData.length; i++) {\n\n if (this.activityData[i].ProcessID === this.ProcessID && this.activityData[i].ParentID === 0) {\n this.tempActivity.push(this.activityData[i]);\n }\n }\n }\n activity(event) {\n this.tempSubActivity = [];\n this.ActivityID = event.value;\n this.SubActivityID = '';\n this.GetTempSubActivity(this.ActivityID);\n }\n frustrationType(event) {\n this.FrustrationTypeID = event.value\n }\n GetTempFrastrations() {\n for (let i = 0; i < this.frustrationtypeData.length; i++) {\n if (this.frustrationtypeData[i].PointerTypeID === this.PointerTypeID) {\n this.tempFrustrationType.push(this.frustrationtypeData[i]);\n }\n }\n }\n\n department(event) {\n this.DepartmentID = event.value;\n }\n\n team(event) {\n this.TeamID = event.value;\n }\n\n severity(event) {\n this.SeverityID = event.value;\n }\n\n statusChange(event) {\n this.StatusID = event.value;\n }\n\n subactivity(event) {\n this.SubActivityID = event.value;\n }\n\n GetTempSubActivity(ActivityID) {\n this.tempSubActivity = [];\n for (let i = 0; i < this.activityData.length; i++) {\n if (this.activityData[i].ParentID === ActivityID) {\n this.tempSubActivity.push(this.activityData[i]);\n }\n }\n }\n\n}\n","import { Component } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'message-dialog',\r\n templateUrl: 'dialog.html',\r\n})\r\nexport class MessageDialogComponent {\r\n}","import { Directive, ElementRef, HostListener, Input } from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\n\r\n@Directive({\r\n selector: 'input[numbersOnly]'\r\n})\r\nexport class NumberDirective {\r\n\r\n constructor(private _el: ElementRef) { }\r\n\r\n @HostListener('input', ['$event']) onInputChange(event: any) {\r\n const initalValue = this._el.nativeElement.value;\r\n this._el.nativeElement.value = initalValue.replace(/[^0-9]*/g, '');\r\n if (initalValue !== this._el.nativeElement.value) {\r\n event.stopPropagation();\r\n }\r\n }\r\n}\r\n","export enum EmployeeLoginLevel {\r\n Company = 'Company',\r\n Department = 'Department',\r\n Team = 'Team'\r\n}","module.exports = \".mt-20 {\\n margin-top: 20px;\\n}\\n\\n.btn-margin {\\n margin-top: 9px;\\n margin-left: 2px;\\n}\\n\\n.btn-default {\\n background-color: #e6e8eb !important;\\n color: black;\\n}\\n\\n.orgDetails {\\n width: 100%;\\n display: flex;\\n margin: 10px;\\n flex-direction: row;\\n}\\n\\n.highlight {\\n background-color: lightblue;\\n}\\n\\n.p-t-10 {\\n padding-top: 10px;\\n}\\n\\ntable {\\n width: 100%;\\n font-size: smaller;\\n}\\n\\nth, td {\\n text-align: center;\\n font-size: smaller;\\n}\\n\\nth {\\n color: white;\\n background-color: #474747;\\n height: 35px;\\n font-size: 13px;\\n}\\n\\ntd {\\n height: 35px;\\n font-size: 13px;\\n}\\n\\ntable {\\n border-collapse: collapse;\\n}\\n\\ntable, th, td {\\n border: 1px solid #e1e1e1;\\n overflow: hidden;\\n word-wrap: break-word;\\n}\\n\\ntable.fixed {\\n table-layout: fixed;\\n}\\n\\ntable.fixed td {\\n overflow: hidden;\\n}\\n\\n.highlight td {\\n background: #C0C0C0;\\n}\\n\\n.rightArrow {\\n font-size: 5px;\\n}\\n\\n.fontLabel {\\n font-size: 18px;\\n}\\n\\n.warningMsg {\\n text-align: center;\\n color: red;\\n}\\n\\n.fa-arrow-down, .fa-arrow-up {\\n font-size: 10px;\\n}\\n\\n.Addcolor {\\n color: #ef5350 !important;\\n cursor: pointer !important;\\n}\\n\\n.removeColor {\\n color: #ccc !important;\\n cursor: none !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcGFueS9GOlxcTmlraWwgV29ya1xcUHJvamVjdHNcXERvcnNleVxcSGllcmFyY2h5IFNvdXJjZSBDb2RlXFxXb3JraW5nXFxkb3JzZXlHcm91cC9zcmNcXGFwcFxcY29tcGFueVxcY29tcGFueS5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvY29tcGFueS9jb21wYW55LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksZ0JBQUE7QUNDSjs7QURFQTtFQUNJLGVBQUE7RUFDQSxnQkFBQTtBQ0NKOztBREVBO0VBQ0ksb0NBQUE7RUFDQSxZQUFBO0FDQ0o7O0FERUE7RUFDSSxXQUFBO0VBQ0EsYUFBQTtFQUNBLFlBQUE7RUFDQSxtQkFBQTtBQ0NKOztBREVBO0VBQ0ksMkJBQUE7QUNDSjs7QURFQTtFQUNJLGlCQUFBO0FDQ0o7O0FERUE7RUFDSSxXQUFBO0VBQ0Esa0JBQUE7QUNDSjs7QURDQTtFQUNJLGtCQUFBO0VBQ0Esa0JBQUE7QUNFSjs7QURDQTtFQUNDLFlBQUE7RUFDRCx5QkFBQTtFQUNBLFlBQUE7RUFDQyxlQUFBO0FDRUQ7O0FEQUE7RUFDSSxZQUFBO0VBQ0MsZUFBQTtBQ0dMOztBRERBO0VBQ0kseUJBQUE7QUNJSjs7QURGQTtFQUNJLHlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxxQkFBQTtBQ0tKOztBREhBO0VBQWMsbUJBQUE7QUNPZDs7QUROQTtFQUFpQixnQkFBQTtBQ1VqQjs7QURUQTtFQUFlLG1CQUFBO0FDYWY7O0FEUkM7RUFDRyxjQUFBO0FDV0o7O0FEVEE7RUFDSSxlQUFBO0FDWUo7O0FEVkE7RUFDSSxrQkFBQTtFQUFtQixVQUFBO0FDY3ZCOztBRFpBO0VBQ0ksZUFBQTtBQ2VKOztBRGJBO0VBQ0kseUJBQUE7RUFDQSwwQkFBQTtBQ2dCSjs7QURkQztFQUNHLHNCQUFBO0VBQ0EsdUJBQUE7QUNpQkoiLCJmaWxlIjoic3JjL2FwcC9jb21wYW55L2NvbXBhbnkuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIubXQtMjB7XHJcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG59XHJcblxyXG4uYnRuLW1hcmdpbntcclxuICAgIG1hcmdpbi10b3A6IDlweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAycHg7XHJcbn1cclxuXHJcbi5idG4tZGVmYXVsdHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU4ZWIgIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiBibGFjaztcclxuICB9XHJcblxyXG4ub3JnRGV0YWlsc3tcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIG1hcmdpbjogMTBweDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbn1cclxuXHJcbi5oaWdobGlnaHR7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGJsdWU7XHJcbn1cclxuXHJcbi5wLXQtMTB7XHJcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcclxufVxyXG5cclxudGFibGUge1xyXG4gICAgd2lkdGg6MTAwJTtcclxuICAgIGZvbnQtc2l6ZTogc21hbGxlcjtcclxufVxyXG50aCx0ZHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogc21hbGxlcjtcclxufVxyXG5cclxudGgge1xyXG4gY29sb3I6d2hpdGU7ICAgICBcclxuYmFja2dyb3VuZC1jb2xvcjogXHQjNDc0NzQ3O1xyXG5oZWlnaHQ6IDM1cHg7XHJcbiBmb250LXNpemU6IDEzcHg7XHJcbn1cclxudGQge1xyXG4gICAgaGVpZ2h0OiAzNXB4O1xyXG4gICAgIGZvbnQtc2l6ZTogMTNweDtcclxufVxyXG50YWJsZSB7XHJcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG59XHJcbnRhYmxlLCB0aCwgdGQge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UxZTFlMTtcclxuICAgIG92ZXJmbG93OmhpZGRlbjtcclxuICAgIHdvcmQtd3JhcDpicmVhay13b3JkO1xyXG59XHJcbnRhYmxlLmZpeGVkIHsgdGFibGUtbGF5b3V0OmZpeGVkOyB9XHJcbnRhYmxlLmZpeGVkIHRkIHsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxyXG4uaGlnaGxpZ2h0IHRkIHtiYWNrZ3JvdW5kOiAjQzBDMEMwO31cclxuXHJcbi8vICAuZmF7XHJcbiAgLy8gIGZvbnQtc2l6ZTogMThweDsgXHJcbi8vICB9XHJcbiAucmlnaHRBcnJvd3tcclxuICAgIGZvbnQtc2l6ZTogNXB4OyBcclxuIH1cclxuLmZvbnRMYWJlbHtcclxuICAgIGZvbnQtc2l6ZTogMThweDsgXHJcbn1cclxuLndhcm5pbmdNc2cge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO2NvbG9yOiByZWQ7XHJcbn1cclxuLmZhLWFycm93LWRvd24sIC5mYS1hcnJvdy11cHtcclxuICAgIGZvbnQtc2l6ZTogMTBweFxyXG59XHJcbi5BZGRjb2xvciB7XHJcbiAgICBjb2xvcjogI2VmNTM1MCAhaW1wb3J0YW50IDtcclxuICAgIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50IDsgIFxyXG4gfVxyXG4gLnJlbW92ZUNvbG9yIHtcclxuICAgIGNvbG9yOiAjY2NjICFpbXBvcnRhbnQgO1xyXG4gICAgY3Vyc29yOiBub25lICFpbXBvcnRhbnQgO1xyXG4gfVxyXG5cclxuICIsIi5tdC0yMCB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi5idG4tbWFyZ2luIHtcbiAgbWFyZ2luLXRvcDogOXB4O1xuICBtYXJnaW4tbGVmdDogMnB4O1xufVxuXG4uYnRuLWRlZmF1bHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlOGViICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBibGFjaztcbn1cblxuLm9yZ0RldGFpbHMge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luOiAxMHB4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xufVxuXG4uaGlnaGxpZ2h0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRibHVlO1xufVxuXG4ucC10LTEwIHtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG59XG5cbnRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogc21hbGxlcjtcbn1cblxudGgsIHRkIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IHNtYWxsZXI7XG59XG5cbnRoIHtcbiAgY29sb3I6IHdoaXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDc0NzQ3O1xuICBoZWlnaHQ6IDM1cHg7XG4gIGZvbnQtc2l6ZTogMTNweDtcbn1cblxudGQge1xuICBoZWlnaHQ6IDM1cHg7XG4gIGZvbnQtc2l6ZTogMTNweDtcbn1cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xufVxuXG50YWJsZSwgdGgsIHRkIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2UxZTFlMTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xufVxuXG50YWJsZS5maXhlZCB7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XG59XG5cbnRhYmxlLmZpeGVkIHRkIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmhpZ2hsaWdodCB0ZCB7XG4gIGJhY2tncm91bmQ6ICNDMEMwQzA7XG59XG5cbi5yaWdodEFycm93IHtcbiAgZm9udC1zaXplOiA1cHg7XG59XG5cbi5mb250TGFiZWwge1xuICBmb250LXNpemU6IDE4cHg7XG59XG5cbi53YXJuaW5nTXNnIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogcmVkO1xufVxuXG4uZmEtYXJyb3ctZG93biwgLmZhLWFycm93LXVwIHtcbiAgZm9udC1zaXplOiAxMHB4O1xufVxuXG4uQWRkY29sb3Ige1xuICBjb2xvcjogI2VmNTM1MCAhaW1wb3J0YW50O1xuICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDtcbn1cblxuLnJlbW92ZUNvbG9yIHtcbiAgY29sb3I6ICNjY2MgIWltcG9ydGFudDtcbiAgY3Vyc29yOiBub25lICFpbXBvcnRhbnQ7XG59Il19 */\"","import { Component, OnInit, ViewChild, Inject } from '@angular/core';\nimport { DorseyService } from '../dorsey.service';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { LocalStorageService } from 'ngx-webstorage';\nimport { LoginComponent } from '../login/login.component';\nimport { OrganizationService } from '../services/organization.service'\nimport { CompanyDetails, OrganizationLicenseDetails } from './company.model';\nimport { CompanyService } from '../services/company.service';\nimport { MatSlideToggleChange, ThemePalette } from '@angular/material';\nimport { ValidationDialogComponent } from '../add-score-card/validation-dialog';\nimport { LocationStrategy } from '@angular/common';\nimport { copyRight } from '../copyRight.model';\n\n@Component({\n selector: 'app-company',\n templateUrl: './company.component.html',\n styleUrls: ['./company.component.scss'],\n providers: [DorseyService],\n\n})\n\nexport class CompanyComponent implements OnInit {\n isMainEntity: boolean;\n EnableSubCompanies: boolean = false;\n NoOfSubCompanies: number;\n EnableScoreCard: boolean = false;\n parentID: number;\n oldCompanyName: string = '';\n companDetails: CompanyDetails;\n companyData: Array = [];\n companyName: string = '';\n dataSelf = '';\n CompanyID: string;\n condition: boolean;\n searchtext: string = '';\n // p: number = 1;\n // rowsOnPage = 10;\n // rowsOnPageSet = [];\n // rowCount: any;\n // dynamicRows = 10;\n isDesc: boolean = false;\n column = '';\n direction: number;\n arrow = true;\n userVisible = false;\n // companyPaging = false;\n displayedColumns: string[] = ['position', 'name'];\n dataSource = new MatTableDataSource();\n saveFilter: Array = [];\n UserName: string;\n Password: string;\n isDisable = false;\n isSearchDisable = false;\n userData: any;\n userRoleData: any;\n UserID: string;\n currentUser: string;\n MenuPermissions: any;\n emailUnique: any;\n menuData: any;\n menuID: string;\n menuName: string;\n FirstName: string;\n LastName: string;\n adminUname = '';\n adminPwd = '';\n adminEmail: string;\n adminPassword: string;\n teamData: any;\n loginUsername: any;\n adminUserName = '';\n organizationId: number;\n userRoleName: string;\n organizationDetails: any;\n showSubEntities: boolean = false;\n parentCompanyId: number;\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n rolesData: any;\n isSuperAdmin: boolean = false;\n subEntityLevel: number = 0;\n currentRow: number;\n errorMessages: string[] = [];\n entityName: string;\n color: ThemePalette = 'primary';\n isCompanyLogin: boolean;\n isSubCompanyLogin: boolean;\n companiesCountForOrganization: number;\n licenseDetails: OrganizationLicenseDetails;\n\n constructor(private dorseyService: DorseyService,\n public dialog: MatDialog,\n private location: LocationStrategy,\n private storage: LocalStorageService,\n private login: LoginComponent,\n private organizationService: OrganizationService,\n private companyService: CompanyService) {\n this.currentUser = this.storage.retrieve('user');\n this.menuData = this.storage.retrieve('menuData');\n this.MenuPermissions = this.storage.retrieve('MenuPermissions');\n this.adminUserName = this.storage.retrieve('adminUname');\n this.adminEmail = this.storage.retrieve('username');\n this.adminPassword = this.storage.retrieve('password');\n this.loginUsername = this.storage.retrieve('loginUsername');\n this.isCompanyLogin = this.storage.retrieve(\"isCompanyLogin\");\n this.organizationDetails = this.storage.retrieve(\"OrganizationDetails\");\n this.CompanyID = this.storage.retrieve(\"companyID\");\n this.organizationId = this.organizationDetails.OrganizationId;\n this.isSubCompanyLogin = this.storage.retrieve(\"isSubCompanyLogin\");\n this.isSuperAdmin = this.organizationDetails.IsSuperAdmin;\n\n history.pushState(null, null, window.location.href);\n this.location.onPopState(() => {\n history.pushState(null, null, window.location.href);\n });\n }\n\n ngOnInit(): void {\n this.getCompaniesCountByOrganizationId();\n this.GetUsers();\n this.GetMenuMaster();\n this.GetTeam();\n if (this.menuData) {\n let tempdata = this.menuData;\n this.menuData = tempdata.find(x => x.MenuName.toString().toLowerCase() === 'company');\n if (this.menuData) {\n this.menuName = this.menuData[\"MenuName\"];\n this.menuID = this.menuData[\"MenuID\"];\n }\n }\n this.dataSource.paginator = this.paginator;\n if (this.isCompanyLogin) {\n this.getCompanyDetailsByCompanyId(Number(this.CompanyID));\n }\n else if (this.organizationId) {\n this.getCompanyDetailsByOrganizationId(this.organizationId);\n }\n\n }\n\n GetTeam() {\n if (this.CompanyID) {\n this.dorseyService.GetTeam(this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.teamData = subData;\n\n });\n }\n }\n\n GetMenuMaster() {\n this.dorseyService.GetMenuMaster().subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.menuData = subData;\n });\n }\n\n getCompanyDetailsByCompanyId(companyId: number): void {\n this.organizationService.getCompanyDetailsByCompanyId(companyId, this.organizationId).subscribe(resp => {\n this.companyData = resp.Data;\n // this.rowsOnPageSet = [];\n // this.dynamicRows = 10;\n if (this.companyData.length === 0) {\n // this.companyPaging = false;\n this.isDisable = true;\n this.isSearchDisable = true;\n }\n else {\n this.saveFilter = JSON.parse(JSON.stringify(this.companyData));\n // // this.companyPaging = true;\n this.isDisable = false;\n this.isSearchDisable = false;\n // this.rowCount = this.companyData.length;\n // this.dataSource = new MatTableDataSource(this.companyData);\n // while (this.dynamicRows < this.rowCount) {\n // this.rowsOnPageSet.push(this.dynamicRows);\n // this.dynamicRows = this.dynamicRows + 10;\n // }\n // if (!this.rowsOnPageSet.includes(this.rowCount))\n // this.rowsOnPageSet.push(this.rowCount);\n // if (this.rowsOnPageSet.length === 1) {\n // if (this.rowsOnPageSet[0] <= 10)\n // this.rowsOnPage = this.rowsOnPageSet[0];\n // }\n }\n });\n }\n\n getCompanyDetailsByOrganizationId(organizationId: number): void {\n this.organizationService.getCompanyDetailsByOrganizationId(organizationId).subscribe(resp => {\n this.companyData = resp.Data;\n // this.rowsOnPageSet = [];\n // this.dynamicRows = 10;\n if (this.companyData.length === 0) {\n // this.companyPaging = false;\n this.isDisable = true;\n this.isSearchDisable = true;\n }\n else {\n this.saveFilter = JSON.parse(JSON.stringify(this.companyData));\n // this.companyPaging = true;\n this.isDisable = false;\n this.isSearchDisable = false;\n // this.rowCount = this.companyData.length;\n // this.dataSource = new MatTableDataSource(this.companyData);\n // while (this.dynamicRows < this.rowCount) {\n // this.rowsOnPageSet.push(this.dynamicRows);\n // this.dynamicRows = this.dynamicRows + 10;\n // }\n // if (!this.rowsOnPageSet.includes(this.rowCount))\n // this.rowsOnPageSet.push(this.rowCount);\n // if (this.rowsOnPageSet.length === 1) {\n // if (this.rowsOnPageSet[0] <= 10)\n // this.rowsOnPage = this.rowsOnPageSet[0];\n // }\n }\n });\n }\n\n GetUsers() {\n this.dorseyService.GetUsersList().subscribe(users => {\n this.userData = JSON.parse(users['_body']);\n });\n }\n\n GetUserRoleAssignment() {\n this.dorseyService.GetUserRoleAssignment().subscribe(userRoles => {\n this.userRoleData = JSON.parse(userRoles['_body']);\n });\n }\n\n Searchtext() {\n this.companyData = this.saveFilter;\n let tempCompany = this.companyData.filter(\n (item) => {\n return (\n (item.CompanyName !== null && item.CompanyName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.Email !== null && item.Email.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.Phone1 !== null && item.Phone1.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1)\n );\n }\n\n );\n this.companyData = tempCompany;\n if (this.companyData.length == 0) {\n this.isDisable = true;\n } else {\n this.isDisable = false;\n }\n if (this.searchtext === '') {\n this.companyData = this.saveFilter;\n // this.dynamicRows = 10;\n // this.rowsOnPageSet = [];\n // this.rowCount = this.companyData.length;\n // while (this.dynamicRows < this.rowCount) {\n // this.rowsOnPageSet.push(this.dynamicRows);\n // this.dynamicRows = this.dynamicRows + 10;\n // }\n // if (!this.rowsOnPageSet.includes(this.rowCount))\n // this.rowsOnPageSet.push(this.rowCount);\n // if (this.rowsOnPageSet) {\n\n // this.rowsOnPage = this.rowsOnPageSet[0];\n // }\n this.isDisable = false;\n }\n //else {\n\n // this.rowCount = tempCompany.length;\n // this.dynamicRows = 10;\n // this.rowsOnPageSet = [];\n // while (this.dynamicRows < this.rowCount) {\n // this.rowsOnPageSet.push(this.dynamicRows);\n // this.dynamicRows = this.dynamicRows + 10;\n // }\n // if (!this.rowsOnPageSet.includes(this.rowCount)) {\n // this.rowsOnPageSet.push(this.rowCount);\n // if (this.rowsOnPageSet)\n // this.rowsOnPage = this.rowsOnPageSet[0];\n // }\n\n // if (this.rowsOnPageSet.length === 1) {\n // if (this.rowsOnPageSet[0] <= 10)\n // this.rowsOnPage = this.rowsOnPageSet[0];\n // }\n //}\n }\n\n exportAsXLSX() {\n let allData = JSON.parse(JSON.stringify(this.companyData));\n for (let i = 0; i < allData.length; i++) {\n allData[i].Company = allData[i].CompanyName;\n allData[i][\"Email \"] = allData[i].Email;\n allData[i].Phone = allData[i].Phone1;\n delete (allData[i].CompanyName);\n delete (allData[i].Phone1);\n delete (allData[i].Address1);\n delete (allData[i].Email);\n delete (allData[i].Address2);\n delete (allData[i].Country);\n delete (allData[i].CIty);\n delete (allData[i].State);\n delete (allData[i].Pincode);\n delete (allData[i].Phone1);\n delete (allData[i].Phone2);\n delete (allData[i].ParentID);\n delete (allData[i].CompanyID);\n delete (allData[i].UpdatedBy);\n delete (allData[i].UpdatedDate);\n delete (allData[i].CreatedBy);\n delete (allData[i].CreatedDate);\n delete (allData[i].IsActive);\n }\n this.dorseyService.generateExcel(allData, 'entity' + \"_\" + (new Date().getMonth() + 1) + '-' + new Date().getDate() + '-' + new Date().getFullYear(), 'Company', \"Company: \" + this.loginUsername, '', \"Company Report\", copyRight, 'FFFFFF00', 'FF0000FF');\n }\n\n enableScoreCardChange(event: MatSlideToggleChange, row): void {\n var msg = row.EnableScoreCard ? 'enable' : 'disable';\n const dialogRef = this.dialog.open(CompanyDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: 'Are you sure you want to ' + msg + ' score card for this entity: ' + row.CompanyName + '?æææ' + true,\n });\n dialogRef.afterClosed().subscribe(result => {\n this.companDetails = row;\n if (result) {\n this.companDetails.EnableScoreCard = event.checked;\n this.companyService.UpdateEnableScoreCard(this.companDetails).subscribe(resp => {\n if (resp.Data) {\n this.condition = false;\n this.dialogCall('Updated successfully');\n }\n });\n }\n else {\n this.companDetails.EnableScoreCard = !this.companDetails.EnableScoreCard;\n }\n });\n }\n\n getCompaniesCountByOrganizationId(): void {\n this.organizationService.getCompaniesCountByOrganizationId(this.organizationId).subscribe(resp => {\n this.licenseDetails = resp.Data[0];\n this.organizationService.totalLicenses.next(this.licenseDetails.NotUsedLicenses);\n this.organizationService.totalLicenses$ = this.organizationService.totalLicenses.asObservable();\n });\n }\n\n OpenCompany(): void {\n this.searchtext = '';\n this.errorMessages = [];\n this.organizationService.getCompaniesCountByOrganizationId(this.organizationId).subscribe(resp => {\n this.licenseDetails = resp.Data[0];\n\n if (this.licenseDetails.NotUsedLicenses <= 0) {\n this.errorMessages.push('Cannot create new entity as there are no licenses');\n this.dialog.open(ValidationDialogComponent, {\n data: {\n errorMessages: this.errorMessages\n }\n });\n return;\n }\n this.licenseDetails.NotUsedLicenses = this.licenseDetails.NotUsedLicenses - 1;\n this.organizationService.totalLicenses.next(this.licenseDetails.NotUsedLicenses);\n this.organizationService.totalLicenses$ = this.organizationService.totalLicenses.asObservable();\n this.companDetails = {\n CompanyID: 0,\n CompanyName: '',\n ParentID: null,\n Address1: '',\n Address2: '',\n Country: '',\n State: '',\n City: '',\n Pincode: '',\n Email: '',\n Phone1: '',\n Phone2: '',\n EnableScoreCard: false,\n EnableSubCompanies: false,\n NoOfSubCompanies: 0,\n OrganizationID: this.organizationId,\n UserID: 0,\n UserName: '',\n Password: '',\n FirstName: '',\n LastName: '',\n EmployeeID: 0,\n CreatedBy: this.currentUser,\n UpdatedBy: this.currentUser,\n RowID: 0,\n RoleID: 0\n }\n this.dialogCall('new');\n });\n\n }\n\n sort(property) {\n this.arrow = !this.arrow;\n this.isDesc = !this.isDesc; //change the direction\n this.column = property;\n this.direction = this.isDesc ? 1 : -1;\n }\n\n getSubCompaniesCountByCompanyId(companyId: number): void {\n if (companyId) {\n\n }\n }\n\n entityLicenses: number;\n subCompanyCount: number;\n remainingEntityLicenses: number;\n viewSubEntities(element): void {\n this.currentRow = element.CompanyID;\n this.parentCompanyId = element.CompanyID;\n this.subEntityLevel = this.subEntityLevel + 1;\n this.companyService.getSubCompaniesCountByCompanyId(element.CompanyID).subscribe(resp => {\n this.companyService.getSubCompanyDetailsByCompanyId(element.CompanyID).subscribe(resp1 => {\n var subEntitiesAlreadyAssigned = 0;\n if (resp1.Data) {\n resp1.Data.forEach(ent => {\n subEntitiesAlreadyAssigned = subEntitiesAlreadyAssigned + ent.NoOfSubCompanies;\n });\n }\n this.subCompanyCount = resp.Data + subEntitiesAlreadyAssigned;\n this.entityLicenses = element.NoOfSubCompanies;\n this.remainingEntityLicenses = this.entityLicenses - this.subCompanyCount;\n if (this.subEntityLevel > 1) {\n this.showSubEntities = false;\n this.entityName = '';\n setTimeout(() => {\n this.showSubEntities = true;\n this.entityName = element.CompanyName;\n }, 200);\n } else {\n this.showSubEntities = true;\n this.entityName = element.CompanyName;\n }\n });\n });\n }\n\n Navigate(element) {\n this.login.GetTeam(element.CompanyID);\n this.dorseyService.GetUsersList().subscribe(users => {\n this.userData = JSON.parse(users['_body']);\n let tempUser = this.userData.filter(x => x.CompanyID.toString() === element.CompanyID.toString() && x.EmployeeID.toString() === '0');\n this.login.GetUserRoleAssignment();\n this.storage.store(\"adminEmail\", this.adminEmail);\n this.storage.store(\"adminPassword\", this.adminPassword);\n this.storage.store(\"adminUserName\", this.adminUserName);\n this.storage.store(\"userData\", this.userData);\n this.storage.store(\"companyNavigate\", true);\n var loginLevel = this.storage.retrieve(\"loginLevel\");\n if (loginLevel) {\n this.storage.store(\"loginLevel\", loginLevel);\n }\n if (tempUser.length > 0) {\n this.login.LoginWithCompany(tempUser[0].UserName, tempUser[0].Password, true);\n }\n });\n }\n\n dialogCall(msg: string) {\n this.GetUsers();\n const dialogRef = this.dialog.open(CompanyDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: msg + 'æææ' + false,\n });\n dialogRef.componentInstance.companyData = this.companyData;\n dialogRef.componentInstance.companyDetails = this.companDetails;\n dialogRef.componentInstance.userListData = this.userData;\n dialogRef.componentInstance.currentUser = this.currentUser;\n dialogRef.componentInstance.isSuperAdmin = this.isSuperAdmin;\n dialogRef.componentInstance.entityLicenses = this.entityLicenses;\n dialogRef.componentInstance.licenseDetails = this.licenseDetails;\n\n if (msg == 'new') {\n this.searchtext = '';\n this.getCompanyDetailsByOrganizationId(this.organizationId);\n }\n if (msg === 'edit') {\n this.searchtext = '';\n }\n dialogRef.afterClosed().subscribe(result => {\n if (this.searchtext !== '' && this.searchtext !== undefined) {\n this.Searchtext();\n\n }\n else {\n this.getCompanyDetailsByOrganizationId(this.organizationId);\n }\n if (result && result.toString() === 'true') {\n let statusMsg = '';\n if (msg === 'new') {\n statusMsg = 'Saved successfully';\n }\n else {\n statusMsg = 'Updated successfully';\n }\n // this.dynamicRows = 10;\n const dialogRefsub = this.dialog.open(CompanyDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: statusMsg + 'æææ' + false,\n });\n setTimeout(() => {\n this.getCompanyDetailsByOrganizationId(this.organizationId);\n this.GetUsers();\n }, 500);\n\n\n dialogRefsub.afterClosed().subscribe(result1 => {\n\n this.getCompaniesCountByOrganizationId();\n if (this.searchtext !== '') {\n this.Searchtext();\n }\n else {\n this.getCompanyDetailsByOrganizationId(this.organizationId);\n this.GetUsers();\n }\n });\n } else {\n this.getCompaniesCountByOrganizationId();\n }\n });\n }\n\n EditCompany(companyRow) {\n this.companDetails = companyRow;\n this.entityLicenses = this.companDetails.NoOfSubCompanies;\n this.storage.store('CName', this.companDetails.CompanyName);\n this.dialogCall('edit');\n }\n\n // ifMaxRow() {\n // if (this.rowsOnPage == this.companyData.length) {\n // this.rowsOnPage = this.rowsOnPage - 1;\n // }\n // }\n\n DeleteCompany(element) {\n this.CompanyID = element.CompanyID;\n this.companyService.getSubCompaniesCountByCompanyId(element.CompanyID).subscribe(resp => {\n if (resp.Data > 0) {\n this.dialogCall(\"Delete Failed. This entity has sub entities\");\n return;\n } else {\n const dialogRef = this.dialog.open(CompanyDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: 'Are you sure you want to delete entity: ' + element.CompanyName + '?æææ' + true,\n });\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n this.companyService.deleteCompany(Number(this.CompanyID)).subscribe(resp => {\n if (resp.Data) {\n // this.ifMaxRow();\n this.condition = false;\n this.dialogCall('Deleted successfully');\n this.showSubEntities = false;\n }\n // this.dynamicRows = 10;\n // this.rowsOnPageSet = [];\n this.getCompanyDetailsByOrganizationId(this.organizationId);\n });\n }\n });\n }\n });\n }\n}\n\n@Component({\n selector: 'app-dialog',\n templateUrl: 'dialog.html',\n providers: [DorseyService],\n})\nexport class CompanyDialogComponent {\n public breakpoint: number; // Breakpoint observer code\n saveClick = false;\n CompanyID: number;\n dataSelf = '';\n condition: boolean;\n addCompany: string;\n companyData: Array = [];\n companyDetails: CompanyDetails;\n currentUser: string;\n userListData: any;\n userdata: any;\n oldCompanyName: string;\n btnDisabled = false;\n organizationID: number;\n parentID: number;\n isSuperAdmin: boolean;\n companiesCountForOrganization: number;\n licenseDetails: OrganizationLicenseDetails;\n organizationDetails: any;\n errorMessages: string[] = [];\n entityLicenses: number;\n remainingEntityLicenses: number;\n subEntityLicenses: number;\n existingLicenses: number;\n subCompanyCount: number = 0;\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any,\n public dorseyService: DorseyService,\n private storage: LocalStorageService,\n private organizationService: OrganizationService,\n private companyService: CompanyService,\n public dialog: MatDialog) {\n this.data = this.data.split('æææ');\n if (this.data[1] === 'true') {\n this.condition = true;\n } else {\n this.condition = false;\n }\n this.data = this.data[0];\n this.organizationDetails = this.storage.retrieve(\"OrganizationDetails\");\n }\n\n ngOnInit() {\n this.companyData = JSON.parse(JSON.stringify(this.companyData));\n if (this.data === 'new') {\n this.companyDetails.ParentID = this.CompanyID;\n }\n this.breakpoint = window.innerWidth <= 1000 ? 1 : 3;\n this.btnDisabled = this.isSuperAdmin ? true : false;\n if (this.data !== 'new') {\n this.getSubCompaniesCountByCompanyId();\n this.getCompaniesCountByOrganizationId();\n }\n }\n\n getCompaniesCountByOrganizationId(): void {\n this.organizationService.getCompaniesCountByOrganizationId(this.organizationDetails.OrganizationId).subscribe(resp => {\n this.licenseDetails = resp.Data[0];\n this.organizationService.totalLicenses.next(this.licenseDetails.NotUsedLicenses);\n this.organizationService.totalLicenses$ = this.organizationService.totalLicenses.asObservable();\n });\n }\n\n getSubCompaniesCountByCompanyId(): void {\n if (this.companyDetails) {\n this.companyService.getSubCompaniesCountByCompanyId(this.companyDetails.CompanyID).subscribe(resp => {\n this.subCompanyCount = resp.Data;\n });\n }\n }\n\n vaidateCompany(): void {\n\n\n this.btnDisabled = true;\n setTimeout(() => {\n this.btnDisabled = false;\n }, 1000);\n if (!this.companyDetails.FirstName.trim() ||\n !this.companyDetails.LastName.trim() ||\n !this.companyDetails.CompanyName.trim() ||\n !this.companyDetails.Address1.trim() ||\n !this.companyDetails.UserName.trim() ||\n !this.companyDetails.Country.trim() ||\n !this.companyDetails.State.trim() ||\n !this.companyDetails.City.trim() ||\n !this.companyDetails.Pincode ||\n !this.companyDetails.Phone1 ||\n !this.companyDetails.Password ||\n !this.companyDetails.Email ||\n (this.companyDetails.EnableSubCompanies &&\n this.companyDetails.NoOfSubCompanies === 0\n )) {\n this.dataSelf = 'Please enter mandatory(*) fields';\n return;\n }\n else {\n var mailformat = /^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/;\n if (!this.companyDetails.Email.match(mailformat)) {\n this.dataSelf = 'Please enter valid email';\n this.saveClick = false;\n return;\n }\n }\n //for main entity license validation\n if (this.licenseDetails && (!this.companyDetails.ParentID || this.companyDetails.ParentID === 0)) {\n if (this.data === 'new') {\n if (this.companyDetails.NoOfSubCompanies > this.licenseDetails.NotUsedLicenses) {\n this.dataSelf = 'Cannot provide sub entities as there are no Licenses';\n return;\n }\n this.dorseyService.GetUsersList().subscribe(users => {\n this.userListData = JSON.parse(users['_body']);\n this.saveCompany(this.data);\n });\n } else {\n this.companyService.getSubCompanyDetailsByCompanyId(this.companyDetails.CompanyID).subscribe(resp => {\n var subEntitiesAlreadyAssigned = 0;\n if (resp.Data) {\n resp.Data.forEach(ent => {\n subEntitiesAlreadyAssigned = subEntitiesAlreadyAssigned + ent.NoOfSubCompanies;\n });\n }\n var totalL = this.entityLicenses + this.licenseDetails.NotUsedLicenses;\n if (this.subCompanyCount + subEntitiesAlreadyAssigned > this.companyDetails.NoOfSubCompanies) {\n this.dataSelf = 'No. of sub entities cannot be less than already created sub entities';\n return;\n }\n else if (this.companyDetails.NoOfSubCompanies > totalL) {\n this.dataSelf = 'Cannot provide sub entities as there are no Licenses';\n return;\n }\n this.dorseyService.GetUsersList().subscribe(users => {\n this.userListData = JSON.parse(users['_body']);\n this.saveCompany(this.data);\n });\n });\n }\n } else { //for sub entity license validation\n\n if (this.data !== 'new') {\n this.companyService.getSubCompanyDetailsByCompanyId(this.companyDetails.CompanyID).subscribe(resp => {\n var subEntitiesAlreadyAssigned = 0;\n if (resp.Data) {\n resp.Data.forEach(ent => {\n subEntitiesAlreadyAssigned = subEntitiesAlreadyAssigned + ent.NoOfSubCompanies;\n });\n }\n\n if (this.subCompanyCount + subEntitiesAlreadyAssigned > this.companyDetails.NoOfSubCompanies) {\n this.dataSelf = 'No. of sub entities cannot be less than already created sub entities';\n return;\n } else if (this.companyDetails.NoOfSubCompanies > this.remainingEntityLicenses) {\n this.dataSelf = 'Cannot provide sub entities as there are no Licenses';\n return;\n }\n this.dorseyService.GetUsersList().subscribe(users => {\n this.userListData = JSON.parse(users['_body']);\n this.saveCompany(this.data);\n });\n });\n } else {\n if (this.companyDetails.NoOfSubCompanies > this.remainingEntityLicenses) {\n this.dataSelf = 'Cannot provide sub entities as there are no Licenses';\n return;\n }\n this.dorseyService.GetUsersList().subscribe(users => {\n this.userListData = JSON.parse(users['_body']);\n this.saveCompany(this.data);\n });\n }\n }\n }\n\n enableSubCompanies(event: MatSlideToggleChange, element: CompanyDetails): void {\n\n // if (element.EnableSubCompanies == false && this.subCompanyCount > 0) {\n // this.errorMessages.push('Cannot disable Sub Entites as there are already sub entites created for the entity: ' + element.CompanyName);\n // }\n // if (this.errorMessages.length != 0) {\n // this.dialog.open(ValidationDialogComponent, {\n // data: {\n // errorMessages: this.errorMessages\n // }\n // });\n // element.EnableSubCompanies = !event.checked;\n // this.companyDetails.EnableSubCompanies = !event.checked;\n // console.log(this.companyDetails)\n // return;\n // } else {\n // element.NoOfSubCompanies = element.EnableSubCompanies ? element.NoOfSubCompanies : 0;\n // }\n\n element.NoOfSubCompanies = element.EnableSubCompanies ? element.NoOfSubCompanies : 0;\n }\n\n saveCompany(msg: string) {\n if (this.companyDetails.Pincode.length < 5) {\n this.dataSelf = \"Zip code should be 5 digits\";\n this.saveClick = false;\n setTimeout(() => {\n this.dataSelf = \"\";\n }, 2000);\n return;\n }\n if (this.companyDetails.CompanyID) {\n this.companyDetails.UpdatedBy = this.currentUser;\n }\n if (msg === 'new') {\n if (this.companyData && this.companyData.find(ent => ent.CompanyName.toLowerCase().trim() == this.companyDetails.CompanyName.toLowerCase().trim())) {\n this.dataSelf = 'Entity name already exist';\n return;\n }\n if (this.userListData && this.userListData.find(ent => ent.UserName.toLowerCase().trim() == this.companyDetails.UserName.toLowerCase().trim())) {\n this.dataSelf = 'UserName already exist';\n return;\n }\n this.companyService.saveCompany(this.companyDetails).subscribe(resp => {\n if (resp.Data) {\n this.dataSelf = 'Saved successfully';\n setTimeout(() => {\n this.dataSelf = '';\n this.dorseyService.GetUsersList().subscribe(users => {\n this.userListData = JSON.parse(users['_body']);\n });\n }, 2000);\n this.dialogRef.close(true);\n } else {\n this.dataSelf = 'Save failed';\n }\n })\n } else {\n if (this.companyDetails.CompanyName.toLowerCase().trim() !== this.storage.retrieve('CName').toLowerCase().trim()) {\n var data = this.companyData.filter(ent => ent.CompanyName.toLowerCase().trim() != this.storage.retrieve('CName').toLowerCase().trim());\n if (data.find(ent => ent.CompanyName.toLowerCase().trim() == this.companyDetails.CompanyName.toLowerCase().trim())) {\n this.dataSelf = 'Entity name already exist';\n return;\n }\n }\n\n if (this.companyDetails.UserName !== this.storage.retrieve('Uname')) {\n this.userListData = this.userListData.filter(ent => ent.UserID !== this.companyDetails.UserID);\n if (this.userListData && this.userListData.find(ent => ent.UserName.toLowerCase().trim() == this.companyDetails.UserName.toLowerCase().trim())) {\n this.dataSelf = 'UserName already exist';\n return;\n }\n }\n this.companyService.saveCompany(this.companyDetails).subscribe(resp => {\n if (resp.Data === true) {\n this.organizationService.getCompaniesCountByOrganizationId(this.organizationDetails.OrganizationId).subscribe(resp => {\n this.licenseDetails = resp.Data[0];\n this.organizationService.totalLicenses.next(this.licenseDetails.NotUsedLicenses);\n this.organizationService.totalLicenses$ = this.organizationService.totalLicenses.asObservable();\n });\n this.dialogRef.close(true);\n } else {\n this.dataSelf = 'Updated successfully';\n }\n this.getCompaniesCountByOrganizationId();\n });\n }\n }\n\n clear(): void {\n this.dialogRef.close(false);\n }\n\n onResize(event) {\n this.breakpoint = (event.target.innerWidth <= 1000) ? 1 : 3;\n }\n onYesClick() {\n this.dialogRef.close(true);\n }\n onNoClick(): void {\n this.dialogRef.close();\n }\n\n keyPress(event: any) {\n const pattern = /[0-9\\+\\-\\ ]/;\n\n let inputChar = String.fromCharCode(event.charCode);\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\n event.preventDefault();\n }\n }\n\n isAlpha(evt) {\n var keyCode = (evt.which) ? evt.which : evt.keyCode\n if ((keyCode < 65 || keyCode > 90) && (keyCode < 97 || keyCode > 123) && keyCode != 32)\n return false;\n return true;\n }\n\n validatePhone(event: any) {\n if ((event.key) == \"Backspace\" || event.key == \"ArrowLeft\" || event.key == \"ArrowRight\") {\n return;\n } else {\n const regexpattern = '^[0-9]\\d*$';\n if (!event.key.match(regexpattern)) {\n event.preventDefault();\n }\n }\n\n }\n\n validateEmail(event: any) {\n var re = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n if (!this.companyDetails.Email) {\n if (event.keyCode == 32) {\n event.preventDefault();\n }\n }\n }\n\n validate() {\n this.dataSelf = '';\n if (this.storage.retrieve('CName'))\n if (this.companyDetails.CompanyName.toLowerCase().trim() !== this.storage.retrieve('CName').toLowerCase().trim()) {\n var data = this.companyData.filter(ent => ent.CompanyName.toLowerCase().trim() != this.storage.retrieve('CName').toLowerCase().trim());\n if (data.find(ent => ent.CompanyName.toLowerCase().trim() == this.companyDetails.CompanyName.toLowerCase().trim())) {\n this.dataSelf = 'Entity name already exist';\n return;\n }\n }\n }\n\n valZero() {\n var re = /^(?=.*\\d)(?=.*[1-9]).{1,16}$/;\n if (this.companyDetails.Phone1 !== '') {\n if (!this.companyDetails.Phone1.match(re)) {\n this.dataSelf = \"Phone number invalid\";\n this.saveClick = false;\n this.companyDetails.Phone1 = \"\";\n\n setTimeout(() => {\n this.dataSelf = \"\";\n }, 2000);\n }\n }\n if (this.companyDetails.Phone2 !== '') {\n if (!this.companyDetails.Phone2.match(re)) {\n this.dataSelf = \"Phone number invalid\";\n this.saveClick = false;\n this.companyDetails.Phone2 = \"\";\n setTimeout(() => {\n this.dataSelf = \"\";\n }, 2000);\n }\n }\n }\n}\n","export const copyRight = \"© 2022 The Dorsey Group, All rights reserved.\";","module.exports = \".dbHead {\\n display: flex;\\n justify-content: space-between;\\n margin-bottom: 10px;\\n}\\n\\n.card-body {\\n padding-left: 0;\\n}\\n\\n.squareInActvty {\\n padding: 0px;\\n background-color: #3775b5;\\n color: papayawhip;\\n text-align: center;\\n cursor: pointer;\\n border: 2px solid white;\\n border-radius: 5px;\\n font-size: 12px;\\n word-break: break-word;\\n min-height: 70px;\\n width: 100px;\\n box-shadow: 3px 3px 3px white;\\n font-family: unset;\\n font-size: 33px;\\n}\\n\\n.shadow {\\n box-shadow: 3px 3px 3px black;\\n background-color: white;\\n}\\n\\n/***************************For Mobile View*********************/\\n\\n@media (max-width: 576px) {\\n .dbHead {\\n display: flex;\\n flex-direction: column;\\n }\\n\\n .dbActions {\\n order: 1;\\n width: 100%;\\n }\\n\\n .dbActions button {\\n width: 96%;\\n margin: 0 2% 2% 2%;\\n }\\n\\n .dbName {\\n order: 2;\\n width: 100%;\\n }\\n}\\n\\n/***************************END For Mobile View*********************/\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZGFzaGJvYXJkL0Y6XFxOaWtpbCBXb3JrXFxQcm9qZWN0c1xcRG9yc2V5XFxIaWVyYXJjaHkgU291cmNlIENvZGVcXFdvcmtpbmdcXGRvcnNleUdyb3VwL3NyY1xcYXBwXFxkYXNoYm9hcmRcXGRhc2hib2FyZC5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvZGFzaGJvYXJkL2Rhc2hib2FyZC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGFBQUE7RUFDQSw4QkFBQTtFQUNBLG1CQUFBO0FDQ0Y7O0FERUE7RUFDRSxlQUFBO0FDQ0Y7O0FERUE7RUFDSSxZQUFBO0VBQ0EseUJBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZUFBQTtFQUNBLHVCQUFBO0VBQ0Esa0JBQUE7RUFDQSxlQUFBO0VBQ0Esc0JBQUE7RUFDQSxnQkFBQTtFQUNBLFlBQUE7RUFDQSw2QkFBQTtFQUNBLGtCQUFBO0VBQ0EsZUFBQTtBQ0NKOztBRENFO0VBQ0UsNkJBQUE7RUFFQSx1QkFBQTtBQ0NKOztBRGlCQSxnRUFBQTs7QUFFQTtFQUNFO0lBRUUsYUFBQTtJQUNBLHNCQUFBO0VDaEJGOztFRG1CQTtJQUNFLFFBQUE7SUFDQSxXQUFBO0VDaEJGOztFRG9CQTtJQUNFLFVBQUE7SUFDQSxrQkFBQTtFQ2pCRjs7RURvQkE7SUFDRSxRQUFBO0lBQ0EsV0FBQTtFQ2pCRjtBQUNGOztBRG1CQSxvRUFBQSIsImZpbGUiOiJzcmMvYXBwL2Rhc2hib2FyZC9kYXNoYm9hcmQuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuZGJIZWFke1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuXHJcbi5jYXJkLWJvZHl7XHJcbiAgcGFkZGluZy1sZWZ0OiAwO1xyXG59XHJcblxyXG4uc3F1YXJlSW5BY3R2dHkge1xyXG4gICAgcGFkZGluZzogMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzM3NzViNTtcclxuICAgIGNvbG9yOiBwYXBheWF3aGlwO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgd2hpdGU7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xyXG4gICAgbWluLWhlaWdodDogNzBweDtcclxuICAgIHdpZHRoOiAxMDBweDtcclxuICAgIGJveC1zaGFkb3c6IDNweCAzcHggM3B4IHdoaXRlO1xyXG4gICAgZm9udC1mYW1pbHk6IHVuc2V0O1xyXG4gICAgZm9udC1zaXplOiAzM3B4O1xyXG4gIH1cclxuICAuc2hhZG93IHtcclxuICAgIGJveC1zaGFkb3c6IDNweCAzcHggM3B4IGJsYWNrO1xyXG4gICAgLy8gYm9yZGVyOiAycHggc29saWQgIzA5MWEzZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG5cclxuICAgIC8vIHBhZGRpbmc6IDBweDtcclxuICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICN3aGl0ZTtcclxuICAgIC8vIGNvbG9yOiBwYXBheWF3aGlwO1xyXG4gICAgLy8gdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgLy8gY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgLy8gYm9yZGVyOiAycHggc29saWQgIzA5MWEzZTtcclxuICAgIC8vIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIC8vIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIC8vIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XHJcbiAgXHJcbiAgICAvLyBib3gtc2hhZG93OiAzcHggM3B4IDNweCAjMDkxYTNlO1xyXG4gICAgLy8gZm9udC1mYW1pbHk6IHVuc2V0O1xyXG4gICAgLy8gZm9udC1zaXplOiAzM3B4O1xyXG4gIFxyXG4gfVxyXG4gXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKipGb3IgTW9iaWxlIFZpZXcqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDo1NzZweCl7XHJcbiAgLmRiSGVhZHtcclxuICAgIFxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgfVxyXG5cclxuICAuZGJBY3Rpb25ze1xyXG4gICAgb3JkZXI6IDE7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIFxyXG4gIH1cclxuXHJcbiAgLmRiQWN0aW9ucyBidXR0b257XHJcbiAgICB3aWR0aDogOTYlO1xyXG4gICAgbWFyZ2luOiAwIDIlIDIlIDIlO1xyXG4gIH1cclxuXHJcbiAgLmRiTmFtZXtcclxuICAgIG9yZGVyOiAyO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG59XHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKipFTkQgRm9yIE1vYmlsZSBWaWV3KioqKioqKioqKioqKioqKioqKioqL1xyXG4iLCIuZGJIZWFkIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uY2FyZC1ib2R5IHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4uc3F1YXJlSW5BY3R2dHkge1xuICBwYWRkaW5nOiAwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNzc1YjU7XG4gIGNvbG9yOiBwYXBheWF3aGlwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyOiAycHggc29saWQgd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICBtaW4taGVpZ2h0OiA3MHB4O1xuICB3aWR0aDogMTAwcHg7XG4gIGJveC1zaGFkb3c6IDNweCAzcHggM3B4IHdoaXRlO1xuICBmb250LWZhbWlseTogdW5zZXQ7XG4gIGZvbnQtc2l6ZTogMzNweDtcbn1cblxuLnNoYWRvdyB7XG4gIGJveC1zaGFkb3c6IDNweCAzcHggM3B4IGJsYWNrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKkZvciBNb2JpbGUgVmlldyoqKioqKioqKioqKioqKioqKioqKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA1NzZweCkge1xuICAuZGJIZWFkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cblxuICAuZGJBY3Rpb25zIHtcbiAgICBvcmRlcjogMTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5kYkFjdGlvbnMgYnV0dG9uIHtcbiAgICB3aWR0aDogOTYlO1xuICAgIG1hcmdpbjogMCAyJSAyJSAyJTtcbiAgfVxuXG4gIC5kYk5hbWUge1xuICAgIG9yZGVyOiAyO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqRU5EIEZvciBNb2JpbGUgVmlldyoqKioqKioqKioqKioqKioqKioqKi8iXX0= */\"","import { Component, OnInit } from '@angular/core';\nimport { DorseyService } from '../dorsey.service';\nimport { LocalStorageService } from 'ngx-webstorage';\nimport { Router, ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'app-dashboard',\n templateUrl: './dashboard.component.html',\n styleUrls: ['./dashboard.component.scss']\n})\nexport class DashboardComponent implements OnInit {\n totalFrustations = [];\n totalFCount: any;\n processData = [];\n dashBoardJson = [];\n dashboard = false;\n dashboardMetric = false;\n dashboardProcess = false;\n dashboardProject = false;\n\n dashboardCat = false;\n dashboardMe = false;\n dashboardPr = false;\n dashboardPro = false;\n CompanyID: string;\n\n dashboardSeverity = false;\n id: any;\n\n dashboardTeam: any;\n dashboardTeamCat: any;\n dashboardTeamPr: any;\n dashboardTeamSeverity: any;\n dashboardTeamPro: any;\n teamData: any\n\n dashboardSev = false;\n constructor(private dorsey: DorseyService, private storage: LocalStorageService, private route: ActivatedRoute,\n private router: Router) {\n this.id = this.route.snapshot.paramMap.get('TeamID');\n this.dashboardTeam = this.id;\n this.dashboardTeamCat = this.id;\n this.dashboardTeamPr = this.id;\n this.dashboardTeamSeverity = this.id;\n this.dashboardTeamPro = this.id;\n\n\n this.storage.store(\"id\", this.id);\n\n }\n\n ngOnInit() {\n this.CompanyID = this.storage.retrieve('companyID');\n this.dorsey.GetPointer(this.CompanyID)\n .subscribe((pointer) => {\n this.totalFrustations = (JSON.parse(pointer['_body']));\n let frustrations;\n if (this.id !== 0) {\n frustrations = this.totalFrustations.filter(x => x.PointerTypeID === 1 && x.TeamID.toString() === this.id.toString());\n\n }\n else {\n frustrations = this.totalFrustations.filter(x => x.PointerTypeID === 1)\n }\n\n this.totalFCount = frustrations.length;\n this.dorsey.GetProcess(this.CompanyID).subscribe(subData => {\n\n this.processData = (JSON.parse(subData['_body']));\n if (this.processData.length < 1) {\n // return;\n }\n for (let j = 0; j < this.processData.length; j++) {\n let processCount = 0; let processName = this.processData[j]['ProcessName'];\n for (let i = 0; i < frustrations.length; i++) {\n\n if (this.processData[j]['ProcessID'] === frustrations[i]['ProcessID']) {\n processCount++;\n\n }\n\n }\n let json = {\n process: processName,\n Issues: processCount\n };\n this.dashBoardJson.push(json);\n this.dashBoardJson.sort(function (obj1, obj2) {\n\n return obj2.Issues - obj1.Issues;\n });\n }\n });\n });\n }\n\n GetProcess() {\n this.dorsey.GetProcess(this.CompanyID).subscribe(subData => {\n this.processData = JSON.parse(subData['_body']);\n });\n }\n\n\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2RlcGFydG1lbnRzL2RlcGFydG1lbnRzLmNvbXBvbmVudC5zY3NzIn0= */\"","import { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\nimport { LocalStorageService } from 'ngx-webstorage';\nimport { DorseyService } from '../dorsey.service';\nimport { DepartmentService } from '../services/department.service';\nimport { Department } from './department.model';\nimport { EmployeeLoginLevel } from '../common/models/login-level.model';\nimport { copyRight } from '../copyRight.model';\n\n@Component({\n selector: 'app-departments',\n templateUrl: './departments.component.html',\n styleUrls: ['./departments.component.scss']\n})\nexport class DepartmentsComponent implements OnInit {\n\n companyId: number;\n p: number = 1;\n rowsOnPage = 10;\n rowsOnPageSet = [];\n rowCount: any;\n dynamicRows = 10;\n MenuPermissions: any;\n menuData: any;\n menuID: string;\n menuName: string;\n DepartmentDescription: string;\n DepartmentName: string;\n DepartmentID: number;\n currentUser: string;\n departmentData: any;\n searchtext: string;\n DepartmentList: Array;\n isDisable = false;\n disableSearch = false;\n departmentPaging = false;\n editDepartmentName: string;\n saveFilter = [];\n column = \"\";\n direction: number;\n arrow = true;\n isDesc: boolean = false;\n loginCompanyName: any;\n condition: boolean;\n teamList: any;\n employeeLoginLevel = EmployeeLoginLevel;\n employeeDetails: any;\n constructor(public dialog: MatDialog,\n public departmentService: DepartmentService,\n private dorseyService: DorseyService,\n private storage: LocalStorageService) {\n this.currentUser = this.storage.retrieve('user');\n this.menuData = this.storage.retrieve('menuData');\n this.MenuPermissions = this.storage.retrieve('MenuPermissions');\n }\n\n ngOnInit(): void {\n this.companyId = this.storage.retrieve('companyID');\n this.loginCompanyName = this.storage.retrieve('loginCompanyName');\n\n this.employeeDetails = this.storage.retrieve('employeeDetails');\n this.menuData = this.menuData.filter(x => x.MenuName.toString().toLowerCase() === 'departments');\n if (this.menuData.length > 0) {\n this.menuName = this.menuData[0][\"MenuName\"];\n this.menuID = this.menuData[0][\"MenuID\"];\n }\n this.getDepartments();\n this.getTeams();\n }\n\n getTeams(): void {\n this.dorseyService.GetTeam(this.companyId.toString()).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.teamList = subData;\n });\n }\n getDepartments(): void {\n // this.DepartmentList = [];\n this.departmentService.getDepartments(this.companyId).subscribe(resp => {\n this.DepartmentList = resp.Data;\n if (this.DepartmentList.length === 0) {\n this.departmentPaging = false;\n this.isDisable = true;\n this.disableSearch = true;\n }\n else {\n if (this.employeeDetails) {\n if ((this.employeeDetails.IsEmployeeLoginLevel == this.employeeLoginLevel.Department) || (this.employeeDetails.IsEmployeeLoginLevel == this.employeeLoginLevel.Team)) {\n this.DepartmentList = this.DepartmentList.filter(ent => ent.DepartmentID === this.employeeDetails.DepartmentID);\n }\n else if (this.employeeDetails.IsEmployeeLoginLevel === this.employeeLoginLevel.Company) {\n this.DepartmentList = this.DepartmentList;\n }\n }\n this.saveFilter = JSON.parse(JSON.stringify(this.DepartmentList));\n this.rowCount = this.DepartmentList.length;\n this.departmentPaging = true;\n this.isDisable = false;\n this.disableSearch = false;\n this.departmentPagination(this.rowCount);\n }\n });\n }\n /*Set Pagination for departments */\n\n departmentPagination(RowCount): void {\n this.dynamicRows = 10;\n this.rowsOnPageSet = [];\n this.rowsOnPage = 10;\n this.rowCount = RowCount;\n while (this.dynamicRows < this.rowCount) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 10;\n }\n if (!this.rowsOnPageSet.includes(this.rowCount)) {\n this.rowsOnPageSet.push(this.rowCount);\n if (this.rowsOnPageSet.length === 1) {\n if (this.rowsOnPageSet[0] <= 10)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n }\n }\n /*\n Search Departments data\n */\n searchText(): void {\n this.DepartmentList = this.saveFilter;\n let tempListDepartments = this.DepartmentList.filter(\n (item) => {\n return (\n (item.DepartmentName !== null && this.searchtext && item.DepartmentName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.DepartmentDescription !== null && this.searchtext && item.DepartmentDescription.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1)\n );\n }\n );\n this.DepartmentList = tempListDepartments;\n if (this.DepartmentList.length == 0) {\n this.isDisable = true;\n } else {\n this.isDisable = false;\n }\n if (this.searchtext === '') {\n this.DepartmentList = this.saveFilter;\n this.rowCount = this.DepartmentList.length;\n this.isDisable = false;\n this.departmentPagination(this.rowCount);\n }\n else {\n this.rowCount = tempListDepartments.length;\n this.departmentPagination(this.rowCount);\n if (this.rowsOnPageSet.length === 1) {\n if (this.rowsOnPageSet[0] <= 10)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n }\n }\n\n sort(property): void {\n this.arrow = !this.arrow;\n this.isDesc = !this.isDesc; //change the direction\n this.column = property;\n this.direction = this.isDesc ? 1 : -1;\n }\n\n newDepartment(): void {\n this.dialogCall('new');\n }\n\n /*\n Dialog open\n */\n dialogCall(msg: string): void {\n const dialogRef = this.dialog.open(DepartmentDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: msg + 'æææ' + false,\n });\n\n dialogRef.componentInstance.currentUser = this.currentUser;\n dialogRef.componentInstance.DepartmentList = this.DepartmentList;\n dialogRef.componentInstance.companyId = this.companyId;\n if (msg === 'new') {\n this.searchtext = '';\n this.getDepartments();\n }\n if (msg === 'edit') {\n dialogRef.componentInstance.DepartmentName = this.DepartmentName;\n dialogRef.componentInstance.DepartmentDescription = this.DepartmentDescription;\n dialogRef.componentInstance.DepartmentID = this.DepartmentID;\n dialogRef.componentInstance.editDepartmentName = this.editDepartmentName;\n //dialogRef.componentInstance.inUse = this.inUse;\n }\n dialogRef.afterClosed().subscribe(result => {\n if (this.searchtext !== '' && this.searchtext !== undefined) {\n this.searchText();\n }\n else {\n this.getDepartments();\n }\n if (result.toString() === 'true') {\n let statusMsg = '';\n if (msg === 'new') {\n statusMsg = 'Saved successfully';\n }\n else {\n statusMsg = 'Updated successfully';\n }\n this.getDepartments();\n\n const dialogRefsub = this.dialog.open(DepartmentDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: statusMsg + 'æææ' + false,\n // width: '30%'\n });\n setTimeout(() => {\n this.getDepartments();\n }, 500);\n dialogRefsub.afterClosed().subscribe(result1 => {\n this.dynamicRows = 10;\n if (this.searchtext !== '' && this.searchtext !== undefined) {\n this.searchText();\n }\n else {\n this.getDepartments();\n }\n });\n }\n });\n }\n\n /*\n Edit department\n */\n editDepartment(departmentRow): void {\n this.DepartmentID = departmentRow.DepartmentID;\n this.DepartmentName = departmentRow.DepartmentName;\n this.editDepartmentName = departmentRow.DepartmentName;\n this.DepartmentDescription = departmentRow.DepartmentDescription;\n this.companyId = departmentRow.CompanyID;\n this.dialogCall('edit');\n }\n\n ifMaxRow(): void {\n if (this.rowsOnPage == this.DepartmentList.length) {\n this.rowsOnPage = this.rowsOnPage - 1;\n }\n }\n\n /*\n Delete Department\n */\n deleteDepartment(departmentRow: any): void {\n this.DepartmentID = departmentRow.DepartmentID;\n const dialogRef = this.dialog.open(DepartmentDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: 'Are you sure you want to delete department: ' + departmentRow.DepartmentName + '?æææ' + true,\n\n });\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n if (!this.teamList.find(ent => ent.DepartmentID == this.DepartmentID)) {\n this.departmentService.deleteDepartment(this.DepartmentID).subscribe(resp => {\n if (resp.Data) {\n this.ifMaxRow();\n this.condition = true;\n this.dialogCall('Deleted successfully');\n this.DepartmentList = [];\n this.getDepartments();\n } else {\n this.dialogCall('Delete Failed');\n }\n this.dynamicRows = 10;\n this.rowsOnPageSet = [];\n });\n } else {\n this.dialogCall(\"Delete Failed. This department is associated with Teams\");\n }\n\n }\n });\n }\n\n exportAsXLSX(): void {\n let allData = JSON.parse(JSON.stringify(this.DepartmentList));\n for (let i = 0; i < allData.length; i++) {\n allData[i][\"Department Name\"] = allData[i].DepartmentName;\n allData[i][\"Description\"] = allData[i].DepartmentDescription;\n delete (allData[i].DepartmentID);\n delete (allData[i].DepartmentName);\n delete (allData[i].DepartmentDescription);\n delete (allData[i].CreatedDate);\n delete (allData[i].CreatedBy);\n delete (allData[i].UpdatedDate);\n delete (allData[i].UpdatedBy);\n delete (allData[i].IsActive);\n delete (allData[i].CompanyID);\n }\n this.dorseyService.generateExcel(allData, this.loginCompanyName + '_Departments' + \"_\" + (new Date().getMonth() + 1) + '-' + new Date().getDate() + '-' + new Date().getFullYear(), 'Departments', \"Company: \" + this.loginCompanyName, '', \"Departments Report\", copyRight, 'FFFFFF00', 'FF0000FF');\n }\n}\n\n@Component({\n selector: 'app-dialog',\n templateUrl: 'dialog.html'\n})\nexport class DepartmentDialogComponent implements OnInit {\n condition = false;\n dataSelf: string;\n DepartmentName: string;\n DepartmentID: number;\n companyId: number;\n currentUser: string;\n DepartmentDescription: string;\n btnDisabled = false;\n DepartmentList: Array;\n editDepartmentName: string;\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any, public departmentService: DepartmentService) {\n this.data = this.data.split('æææ');\n if (this.data[1] === 'true') {\n this.condition = true;\n } else {\n this.condition = false;\n }\n this.data = this.data[0];\n }\n\n ngOnInit(): void {\n }\n\n onYesClick(): void {\n this.dialogRef.close(true);\n }\n\n onNoClick(): void {\n this.dialogRef.close();\n }\n\n validateDepartment(): void {\n this.dataSelf = '';\n if (!this.DepartmentName.trim()) {\n this.dataSelf = 'Please enter mandatory(*) fields';\n return;\n }\n this.saveDepartment(this.data);\n }\n\n saveDepartment(msg: string): void {\n const entity = {\n DepartmentName: this.DepartmentName,\n CreatedBy: this.currentUser,\n DepartmentID: this.DepartmentID,\n CompanyID: this.companyId,\n UpdatedBy: this.currentUser,\n DepartmentDescription: this.DepartmentDescription\n };\n if (msg === 'new') {\n\n if (this.DepartmentList.find(ent => ent.DepartmentName.toLowerCase().trim() == this.DepartmentName.toLowerCase().trim())) {\n this.dataSelf = \"Department name already exists\";\n return;\n }\n this.departmentService.saveDepartment(entity).subscribe(resp => {\n if (resp.Data === true) {\n this.dataSelf = 'Saved successfully';\n this.DepartmentName = '';\n this.DepartmentDescription = '';\n this.DepartmentList.push(entity);\n setTimeout(() => {\n this.dataSelf = '';\n }, 2000);\n } else {\n this.dataSelf = 'Save failed';\n }\n });\n } else {\n if (this.editDepartmentName != this.DepartmentName)\n if (this.DepartmentList.find(ent => ent.DepartmentName.toLowerCase().trim() == this.DepartmentName.toLowerCase().trim())) {\n this.dataSelf = \"Department name already exists\";\n return;\n }\n this.departmentService.saveDepartment(entity).subscribe(resp => {\n if (resp.Data === true) {\n this.dialogRef.close(true);\n } else {\n this.dataSelf = 'Updated successfully';\n }\n });\n }\n }\n\n\n Clear() {\n this.dialogRef.close(false);\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { Http, Headers, URLSearchParams } from '@angular/http';\nimport * as FileSaver from 'file-saver';\nimport * as XLSX from 'xlsx';\nimport { Workbook } from 'exceljs';\nimport * as fs from 'file-saver';\nimport { environment } from 'src/environments/environment';\nconst EXCEL_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';\nconst EXCEL_EXTENSION = '.rsxlsx';\n@Injectable({\n providedIn: 'root'\n})\nexport class DorseyService {\n teamData: any;\n tempData: any;\n TeamName: any;\n private httpUrl: string = environment.API_URL;\n // httpUrl = 'https://www.tdgdm.com/DorseyAPI/api/' ;\n // httpUrl='http://42.104.96.36:6005/api/';\n // httpUrl = 'http://localhost:52718/api/';\n // httpUrl='http://192.168.1.20:8005/api/';\n // httpUrl='http://192.168.1.20:6005/api/';\n\n constructor(private http: Http) {\n\n }\n\n public generateExcelForScoreCard(allData, filename, sheetname, title, title1, title2, copyRight, headerForeColor?, headerBgColor?) {\n const header = [];\n var data = [];\n if (allData.length > 0) {\n var columnsIn = allData[0];\n for (var key in columnsIn) {\n header.push(key);\n }\n for (let i = 0; i < allData.length; i++) {\n var columnsIn = allData[i];\n var innerData = [];\n for (var val in columnsIn) {\n innerData.push(allData[i][val] != undefined ? allData[i][val] : '');\n }\n data.push(innerData);\n }\n }\n let workbook = new Workbook();\n let worksheet = workbook.addWorksheet(sheetname);\n if (title != '') {\n let titleRow = worksheet.addRow([title]);\n if (title1 != '') {\n let titleRow1 = worksheet.addRow([title1]);\n titleRow1.font = { name: 'Calibri', family: 4, size: 16, underline: 'double', bold: true }\n }\n let titleRow2 = worksheet.addRow([title2]);\n titleRow.font = { name: 'Calibri', family: 4, size: 16, underline: 'double', bold: true }\n titleRow2.font = { name: 'Calibri', family: 4, size: 16, underline: 'double', bold: true }\n worksheet.addRow([]);\n worksheet.addRow([]);\n }\n let headerRow = worksheet.addRow(header);\n headerRow.eachCell((cell, number) => {\n cell.fill = {\n type: 'pattern',\n pattern: 'solid',\n fgColor: { argb: headerForeColor },\n bgColor: { argb: headerBgColor }\n }\n cell.border = { top: { style: 'thin' }, left: { style: 'thin' }, bottom: { style: 'thin' }, right: { style: 'thin' } }\n })\n // for (let i = 0; i < allData.length; i++) {\n // let row = worksheet.addRow(data[i]);\n // row.eachCell((cell, number) => {\n // cell.border = { top: { style: 'thin' }, left: { style: 'thin' }, bottom: { style: 'thin' }, right: { style: 'thin' } }\n // cell.alignment = { horizontal: \"left\", wrapText: true };\n // var cellBgColor = this.myStyleWeek(data[i], i);\n // console.log(\"Background color: \", cellBgColor);\n // cell.fill = {\n // type: 'pattern',\n // pattern: 'solid',\n // fgColor: { argb: 'black' },\n // bgColor: { argb: cellBgColor['background-color'] }\n // }\n // })\n // for (let i = 1; i <= row.cellCount; i++) {\n // worksheet.getColumn(i).width = 35;\n // }\n // }\n\n data.forEach(d => {\n let row = worksheet.addRow(d);\n row.eachCell((cell, number) => {\n cell.border = { top: { style: 'thin' }, left: { style: 'thin' }, bottom: { style: 'thin' }, right: { style: 'thin' } }\n cell.alignment = { horizontal: \"left\", wrapText: true };\n cell.fill = {\n type: 'pattern',\n pattern: 'solid',\n fgColor: { argb: headerForeColor },\n bgColor: { argb: headerBgColor }\n }\n })\n for (let i = 1; i <= row.cellCount; i++) {\n worksheet.getColumn(i).width = 35;\n }\n });\n\n worksheet.addRow([]);\n let copyrt = worksheet.addRow([copyRight]);\n copyrt.font = { name: 'Calibri', family: 4, size: 10, bold: false }\n\n workbook.xlsx.writeBuffer().then((data) => {\n let blob = new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\n fs.saveAs(blob, filename + '.xlsx');\n })\n\n }\n\n\n public generateExcel(allData, filename, sheetname, title, title1, title2, copyRight, headerForeColor?, headerBgColor?) {\n const header = [];\n const data = [];\n if (allData.length > 0) {\n var columnsIn = allData[0];\n for (var key in columnsIn) {\n header.push(key);\n }\n for (let i = 0; i < allData.length; i++) {\n var columnsIn = allData[i];\n var innerData = [];\n for (var val in columnsIn) {\n innerData.push(allData[i][val] != undefined ? allData[i][val] : '');\n }\n data.push(innerData);\n }\n }\n\n let workbook = new Workbook();\n let worksheet = workbook.addWorksheet(sheetname);\n if (title != '') {\n let titleRow = worksheet.addRow([title]);\n if (title1 != '') {\n let titleRow1 = worksheet.addRow([title1]);\n titleRow1.font = { name: 'Calibri', family: 4, size: 16, underline: 'double', bold: true }\n }\n\n let titleRow2 = worksheet.addRow([title2]);\n titleRow.font = { name: 'Calibri', family: 4, size: 16, underline: 'double', bold: true }\n\n titleRow2.font = { name: 'Calibri', family: 4, size: 16, underline: 'double', bold: true }\n\n\n worksheet.addRow([]);\n worksheet.addRow([]);\n\n }\n\n let headerRow = worksheet.addRow(header);\n\n headerRow.eachCell((cell, number) => {\n cell.fill = {\n type: 'pattern',\n pattern: 'solid',\n fgColor: { argb: headerForeColor },\n bgColor: { argb: headerBgColor }\n // fgColor: { argb: 'FFFFFF00' },\n // bgColor: { argb: 'FF0000FF' }\n }\n cell.border = { top: { style: 'thin' }, left: { style: 'thin' }, bottom: { style: 'thin' }, right: { style: 'thin' } }\n })\n\n data.forEach(d => {\n let row = worksheet.addRow(d);\n row.eachCell((cell, number) => {\n cell.border = { top: { style: 'thin' }, left: { style: 'thin' }, bottom: { style: 'thin' }, right: { style: 'thin' } }\n cell.alignment = { horizontal: \"left\", wrapText: true };\n })\n for (let i = 1; i <= row.cellCount; i++) {\n worksheet.getColumn(i).width = 35;\n }\n });\n\n worksheet.addRow([]);\n let copyrt = worksheet.addRow([copyRight]);\n copyrt.font = { name: 'Calibri', family: 4, size: 10, bold: false }\n\n workbook.xlsx.writeBuffer().then((data) => {\n let blob = new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\n fs.saveAs(blob, filename + '.xlsx');\n })\n\n }\n\n\n public generateReportExcel(allData1, allData, image, filename, sheetname, title, title1, title2, copyRight, headerForeColor?, headerBgColor?) {\n const header = [];\n const data = [];\n if (allData.length > 0) {\n var columnsIn = allData[0];\n for (var key in columnsIn) {\n header.push(key);\n }\n for (let i = 0; i < allData.length; i++) {\n var columnsIn = allData[i];\n var innerData = [];\n for (var val in columnsIn) {\n innerData.push(allData[i][val] != undefined ? allData[i][val] : '');\n }\n data.push(innerData);\n }\n }\n\n const header1 = [];\n\n var innerData1 = [];\n const data1 = [];\n if (allData1.length > 0) {\n // var columnsIn = allData1[0];\n // console.log(columnsIn);\n // for (var key in columnsIn) {\n // console.log(columnsIn[key]);\n // header1.push(key);\n // }\n let total = 0;\n for (let i = 0; i < allData1.length; i++) {\n total = total + allData1[i].value;\n }\n header1.push('Total');\n innerData1.push(total);\n for (let i = 0; i < allData1.length; i++) {\n var columnsIn = allData1[i];\n\n var valuesData = [];\n // for (var val in columnsIn) {\n\n header1.push(allData1[i].label);\n innerData1.push(allData1[i].value);\n //innerData.push(allData1[i].label != undefined ? allData1[i].label : '');\n // valuesData.push(allData1[i].value != undefined ? allData1[i].value : '');\n // }\n // data1.push(innerData1);\n // data1.push(valuesData);\n }\n\n }\n\n let workbook = new Workbook();\n let worksheet = workbook.addWorksheet(sheetname);\n if (title != '') {\n let titleRow = worksheet.addRow([title]);\n if (title1 != '') {\n let titleRow1 = worksheet.addRow([title1]);\n titleRow1.font = { name: 'Calibri', family: 4, size: 16, underline: 'double', bold: true }\n }\n\n let titleRow2 = worksheet.addRow([title2]);\n titleRow.font = { name: 'Calibri', family: 4, size: 16, underline: 'double', bold: true }\n\n titleRow2.font = { name: 'Calibri', family: 4, size: 16, underline: 'double', bold: true }\n\n\n worksheet.addRow([]);\n worksheet.addRow([]);\n\n }\n\n\n\n let headeRow1COlor = '000000';\n\n\n let headerRow1 = worksheet.addRow(header1);\n let headerRow2 = worksheet.addRow(innerData1);\n worksheet.addRow([]);\n worksheet.addRow([]);\n let logo = workbook.addImage({\n base64: image,\n extension: 'png',\n });\n\n worksheet.addImage(logo, 'B10:D20');\n worksheet.addRow([]);\n worksheet.addRow([]);\n worksheet.addRow([]);\n worksheet.addRow([]);\n worksheet.addRow([]);\n worksheet.addRow([]);\n worksheet.addRow([]);\n worksheet.addRow([]);\n worksheet.addRow([]);\n worksheet.addRow([]);\n worksheet.addRow([]);\n worksheet.addRow([]);\n worksheet.addRow([]);\n worksheet.mergeCells('A10:F24');\n\n let headerRow = worksheet.addRow(header);\n\n headerRow1.eachCell((cell, number) => {\n cell.fill = {\n type: 'pattern',\n pattern: 'solid',\n fgColor: { argb: headerForeColor },\n bgColor: { argb: headerBgColor },\n\n // fgColor: { argb: 'FFFFFF00' },\n // bgColor: { argb: 'FF0000FF' }\n }\n cell.alignment = { vertical: \"middle\", horizontal: \"center\", wrapText: true };\n cell.border = { top: { style: 'thin' }, left: { style: 'thin' }, bottom: { style: 'thin' }, right: { style: 'thin' } }\n })\n\n headerRow2.eachCell((cell, number) => {\n cell.fill = {\n type: 'pattern',\n pattern: 'solid',\n fgColor: { argb: headerForeColor },\n bgColor: { argb: headerBgColor }\n // fgColor: { argb: 'FFFFFF00' },\n // bgColor: { argb: 'FF0000FF' }\n }\n cell.alignment = { vertical: \"middle\", horizontal: \"center\" };\n cell.border = { top: { style: 'thin' }, left: { style: 'thin' }, bottom: { style: 'thin' }, right: { style: 'thin' } }\n })\n\n\n headerRow.eachCell((cell, number) => {\n cell.fill = {\n type: 'pattern',\n pattern: 'solid',\n fgColor: { argb: headerForeColor },\n bgColor: { argb: headerBgColor }\n // fgColor: { argb: 'FFFFFF00' },\n // bgColor: { argb: 'FF0000FF' }\n }\n cell.border = { top: { style: 'thin' }, left: { style: 'thin' }, bottom: { style: 'thin' }, right: { style: 'thin' } }\n })\n\n data.forEach(d => {\n let row = worksheet.addRow(d);\n row.eachCell((cell, number) => {\n\n cell.border = { top: { style: 'thin' }, left: { style: 'thin' }, bottom: { style: 'thin' }, right: { style: 'thin' } }\n // cell.alignment = { wrapText: true };\n cell.alignment = { horizontal: \"left\", wrapText: true };\n\n })\n if (row.cellCount > allData1.length) {\n for (let i = 1; i <= row.cellCount; i++) {\n worksheet.getColumn(i).width = 35;\n }\n } else {\n for (let i = 1; i <= allData1.length; i++) {\n worksheet.getColumn(i).width = 35;\n }\n }\n\n });\n data1.forEach(d => {\n let row1 = worksheet.addRow(d);\n row1.eachCell((cell, number) => {\n cell.border = { top: { style: 'thin' }, left: { style: 'thin' }, bottom: { style: 'thin' }, right: { style: 'thin' } }\n cell.alignment = { wrapText: true };\n\n })\n for (let i = 1; i <= row1.cellCount; i++) {\n worksheet.getColumn(i).width = 35;\n }\n });\n\n\n worksheet.addRow([]);\n let copyrt = worksheet.addRow([copyRight]);\n copyrt.font = { name: 'Calibri', family: 4, size: 10, bold: false }\n\n workbook.xlsx.writeBuffer().then((data) => {\n let blob = new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\n fs.saveAs(blob, filename + '.xlsx');\n })\n\n }\n\n public exportAsExcelFile(json: any[], excelFileName: string): void {\n const title = 'Car Sell Report';\n\n const worksheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet(json);\n // this.wrapAndCenterCell(worksheet.A1);\n let jsonsheet = {};\n jsonsheet[excelFileName] = worksheet;\n const titile = \"Swathi\";\n const workbook: XLSX.WorkBook = { Sheets: jsonsheet, SheetNames: [excelFileName] };\n\n this.wrapAndCenterCell(worksheet.A1);\n\n // if(!worksheet.A1.c) worksheet.A1.c = [];\n // worksheet.A1.c.push({w:\"SheetJS\", t:\"I'm a little comment, short and stout!\"});\n // worksheet['A2'].l = { Target:\"#E2\" }; /* link to cell E2 */\n // console.log(worksheet);\n // if(!workbook.Props) workbook.Props = {};\n // workbook.Props.Title = \"Insert Title Here\";\n // let headerRow = worksheet.addRow(\"Swathi\");\n // // Cell Style : Fill and Border\n // headerRow.eachCell((cell, number) => {\n // cell.fill = {\n // type: 'pattern',\n // pattern: 'solid',\n // fgColor: { argb: 'FFFFFF00' },\n // bgColor: { argb: 'FF0000FF' }\n // }\n // cell.border = { top: { style: 'thin' }, left: { style: 'thin' }, bottom: { style: 'thin' }, right: { style: 'thin' } }\n // })\n //worksheet.getColumn(3).width = 15;\n const excelBuffer: any = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });\n // const excelBuffer: any = XLSX.write(workbook, { bookType: 'xlsx', type: 'buffer' });\n this.saveAsExcelFile(excelBuffer, excelFileName);\n }\n\n private wrapAndCenterCell(cell: XLSX.CellObject) {\n const wrapAndCenterCellStyle = { font: { bold: true } };\n this.setCellStyle(cell, wrapAndCenterCellStyle);\n }\n\n private setCellStyle(cell, style: {}) {\n cell.s = style;\n\n\n }\n\n // private wrapAndCenterCell(cell: XLSX.CellObject) {\n // const wrapAndCenterCellStyle = { alignment: { wrapText: true, vertical: 'center', horizontal: 'center',italic:true } };\n // this.setCellStyle(cell, wrapAndCenterCellStyle);\n // }\n\n // private setCellStyle(cell: XLSX.CellObject, style: {}) {\n // cell.s = style;\n\n // console.log(style);\n // }\n\n private saveAsExcelFile(buffer: any, fileName: string): void {\n const data: Blob = new Blob([buffer], {\n type: EXCEL_TYPE\n });\n FileSaver.saveAs(data, fileName + \"_\" + (new Date().getMonth() + 1) + '-' + new Date().getDate() + '-' + new Date().getFullYear() + EXCEL_EXTENSION);\n }\n\n public GetCompanyData() {\n const Weburl = this.httpUrl + 'Dorsey/GetCompanyDetails';\n return this.FetchData(Weburl);\n }\n\n FetchData(Weburl: string) {\n const params = new URLSearchParams();\n return this.http.get(Weburl, { search: params });\n }\n // posting the data to the respected Weburl\n // PostData(Weburl: string) {\n // const headers = new Headers();\n // headers.append('Content-Type', 'application/x-www-form-urlencoded');\n // return this.http.post(Weburl, {}, { headers: headers });\n // }\n PostData(Weburl: string, body: any) {\n const headers = new Headers();\n headers.append('Content-Type', 'application/x-www-form-urlencoded');\n return this.http.post(Weburl, JSON.stringify(body), { headers: headers });\n }\n SaveCompany(body: any) {\n const Weburl = this.httpUrl + 'Dorsey/SaveCompany';\n return this.PostData(Weburl, body);\n }\n\n Export(body: any, fileName: string, companyName: string, pageName: string) {\n const Weburl = this.httpUrl + 'Dorsey/ExportAsExcel?FileName=' + fileName + '&CompnayName=' + companyName + '&pageName=' + pageName;\n return this.PostData(Weburl, body);\n }\n\n DownloadPdfFile(fileName: string, filePath: string) {\n const Weburl = this.httpUrl + 'Dorsey/DownloadPdfFile?fileName=' + fileName + '&filePath=' + filePath;\n return this.FetchData(Weburl);\n }\n\n\n\n public DeleteCompany(companyID: string) {\n const Weburl = this.httpUrl + 'Dorsey/DeleteCompany?CompanyID=' + companyID;\n return this.FetchData(Weburl);\n }\n\n SaveProcess(body: any, Isversionize: string) {\n const Weburl = this.httpUrl + 'Dorsey/SaveProcess?isVersioning=' + Isversionize;\n return this.PostData(Weburl, body);\n }\n // http://localhost:56083/api/Sample/GetSample\n public GetProcess(CompanyID: string) {\n const Weburl = this.httpUrl + 'Dorsey/GetProcess?CompanyID=' + CompanyID;\n return this.FetchData(Weburl);\n }\n\n public DeleteProcess(processID: string, CompanyID: string, TeamID: number, squence: number) {\n const Weburl = this.httpUrl + 'Dorsey/DeleteProcess?ProcessID=' + processID + '&CompanyID=' + CompanyID + '&TeamID=' + TeamID + '&squence=' + squence;\n return this.FetchData(Weburl);\n }\n\n // public DeleteProcess(processID: string) {\n // const Weburl = this.httpUrl + 'Dorsey/DeleteProcess?ProcessID=' + processID;\n // return this.FetchData(Weburl);\n // }\n SaveEmployee(body: any) {\n const Weburl = this.httpUrl + 'Dorsey/SaveEmployee';\n return this.PostData(Weburl, body);\n }\n\n public GetEmployee(CompanyID: string) {\n const Weburl = this.httpUrl + 'Dorsey/GetEmployee?CompanyID=' + CompanyID;\n return this.FetchData(Weburl);\n }\n public GetCompanyRoleID(CompanyID: string) {\n const Weburl = this.httpUrl + 'Dorsey/GetCompanyRole?CompanyID=' + CompanyID;\n return this.FetchData(Weburl);\n }\n\n public DeleteEmployee(EmployeeID: string) {\n const Weburl = this.httpUrl + 'Dorsey/DeleteEmployee?EmployeeID=' + EmployeeID;\n return this.FetchData(Weburl);\n }\n\n public GetRoles(companyID) {\n const Weburl = this.httpUrl + 'Dorsey/GetRoles?companyID=' + companyID;\n return this.FetchData(Weburl);\n }\n\n public GetDesignation() {\n const Weburl = this.httpUrl + 'Dorsey/GetDesignation';\n return this.FetchData(Weburl);\n }\n\n public GetDepartment() {\n const Weburl = this.httpUrl + 'Dorsey/GetDepartment';\n return this.FetchData(Weburl);\n }\n\n SaveActivity(body: any, Isversionize: string) {\n const Weburl = this.httpUrl + 'Dorsey/SaveActivity?isVersioning=' + Isversionize;\n return this.PostData(Weburl, body);\n }\n\n public GetActivity(CompanyID: string) {\n const Weburl = this.httpUrl + 'Dorsey/GetActivity?CompanyID=' + CompanyID;\n return this.FetchData(Weburl);\n }\n public DeleteActivity(ActivityID: string, CompanyID: string, TeamID: number, squence: number, ProcessID: string, ParentID: number) {\n const Weburl = this.httpUrl + 'Dorsey/DeleteActivity?ActivityID=' + ActivityID + '&CompanyID=' + CompanyID + '&TeamID=' + TeamID + '&squence=' + squence + '&ProcessID=' + ProcessID + '&ParentID=' + ParentID;\n return this.FetchData(Weburl);\n }\n\n public GetActivityType() {\n const Weburl = this.httpUrl + 'Dorsey/GetActivityType';\n return this.FetchData(Weburl);\n }\n\n SaveTeam(body: any) {\n const Weburl = this.httpUrl + 'Dorsey/SaveTeam';\n return this.PostData(Weburl, body);\n }\n\n public GetTeam(CompanyID: string) {\n if (CompanyID) {\n const Weburl = this.httpUrl + 'Dorsey/GetTeam?CompanyID=' + CompanyID;\n return this.FetchData(Weburl);\n }\n }\n public DeleteTeam(TeamID: string) {\n const Weburl = this.httpUrl + 'Dorsey/DeleteTeam?TeamID=' + TeamID;\n return this.FetchData(Weburl);\n }\n public GetPointerType() {\n const Weburl = this.httpUrl + 'Dorsey/GetPointerType';\n return this.FetchData(Weburl);\n }\n public GetFrustrationType(PointerTypeID, CompanyID) {\n const Weburl = this.httpUrl + 'Dorsey/GetFrustrationType?PointerTypeID=' + PointerTypeID + '&CompanyID=' + CompanyID;\n return this.FetchData(Weburl);\n }\n public GetStatus() {\n const Weburl = this.httpUrl + 'Dorsey/GetStatus';\n return this.FetchData(Weburl);\n }\n public GetProjectStatus() {\n const Weburl = this.httpUrl + 'Dorsey/GetProjectStatus';\n return this.FetchData(Weburl);\n }\n public GetSeverity() {\n const Weburl = this.httpUrl + 'Dorsey/GetSeverity';\n return this.FetchData(Weburl);\n }\n public GetFrustration(ProjectID, CompanyID) {\n const Weburl = this.httpUrl + 'Dorsey/GetFrustration?ProjectID=' + ProjectID + '&CompanyID=' + CompanyID;\n return this.FetchData(Weburl);\n }\n\n\n SavePointer(body: any, Isversionize: string) {\n const Weburl = this.httpUrl + 'Dorsey/Savepointer?isVersioning=' + Isversionize;\n return this.PostData(Weburl, body);\n }\n\n public GetPointer(CompanyID: string) {\n const Weburl = this.httpUrl + 'Dorsey/GetPointer?CompanyID=' + CompanyID;\n return this.FetchData(Weburl);\n }\n public DeletePointer(PointerID: string) {\n const Weburl = this.httpUrl + 'Dorsey/DeletePointer?PointerID=' + PointerID;\n return this.FetchData(Weburl);\n }\n SaveCase(body: any) {\n const Weburl = this.httpUrl + 'Dorsey/SaveCase';\n return this.PostData(Weburl, body);\n }\n public GetCase(CompanyID: string) {\n const Weburl = this.httpUrl + 'Dorsey/GetCase?CompanyID=' + CompanyID;\n return this.FetchData(Weburl);\n }\n public GetCaseData(processID: number, activityID: number, PointerTypeID: number, versionID: number, tableName, tableType) {\n const Weburl = this.httpUrl + 'Dorsey/GetCaseData?processID=' + processID + '&activityID=' +\n activityID + '&PointerTypeID=' + PointerTypeID + '&versionID=' + versionID + '&tableName=' + tableName + '&tableType=' + tableType;\n return this.FetchData(Weburl);\n }\n\n public GetVersions(companyID: number, TeamID: number) {\n //, TeamID\n // + '&TeamID='+ TeamID\n const Weburl = this.httpUrl + 'Dorsey/GetVersions?CompanyID=' + companyID + '&TeamID=' + TeamID;\n return this.FetchData(Weburl);\n }\n\n public GetSelectedVersionData(versionID: number, companyID: number, teamId, verTable: String) {\n const Weburl = this.httpUrl + 'Dorsey/GetSelectedVersionData?versionID=' + versionID + \"&companyID=\" + companyID + \"&TeamID=\" + teamId + \"&VerTableName=\" + verTable;\n return this.FetchData(Weburl);\n }\n public GetSelectedVersionPointerData(versionID: number, companyID: number, teamId, tableName: string) {\n const Weburl = this.httpUrl + 'Dorsey/GetSelectedVersionPointerData?versionID=' + versionID + '&companyID=' + companyID + \"&TeamID=\" + teamId + '&tableName=' + tableName;\n return this.FetchData(Weburl);\n }\n\n public GetSelectedVersionActivityData(versionID: number, companyID: number, teamId, tableName: string) {\n const Weburl = this.httpUrl + 'Dorsey/GetSelectedVersionActivityData?versionID=' + versionID + '&companyID=' + companyID + \"&TeamID=\" + teamId + '&tableName=' + tableName;\n return this.FetchData(Weburl);\n }\n SaveProjects(body: any) {\n const Weburl = this.httpUrl + 'Dorsey/SaveProject';\n return this.PostData(Weburl, body);\n }\n public GetProjects(CompanyID: string) {\n const Weburl = this.httpUrl + 'Dorsey/GetProjects?CompanyID=' + CompanyID;\n return this.FetchData(Weburl);\n }\n public DeleteProjects(ProjectID: string) {\n const Weburl = this.httpUrl + 'Dorsey/DeleteProjects?ProjectID=' + ProjectID;\n return this.FetchData(Weburl);\n }\n UpdatePointerProject(body: any, Isversionize: string, statusID: string) {\n const Weburl = this.httpUrl + 'Dorsey/UpdatePointerProject?isVersioning=' + Isversionize + '&statusID=' + statusID;\n return this.PostData(Weburl, body);\n }\n\n public GetFrustNoProcess(CompanyID: string) {\n const Weburl = this.httpUrl + 'Dorsey/NoFrustProcesses?CompanyID=' + CompanyID;\n return this.FetchData(Weburl);\n }\n\n public GetNoActionProjects(CompanyID: string) {\n const Weburl = this.httpUrl + 'Dorsey/NoActionProject?CompanyID=' + CompanyID;\n return this.FetchData(Weburl);\n }\n\n public GetFrustrationWithOther(CompanyID: string) {\n const Weburl = this.httpUrl + 'Dorsey/GetFrustrationWithOther?CompanyID=' + CompanyID;\n return this.FetchData(Weburl);\n }\n\n public GetCommentsOnFrustration(CompanyID: string) {\n const Weburl = this.httpUrl + 'Dorsey/GetCommentsOnFrustration?CompanyID=' + CompanyID;\n return this.FetchData(Weburl);\n }\n\n public GetNoMetricProcess(CompanyID: string) {\n const Weburl = this.httpUrl + 'Dorsey/NoMetricProcesses?CompanyID=' + CompanyID;\n return this.FetchData(Weburl);\n }\n\n public GetUsersList() {\n const Weburl = this.httpUrl + 'Dorsey/GetUsers';\n return this.FetchData(Weburl);\n }\n public GetReport() {\n const Weburl = this.httpUrl + 'Dorsey/GetReport';\n return this.FetchData(Weburl);\n }\n public GetUserRoleAssignment() {\n const Weburl = this.httpUrl + 'Dorsey/GetUserRoleAssignment';\n return this.FetchData(Weburl);\n }\n public GetKeyProcessTeam() {\n const Weburl = this.httpUrl + 'Dorsey/GetKeyProcessTeam';\n return this.FetchData(Weburl);\n }\n public GetActivitiesTeam() {\n const Weburl = this.httpUrl + 'Dorsey/GetActivitiesTeam';\n return this.FetchData(Weburl);\n }\n SaveUser(body: any) {\n const Weburl = this.httpUrl + 'Dorsey/SaveUser';\n return this.PostData(Weburl, body);\n }\n ChangePassword(body: any) {\n const Weburl = this.httpUrl + 'Dorsey/ChangePassword';\n return this.PostData(Weburl, body);\n }\n SaveRole(body: any) {\n const Weburl = this.httpUrl + 'Dorsey/SaveRole';\n return this.PostData(Weburl, body);\n }\n public GetSelectedRolesData(companyID: string, TeamID: string, VerTableName: string) {\n const Weburl = this.httpUrl + 'Dorsey/GetSelectedRolesData?companyID=' + companyID + \"&TeamID=\" + TeamID + \"&VerTableName=\" + VerTableName;\n return this.FetchData(Weburl);\n }\n\n public GetSelectedRolesActivityData(companyID: string, TeamID: string, VerTableName: string) {\n const Weburl = this.httpUrl + 'Dorsey/GetSelectedRolesActivityData?companyID=' + companyID + \"&teamID=\" + TeamID + \"&tableName=\" + VerTableName;\n return this.FetchData(Weburl);\n }\n public GetMenuMaster() {\n const Weburl = this.httpUrl + 'Dorsey/GetMenuMaster';\n return this.FetchData(Weburl);\n }\n\n public DeleteRole(RowID: string) {\n const Weburl = this.httpUrl + 'Dorsey/DeleteRole?RowID=' + RowID;\n return this.FetchData(Weburl);\n }\n SaveTypes(body: any, Isversionize: string) {\n const Weburl = this.httpUrl + 'Dorsey/SaveTypes?isVersioning=' + Isversionize;\n return this.PostData(Weburl, body);\n }\n\n public DeleteType(FrustrationTypeID: string) {\n const Weburl = this.httpUrl + 'Dorsey/DeleteType?FrustrationsTypeID=' + FrustrationTypeID;\n return this.FetchData(Weburl);\n }\n\n public GetActivityIssues(CompanyID: string) {\n const Weburl = this.httpUrl + 'Dorsey/GetActivityIssues?CompanyID=' + CompanyID;\n return this.FetchData(Weburl);\n }\n\n public DeleteCase(CasesID: string, PointerID: string) {\n const Weburl = this.httpUrl + 'Dorsey/DeleteCase?CasesID=' + CasesID + '&PointerID=' + PointerID;\n return this.FetchData(Weburl);\n }\n\n SaveAlertValue(body: any) {\n const Weburl = this.httpUrl + 'Dorsey/SaveAlertValues';\n return this.PostData(Weburl, body);\n }\n\n public GetAlertValue(companyID: string, pointerID: Number) {\n const Weburl = this.httpUrl + 'Dorsey/GetAlertValue?companyID=' + companyID + '&pointerTypeID=' + pointerID;\n return this.FetchData(Weburl);\n }\n\n public GetKpiMain(CompanyID) {\n const Weburl = this.httpUrl + 'Dorsey/GetKpiMain?CompanyID=' + CompanyID;\n return this.FetchData(Weburl);\n }\n\n public GetKpiSub(CompanyID) {\n const Weburl = this.httpUrl + 'Dorsey/GetKpiSub?CompanyID=' + CompanyID;\n return this.FetchData(Weburl);\n }\n SaveMetricData(body: any, Isversionize: string) {\n const Weburl = this.httpUrl + 'Dorsey/SaveMetricData?isVersioning=' + Isversionize;\n return this.PostData(Weburl, body);\n }\n public DeleteMetricData(MainCategoryID: string, RowID: string) {\n const Weburl = this.httpUrl + 'Dorsey/DeleteMetricData?MainCategoryID=' + MainCategoryID + '&RowID=' + RowID;\n return this.FetchData(Weburl);\n }\n\n public GenerateRandomPasswrd(body: any) {\n const Weburl = this.httpUrl + 'Dorsey/GenerateRandomPasswrd?fullData=' + body;\n return this.PostData(Weburl, body);\n }\n\n updateEnableScoreCard(body: any) {\n const Weburl = this.httpUrl + 'Dorsey/UpdateEnableScoreCard';\n return this.PostData(Weburl, body);\n }\n}\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { DorseyService } from '../dorsey.service';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatDatepickerInputEvent, MatRadioChange, MatRadioButton } from '@angular/material';\nimport { FormControl } from '@angular/forms';\nimport { DatePipe } from '@angular/common';\nimport { LocalStorageService } from 'ngx-webstorage';\nimport { EmployeeLoginLevel } from '../common/models/login-level.model';\nimport { DepartmentService } from '../services/department.service';\nimport { Department } from '../departments/department.model';\nimport { copyRight } from '../copyRight.model';\n\n@Component({\n selector: 'app-employee',\n templateUrl: './employee.component.html',\n providers: [DorseyService]\n})\nexport class EmployeeComponent implements OnInit {\n tempEmpDataFilter: any;\n teamData: any;\n employeeData: any;\n condition = false;\n EmployeeID: string;\n rolesData: any;\n companyData: any;\n roleID: string;\n designationID: string;\n departmentId: number;\n companyID: string;\n companyName: string;\n EmployeeName: string;\n Gender: string;\n DOB: string;\n DOJ: string;\n Email: string;\n Phone: string;\n status = false;\n employeeLoginLevel: string = null;\n employeeDetails: any;\n date = new FormControl(new Date());\n serializedDate = new FormControl((new Date()).toISOString());\n serializedDate1 = new FormControl((new Date()).toISOString());\n p: number = 1;\n rowsOnPage = 10;\n rowsOnPageSet = [];\n rowCount: any;\n dynamicRows = 10;\n isDesc: boolean = false;\n column = \"\";\n direction: number;\n arrow = true;\n searchtext: string;\n employeePaging = false;\n saveFilter = [];\n TeamID: string;\n userVisible = false;\n UserName: string;\n Password: string;\n isDisable = false;\n disableSearch = false;\n userData: any;\n UserID: string;\n Designation: string;\n currentUser: string;\n MenuPermissions: any;\n menuData: any;\n menuID: string;\n menuName: string;\n userRoleAssign: any;\n companyRole: any;\n CompanyRoleID: string;\n loginEmployeeID: string;\n FirstName: string;\n LastName: string;\n userTeamID: any;\n loginCompanyName: any;\n TeamAdminRoleID: string;\n TeamMemberRoleID: string;\n TeamMemberRoleName: string;\n EmpRoleID: string;\n EmpTeamName: string;\n EmpCompanyID: any;\n UserIDEMp: any;\n userRoleAssignmentData: any;\n rolesDataUser: any;\n isTeamAssigned: boolean = false;\n\n constructor(private dorseyService: DorseyService,\n public dialog: MatDialog,\n private departmentService: DepartmentService,\n private storage: LocalStorageService) {\n this.currentUser = this.storage.retrieve('user');\n this.EmpCompanyID = this.storage.retrieve('companyID');\n this.userTeamID = this.storage.retrieve('TeamID');\n this.menuData = this.storage.retrieve('menuData');\n this.MenuPermissions = this.storage.retrieve('MenuPermissions');\n this.loginEmployeeID = this.storage.retrieve('EmployeeID');\n this.loginCompanyName = this.storage.retrieve('loginCompanyName');\n this.TeamAdminRoleID = this.storage.retrieve('TeamAdminRoleID');\n this.TeamMemberRoleID = this.storage.retrieve('TeamMemberRoleID');\n this.TeamMemberRoleName = this.storage.retrieve('TeamMemberRoleName');\n this.EmpRoleID = this.storage.retrieve('EmpRoleID');\n this.UserIDEMp = this.storage.retrieve('UserID');\n this.employeeDetails = this.storage.retrieve('employeeDetails');\n this.companyID = this.storage.retrieve('companyID');\n }\n\n ngOnInit() {\n this.GetUserRoleAssignment();\n if (this.loginEmployeeID.toString() !== '0') {\n this.EmployeeID = this.loginEmployeeID;\n }\n else {\n //this.EmployeeID = \"0\";\n this.EmployeeID = this.loginEmployeeID = \"0\";\n }\n let tempdata = this.menuData;\n this.menuData = tempdata.filter(x => x.MenuName.toString().toLowerCase() === 'employee');\n if (this.menuData.length > 0) {\n this.menuName = this.menuData[0][\"MenuName\"];\n this.menuID = this.menuData[0][\"MenuID\"];\n }\n this.GetUserROleAssignment();\n this.GetUsers();\n this.GetEmployee();\n this.GetRoles();\n this.GetCompanyDetails();\n this.GetTeam();\n this.sort('EmployeeName');\n }\n\n OpenEmployee() {\n this.FirstName = \"\";\n this.LastName = \"\";\n this.roleID = '';\n this.Designation = '';\n this.UserName = '';\n this.Password = '';\n this.employeeLoginLevel = '';\n this.companyID = this.storage.retrieve('companyID');\n this.dialogCall('new');\n }\n\n GetCompanyDetails() {\n this.dorseyService.GetCompanyData().subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.companyData = subData;\n });\n }\n\n GetUserRoleAssignment() {\n this.dorseyService.GetUserRoleAssignment().subscribe(userRoles => {\n this.userRoleAssignmentData = JSON.parse(userRoles['_body']);\n this.dorseyService.GetRoles(this.companyID).subscribe(users => {\n this.rolesDataUser = JSON.parse(users['_body']);\n if (this.loginEmployeeID.toString() !== '0') {\n let roles = this.userRoleAssignmentData.filter(x => x.UserID === this.UserIDEMp);\n if (roles.length > 0) {\n this.EmpRoleID = roles[0].RoleID;\n let roleData = this.rolesDataUser.filter(x => x.RoleID === this.EmpRoleID);\n if (roleData.length > 0) {\n this.MenuPermissions = JSON.parse(roleData[0].MenuJson);\n }\n\n }\n }\n });\n });\n }\n\n GetTeam() {\n this.dorseyService.GetTeam(this.companyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.teamData = subData;\n let tempData = this.teamData.filter(x => x.TeamID === this.userTeamID);\n if (tempData.length > 0)\n this.EmpTeamName = tempData[0].TeamName;\n\n if (this.EmployeeID.toString() !== \"0\" && this.userTeamID.toString() !== \"0\") {\n let data = this.teamData.filter(x => x.TeamID === this.userTeamID);\n this.teamData = data;\n this.TeamID = data[0].TeamID;\n //this.isTeamAssigned = this.employeeDetails.IsEmployeeLoginLevel = EmployeeLoginLevel.Team ? true : false;\n this.TeamID ? this.isTeamAssigned = true : this.isTeamAssigned = false\n } else {\n this.TeamID = '0';\n this.teamData = subData;\n }\n });\n }\n\n Searchtext() {\n this.employeeData = this.saveFilter;\n let tempEmployee = this.employeeData.filter(\n (item) => {\n return (\n (item.CompanyName !== null && this.searchtext && item.CompanyName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.IsEmployeeLoginLevel !== null && this.searchtext && item.IsEmployeeLoginLevel.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.EmployeeName !== null && this.searchtext && item.EmployeeName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.EmailID !== null && this.searchtext && item.EmailID.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.TeamName !== null && this.searchtext && item.TeamName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.DepartmentName !== null && this.searchtext && item.DepartmentName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.RoleName !== null && this.searchtext && item.RoleName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1)\n );\n }\n\n );\n this.employeeData = tempEmployee;\n if (this.employeeData.length == 0) {\n this.isDisable = true;\n } else {\n this.isDisable = false;\n }\n if (this.searchtext === '') {\n this.employeeData = this.saveFilter;\n this.dynamicRows = 10;\n this.rowsOnPageSet = [];\n this.rowCount = this.employeeData.length;\n while (this.dynamicRows < this.rowCount) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 10;\n }\n if (!this.rowsOnPageSet.includes(this.rowCount))\n this.rowsOnPageSet.push(this.rowCount);\n if (this.rowsOnPageSet) {\n\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n this.isDisable = false;\n } else {\n this.rowCount = tempEmployee.length;\n this.dynamicRows = 10;\n this.rowsOnPageSet = [];\n while (this.dynamicRows < this.rowCount) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 10;\n }\n if (!this.rowsOnPageSet.includes(this.rowCount))\n this.rowsOnPageSet.push(this.rowCount);\n this.rowsOnPage = this.rowsOnPageSet[0];\n if (this.rowsOnPageSet.length === 1) {\n if (this.rowsOnPageSet[0] <= 10)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n }\n }\n\n GetEmployee() {\n this.dorseyService.GetEmployee(this.companyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.employeeData = subData;\n if (this.userTeamID === null || this.userTeamID === undefined) {\n this.userTeamID = \"0\";\n }\n if (this.employeeData.length === 0) {\n this.employeePaging = false;\n this.isDisable = true;\n this.disableSearch = true;\n }\n else {\n this.employeePaging = true;\n this.isDisable = false;\n this.disableSearch = false;\n //if (this.userTeamID.toString() !== \"0\" && this.userTeamID !== null && this.companyID.toString() !== \"0\") {\n if (this.employeeDetails) {\n if (this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Department) {\n this.employeeData = [...this.employeeData.filter(x => x.DepartmentID === this.employeeDetails.DepartmentID)];\n }\n else if (this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Team) {\n this.employeeData = [...this.employeeData.filter(x => x.TeamID === this.employeeDetails.TeamID)];\n }\n }\n // let dtaa = this.employeeData.filter(x => x.TeamID === this.userTeamID && x.CompanyID === this.companyID);\n // this.employeeData = dtaa;\n //}\n // else {\n // let dtaa = this.employeeData.filter(x => x.CompanyID === this.companyID);\n // this.employeeData = dtaa;\n // }\n this.saveFilter = JSON.parse(JSON.stringify(this.employeeData));\n this.rowsOnPageSet = [];\n this.dynamicRows = 10;\n this.rowCount = this.employeeData.length;\n while (this.dynamicRows < this.rowCount) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 10;\n }\n if (!this.rowsOnPageSet.includes(this.rowCount)) this.rowsOnPageSet.push(this.rowCount);\n if (this.rowsOnPageSet.length === 1) {\n if (this.rowsOnPageSet[0] <= 10)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n }\n });\n }\n\n exportAsXLSX() {\n let allData = JSON.parse(JSON.stringify(this.employeeData));\n for (let i = 0; i < allData.length; i++) {\n allData[i].Employee = allData[i].EmployeeName;\n allData[i][\" Email \"] = allData[i].EmailID;\n allData[i][\"Employee Level\"] = allData[i].IsEmployeeLoginLevel;\n allData[i][\"Department\"] = allData[i].DepartmentName;\n allData[i].Team = allData[i].TeamName;\n allData[i].Role = allData[i].RoleName;\n\n delete (allData[i].DepartmentName);\n delete (allData[i].IsEmployeeLoginLevel);\n delete (allData[i].UpdatedDate3);\n delete (allData[i].UpdatedBy3);\n delete (allData[i].CompanyID3);\n delete (allData[i].IsActive3);\n delete (allData[i].CreatedDate3);\n delete (allData[i].CreatedBy3);\n delete (allData[i].RowID);\n delete (allData[i].RoleID1);\n delete (allData[i].RoleName1);\n delete (allData[i].RoleDescription);\n delete (allData[i].PermissionJson);\n delete (allData[i].MenuJson);\n delete (allData[i].TeamID1);\n delete (allData[i].ProcessID);\n delete (allData[i].TeamName1);\n delete (allData[i].CompanyID2);\n delete (allData[i].IsActive2);\n delete (allData[i].CreatedDate2);\n delete (allData[i].CreatedBy2);\n delete (allData[i].UpdatedDate2);\n delete (allData[i].UpdatedBy2);\n delete (allData[i].TeamDescription);\n delete (allData[i].TeamName);\n delete (allData[i].RoleName);\n delete (allData[i].CompanyName);\n delete (allData[i].EmployeeName);\n delete (allData[i].Gender);\n delete (allData[i].EmailID);\n delete (allData[i].DateOfBirth);\n delete (allData[i].DateOfJoin);\n delete (allData[i].CompanyName);\n delete (allData[i].EmployeeName);\n delete (allData[i].Email);\n delete (allData[i].TeamID);\n delete (allData[i].DesignationID);\n delete (allData[i].RoleID);\n delete (allData[i].DepartmentID);\n delete (allData[i].CreatedBy);\n delete (allData[i].CreatedDate);\n delete (allData[i].UpdatedBy);\n delete (allData[i].UpdatedDate);\n delete (allData[i].ParentID);\n delete (allData[i].CompanyOwner);\n delete (allData[i].Description);\n delete (allData[i].AnnualRevenue);\n delete (allData[i].EmployeeID);\n delete (allData[i].IsActive);\n delete (allData[i].CompanyID1);\n delete (allData[i].CompanyNumber);\n delete (allData[i].CompanyCurrency);\n delete (allData[i].CompanySource);\n delete (allData[i].Active);\n delete (allData[i].CustomerPriority);\n delete (allData[i].Industry);\n delete (allData[i].NAICSCode);\n delete (allData[i].NAICSDescription);\n delete (allData[i].NumberOfLocations);\n delete (allData[i].OperatingHours);\n delete (allData[i].Ownership);\n delete (allData[i].ParentCompany);\n delete (allData[i].SICCode);\n delete (allData[i].SICCode);\n delete (allData[i].SICDescription);\n delete (allData[i].D_U_N_SNumber);\n delete (allData[i].Address1);\n delete (allData[i].Address2);\n delete (allData[i].Phone);\n delete (allData[i].CIty);\n delete (allData[i].Pincode);\n delete (allData[i].State);\n delete (allData[i].Country);\n delete (allData[i].Phone1);\n delete (allData[i].Phone2);\n delete (allData[i].Fax);\n delete (allData[i].Website);\n delete (allData[i].YearStarted);\n delete (allData[i].IsActive1);\n delete (allData[i].CreatedDate1);\n delete (allData[i].CreatedBy1);\n delete (allData[i].UpdatedDate1);\n delete (allData[i].UpdatedBy1);\n delete (allData[i].CompanyName1);\n delete (allData[i].CompanyID);\n }\n\n this.dorseyService.generateExcel(allData, this.loginCompanyName + '_employee' + \"_\" + (new Date().getMonth() + 1) + '-' + new Date().getDate() + '-' + new Date().getFullYear(), 'Employee', \"Company: \" + this.loginCompanyName, '', \"Employee Report\", copyRight, 'FFFFFF00', 'FF0000FF');\n }\n\n sort(property) {\n this.arrow = !this.arrow;\n this.isDesc = !this.isDesc; //change the direction \n this.column = property;\n this.direction = this.isDesc ? 1 : -1;\n }\n\n GetRoles() {\n this.dorseyService.GetRoles(this.companyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.rolesData = subData;\n let temproles = this.rolesData;\n this.departmentService.getUsersByCompanyId(Number(this.companyID)).subscribe(resp => {\n this.userData = resp.Data;\n let data = [...this.userData];\n this.companyRole = data;\n if (data.length > 0) {\n this.dorseyService.GetUserRoleAssignment().subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.userRoleAssign = subData;\n let assignROle = this.userRoleAssign.filter(x => x.UserID === data[0].UserID);\n if (assignROle.length > 0) {\n let roles = temproles.filter(x => x.RoleID != assignROle[0].RoleID);\n this.rolesData = roles;\n if (this.loginEmployeeID.toString() !== \"0\" && (this.employeeDetails && this.employeeDetails.IsEmployeeLoginLevel != EmployeeLoginLevel.Company)) {\n let adminRole = roles.filter(x => x.RoleID !== this.TeamAdminRoleID);\n this.rolesData = adminRole;\n this.rolesData = adminRole.filter(x => x.RoleID !== this.EmpRoleID);\n }\n }\n });\n }\n });\n });\n }\n\n GetUserROleAssignment() {\n this.dorseyService.GetUserRoleAssignment().subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.userRoleAssign = subData;\n });\n }\n\n // GetDesignation() {\n // this.dorseyService.GetDesignation().subscribe(subData => {\n // subData = JSON.parse(subData['_body']);\n // this.designationData = subData;\n // });\n // }\n\n // GetDepartment() {\n // this.dorseyService.GetDepartment().subscribe(subData => {\n // subData = JSON.parse(subData['_body']);\n // this.departmentData = subData;\n // });\n // }\n\n dialogCall(msg: string) {\n this.GetRoles();\n const dialogRef = this.dialog.open(EmployeeDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: msg + 'æææ' + false,\n });\n\n dialogRef.componentInstance.EmployeeID = this.loginEmployeeID;\n dialogRef.componentInstance.loginEmployeeID = this.loginEmployeeID;\n dialogRef.componentInstance.currentUser = this.currentUser;\n dialogRef.componentInstance.userVisible = this.userVisible;\n dialogRef.componentInstance.roleID = this.roleID;\n dialogRef.componentInstance.Designation = this.Designation;\n dialogRef.componentInstance.companyRole = this.companyRole;\n dialogRef.componentInstance.userData = this.userData;\n dialogRef.componentInstance.userRoleAssign = this.userRoleAssign;\n dialogRef.componentInstance.companyRole = this.companyRole;\n dialogRef.componentInstance.selectedLoginLevel = this.employeeLoginLevel;\n if (msg === 'user') {\n this.userVisible = true;\n dialogRef.componentInstance.companyID = this.companyID;\n dialogRef.componentInstance.EmployeeName = this.EmployeeName;\n dialogRef.componentInstance.Email = this.Email;\n dialogRef.componentInstance.Phone = this.Phone;\n dialogRef.componentInstance.UserName = this.UserName;\n dialogRef.componentInstance.Password = this.Password;\n dialogRef.componentInstance.EmployeeID = this.EmployeeID;\n }\n if (msg === 'new') {\n this.userVisible = false;\n this.searchtext = '';\n this.GetEmployee();\n }\n dialogRef.componentInstance.companyData = this.companyData;\n dialogRef.componentInstance.rolesData = this.rolesData;\n //dialogRef.componentInstance.designationData = this.designationData;\n //dialogRef.componentInstance.departmentData = this.departmentData;\n dialogRef.componentInstance.companyID = this.companyID;\n dialogRef.componentInstance.TeamID = this.TeamID;\n dialogRef.componentInstance.DOB = null;\n dialogRef.componentInstance.isTeamAssigned = this.isTeamAssigned;\n dialogRef.componentInstance.DOJ = null;\n dialogRef.componentInstance.teamData = this.teamData;\n dialogRef.componentInstance.selectedLoginLevel = this.employeeLoginLevel;\n\n if (msg === 'edit') {\n this.userVisible = false;\n this.status = true;\n dialogRef.componentInstance.TeamID = this.TeamID;\n dialogRef.componentInstance.FirstName = this.FirstName;\n dialogRef.componentInstance.LastName = this.LastName;\n dialogRef.componentInstance.Password = this.Password;\n dialogRef.componentInstance.UserName = this.UserName;\n dialogRef.componentInstance.UserID = this.UserID;\n dialogRef.componentInstance.companyName = this.companyName;\n dialogRef.componentInstance.EmployeeName = this.EmployeeName;\n dialogRef.componentInstance.Phone = this.Phone;\n dialogRef.componentInstance.Gender = this.Gender;\n dialogRef.componentInstance.roleID = this.roleID;\n dialogRef.componentInstance.designationID = this.designationID;\n dialogRef.componentInstance.departmentId = this.departmentId;\n dialogRef.componentInstance.Email = this.Email;\n dialogRef.componentInstance.selectedLoginLevel = this.employeeLoginLevel;\n // this.departmentService.getTeamsByDepartmentId(Number(this.companyID), this.departmentId).subscribe(resp => {\n // dialogRef.componentInstance.teamList = resp.Data;\n // });\n\n if (this.DOB)\n dialogRef.componentInstance.DOB = new Date(this.DOB);\n else dialogRef.componentInstance.DOB = null;\n if (this.DOJ)\n dialogRef.componentInstance.DOJ = new Date(this.DOJ);\n else dialogRef.componentInstance.DOJ = null;\n dialogRef.componentInstance.EmployeeID = this.EmployeeID;\n dialogRef.componentInstance.companyID = this.companyID;\n }\n\n dialogRef.afterClosed().subscribe(result => {\n if (this.searchtext !== '' && this.searchtext !== undefined) {\n this.Searchtext();\n }\n else {\n\n this.GetEmployee();\n }\n if (result && result.toString() === 'true') {\n let statusMsg = '';\n if (msg === 'new') {\n statusMsg = 'Saved successfully';\n } else {\n statusMsg = 'Updated successfully';\n }\n\n this.dynamicRows = 10;\n this.rowsOnPageSet = [];\n const dialogRefsub = this.dialog.open(EmployeeDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: statusMsg + 'æææ' + false,\n });\n\n setTimeout(() => {\n this.GetEmployee();\n this.GetUsers();\n }, 500);\n dialogRefsub.afterClosed().subscribe(result1 => {\n this.employeeData = [];\n if (this.searchtext !== '' && this.searchtext !== undefined) {\n this.Searchtext();\n }\n else {\n this.GetEmployee();\n this.GetUsers();\n }\n });\n }\n });\n }\n\n GetUsers() {\n this.departmentService.getUsersByCompanyId(Number(this.companyID)).subscribe(resp => {\n this.userData = resp.Data;\n });\n }\n\n AddUser(element) {\n this.EmployeeID = \"\";\n this.UserID = \"\";\n this.UserName = \"\";\n this.Password = \"\";\n this.EmployeeID = element.EmployeeID;\n this.companyID = element.CompanyID;\n this.companyName = element.EmployeeName;\n this.Email = element.EmailID;\n this.Phone = element.Phone;\n this.roleID = element.RoleID;\n this.userVisible = true;\n let filterUser = this.userData.filter(x => x.EmployeeID === this.EmployeeID);\n if (filterUser.length > 0 && filterUser.length === 1) {\n this.UserID = filterUser[0].UserID;\n this.UserName = filterUser[0].UserName;\n this.Password = filterUser[0].Password;\n } else {\n this.UserName = \"\";\n this.Password = \"\";\n }\n this.dialogCall('user');\n\n }\n EditEmployee(data) {\n this.EmployeeID = data.EmployeeID;\n this.companyName = data.CompanyID;\n this.roleID = data.RoleID;\n this.designationID = data.DesignationID;\n this.departmentId = data.DepartmentID;\n this.Phone = data.Phone;\n this.Email = data.EmailID;\n this.EmployeeName = data.EmployeeName;\n this.companyID = data.CompanyID;\n this.TeamID = data.TeamID;\n this.Designation = data.DesignationID;\n this.employeeLoginLevel = data.IsEmployeeLoginLevel;\n let tempUsers = this.userData.filter(x => x.CompanyID === this.companyID && x.EmployeeID === this.EmployeeID && x.Email === this.Email);\n if (tempUsers.length > 0 && tempUsers.length === 1) {\n this.UserName = tempUsers[0].UserName;\n this.FirstName = tempUsers[0].FirstName;\n this.LastName = tempUsers[0].LastName;\n this.Password = tempUsers[0].Password;\n this.UserID = tempUsers[0].UserID;\n }\n else {\n this.FirstName = '';\n this.LastName = '';\n this.Password = '';\n this.UserID = '';\n }\n this.storage.store(\"Uname\", this.UserName);\n this.dialogCall('edit');\n }\n\n ifMaxRow() {\n if (this.rowsOnPage == this.employeeData.length) {\n this.rowsOnPage = this.rowsOnPage - 1;\n }\n }\n\n DeleteEmployee(element) {\n this.EmployeeID = element.EmployeeID;\n const dialogRef = this.dialog.open(EmployeeDialogComponent, {\n data: 'Are you sure you want to delete employee: ' + element.CompanyName + '?æææ' + true,\n });\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n this.dorseyService.DeleteEmployee(this.EmployeeID).subscribe(data => {\n if (data.ok) {\n this.ifMaxRow();\n this.condition = false;\n this.dialogCall('Deleted successfully');\n }\n this.dynamicRows = 10;\n this.rowsOnPageSet = [];\n this.GetEmployee();\n });\n }\n });\n }\n}\n\n@Component({\n selector: 'app-dialog',\n templateUrl: 'dialog.html',\n // styleUrls: ['dialog.css'],\n providers: [DorseyService, DatePipe],\n})\nexport class EmployeeDialogComponent implements OnInit {\n companyRole: any;\n userRoleAssign: any;\n UserName: string;\n Password: string;\n userVisible = false;\n companyName: string;\n roleID: string;\n designationID: string;\n companyID: string;\n EmployeeName: string;\n teamData: any;\n Gender: string;\n DOB = new Date();\n DOJ = new Date();\n Email: string;\n currentUser: string;\n Phone: string;\n EmployeeID: string;\n TeamID: string;\n dataSelf = '';\n condition: boolean;\n addCompany: string;\n companyData: any;\n rolesData: any;\n //designationData: any;\n //departmentData: any;\n startDate = new Date();\n validDate = new Date();\n minDate = new Date();\n UserID: string;\n Designation: string;\n loginEmployeeID: string;\n userData: any;\n FirstName: string;\n LastName: string;\n userListData: any;\n isTeamAssigned: boolean;\n btnDisabled = false;\n employeeLoginLevelList: string[] = [EmployeeLoginLevel.Company, EmployeeLoginLevel.Department, EmployeeLoginLevel.Team];\n selectedLoginLevel: string = null;\n departmentList: Array = [];\n departmentId: number = 0;\n employeeLoginLevel = EmployeeLoginLevel;\n teamList: Array = [];\n employeeDetails: any;\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any,\n public dorseyService: DorseyService,\n private departmentService: DepartmentService,\n private datepipe: DatePipe,\n private storage: LocalStorageService) {\n this.employeeDetails = this.storage.retrieve('employeeDetails');\n this.data = this.data.split('æææ');\n if (this.data[1] === 'true') {\n this.condition = true;\n } else {\n this.condition = false;\n }\n this.data = this.data[0];\n if (this.data == 'msg') {\n this.DOB = null;\n this.DOJ = null;\n }\n }\n\n ngOnInit() {\n this.GetUserListData();\n if (this.companyID) {\n this.departmentService.getDepartments(Number(this.companyID)).subscribe(resp => {\n if (resp.Data.length > 0) {\n this.getTeamsByDepartmentId();\n this.departmentList = resp.Data;\n if (this.employeeDetails) {\n //this.isTeamAssigned = this.employeeDetails.IsEmployeeLoginLevel = EmployeeLoginLevel.Team ? true : false;\n if (this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Department) {\n this.departmentList = this.departmentList.filter(x => x.DepartmentID === this.employeeDetails.DepartmentID);\n this.employeeLoginLevelList = [EmployeeLoginLevel.Team];\n }\n else if (this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Team) {\n this.teamList = this.teamList.filter(x => x.TeamID === this.employeeDetails.TeamID);\n this.employeeLoginLevelList = [EmployeeLoginLevel.Team];\n }\n else {\n this.employeeLoginLevelList = [EmployeeLoginLevel.Department, EmployeeLoginLevel.Team];\n\n\n }\n }\n }\n });\n }\n }\n\n loginLevelChange(): void {\n if (this.data === 'new') {\n this.TeamID = \"0\";\n this.departmentId = 0;\n }\n if (this.selectedLoginLevel == EmployeeLoginLevel.Company) {\n this.departmentId = 0;\n this.TeamID = '0';\n }\n else if (this.selectedLoginLevel == EmployeeLoginLevel.Department) {\n this.TeamID = '0';\n }\n }\n\n departmentChange(): void {\n this.getTeamsByDepartmentId();\n }\n\n getTeamsByDepartmentId(): void {\n if (this.departmentId && this.companyID) {\n this.departmentService.getTeamsByDepartmentId(Number(this.companyID), this.departmentId).subscribe(resp => {\n if (resp.Data.length > 0) {\n this.teamList = resp.Data;\n }\n });\n }\n }\n\n onYesClick() {\n this.dialogRef.close(true);\n }\n onNoClick(): void {\n this.dialogRef.close();\n }\n\n SaveUser() {\n let count = 0;\n const Editcount = 0;\n if (this.UserName === undefined || this.Password === undefined || this.UserName.trim() === '' || this.Password.trim() === '') {\n this.dataSelf = 'Please enter mandatory(*) fields';\n if (this.data === 'new') {\n\n }\n count++;\n }\n\n if (count === 0 && Editcount === 0) {\n this.dataSelf = '';\n if (this.data === 'new') {\n\n\n this.SavingUserDetails(this.data);\n } else {\n this.SavingUserDetails(this.data);\n }\n }\n }\n\n\n SavingUserDetails(msg: string) {\n const json = {\n CompanyID: this.companyID,\n RoleID: this.roleID,\n roleCreatedBy: this.currentUser,\n name: this.EmployeeName,\n email: this.Email,\n phone1: this.Phone,\n UserName: this.UserName,\n Password: this.Password,\n EmployeeID: this.EmployeeID,\n userCreatedBy: this.currentUser,\n UserID: this.UserID\n }\n\n\n if (msg === 'new') {\n this.dorseyService.SaveUser(json).subscribe(data => {\n\n if (data['_body'].toString() !== '0') {\n\n this.dialogRef.close(true);\n } else {\n this.dataSelf = 'Save failed';\n }\n\n });\n } else {\n\n this.dorseyService.SaveUser(json).subscribe(data => {\n\n if (data['_body'].toString() !== '0') {\n\n this.dialogRef.close(true);\n } else {\n this.dataSelf = 'Updated successfully';\n }\n });\n }\n\n }\n\n AddEmployee() {\n this.btnDisabled = true;\n setTimeout(() => {\n this.btnDisabled = false;\n }, 1000);\n let count = 0;\n const Editcount = 0;\n if (this.FirstName == undefined ||\n this.LastName === undefined ||\n this.Password === undefined ||\n this.roleID === undefined ||\n !this.selectedLoginLevel ||\n this.Email === undefined ||\n this.UserName === undefined ||\n this.roleID === '' ||\n this.FirstName.trim() === '' ||\n this.LastName.trim() === '' ||\n this.Password.trim() === '' ||\n this.Email.trim() === '' ||\n this.UserName.trim() === '') {\n this.dataSelf = 'Please enter mandatory(*) fields';\n count++;\n }\n if (this.selectedLoginLevel === this.employeeLoginLevel.Department && !this.departmentId) {\n this.dataSelf = 'Please enter mandatory(*) fields';\n return;\n }\n\n if (this.selectedLoginLevel === this.employeeLoginLevel.Team && (this.TeamID === \"0\" || !this.TeamID)) {\n this.dataSelf = 'Please enter mandatory(*) fields';\n return;\n }\n if (this.Email) {\n var mailformat = /^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/;\n if (!this.Email.match(mailformat)) {\n this.dataSelf = 'Please enter vaild email';\n return;\n }\n }\n\n if (count === 0 && Editcount === 0) {\n this.dataSelf = '';\n if (this.data === 'new') {\n this.Saving(this.data);\n } else {\n this.Saving(this.data);\n }\n }\n }\n\n GetUserListData() {\n this.dorseyService.GetUsersList().subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.userListData = subData;\n });\n }\n\n Saving(msg: string) {\n if (!this.TeamID) {\n this.TeamID = \"0\";\n }\n if (msg === 'new') {\n this.UserID = '';\n this.EmployeeID = '';\n }\n const json = {\n EmployeeName: this.FirstName + \" \" + this.LastName,\n CompanyID: this.companyID,\n EmailID: this.Email,\n DesignationID: this.Designation,\n RoleID: this.roleID,\n DepartmentID: this.departmentId,\n Phone: this.Phone,\n CreatedBy: this.currentUser,\n EmployeeID: this.EmployeeID,\n UpdatedBy: this.currentUser,\n TeamID: this.TeamID,\n UserName: this.UserName,\n Password: this.Password,\n FirstName: this.FirstName,\n LastName: this.LastName,\n userCreatedBy: this.currentUser,\n roleCreatedBy: this.currentUser,\n UserID: this.UserID,\n EmployeeLoginLevel: this.selectedLoginLevel\n };\n\n\n if (msg === 'new') {\n this.UserID = '';\n this.EmployeeID = '';\n let checkUser = this.userListData.filter(x => x.UserName.toString().toLowerCase().trim() === this.UserName.toString().toLowerCase().trim());\n if (checkUser.length > 0) {\n this.dataSelf = \"Username already exist\";\n return;\n }\n this.dorseyService.SaveEmployee(json).subscribe(data => {\n if (data['_body'].toString() === 'true') {\n this.dialogRef.close(true);\n } else {\n this.dataSelf = 'Save failed';\n }\n });\n } else {\n if (this.UserName !== this.storage.retrieve('Uname')) {\n let checkUser = this.userListData.filter(x => x.UserName.toString().toLowerCase().trim() === this.UserName.toString().toLowerCase().trim());\n if (checkUser.length > 0) {\n this.dataSelf = \"Username already exist\";\n return;\n }\n }\n this.dorseyService.SaveEmployee(json).subscribe(data => {\n if (data['_body'].toString() === 'true') {\n this.dialogRef.close(true);\n } else {\n this.dataSelf = 'Updated successfully';\n\n }\n });\n }\n }\n\n Clear() {\n this.dialogRef.close(false);\n }\n company(event) {\n this.companyID = event.value;\n }\n\n role(event) {\n this.roleID = event.value;\n }\n\n designation(event) {\n this.designationID = event.value;\n }\n\n doj(type: string, event: MatDatepickerInputEvent) {\n const date = event.value;\n this.DOJ = date;\n let latest_date = this.datepipe.transform(this.DOJ, 'MM/dd/yyyy');\n this.DOJ = new Date(latest_date);\n }\n\n dob(type: string, event: MatDatepickerInputEvent) {\n const date = event.value;\n this.DOB = date;\n let latest_date = this.datepipe.transform(this.DOB, 'MM/dd/yyyy');\n this.DOB = new Date(latest_date);\n var year = this.DOB.getFullYear();\n var month = this.DOB.getMonth();\n var day = this.DOB.getDate();\n this.startDate = new Date(year, month, day + 1);\n this.minDate = this.startDate;\n }\n\n IsAlpha(evt) {\n var keyCode = (evt.which) ? evt.which : evt.keyCode;\n if ((keyCode < 65 || keyCode > 90) && (keyCode < 97 || keyCode > 123) && keyCode != 32)\n return false;\n return true;\n }\n\n ValidatePh(event: any) {\n if (\n // Allow: Delete, Backspace, Tab, Escape, Enter\n [46, 8, 9, 27, 13].indexOf(event.keyCode) !== -1 ||\n (event.keyCode === 65 && event.ctrlKey === true) || // Allow: Ctrl+A\n (event.keyCode === 67 && event.ctrlKey === true) || // Allow: Ctrl+C\n (event.keyCode === 86 && event.ctrlKey === true) || // Allow: Ctrl+V\n (event.keyCode === 88 && event.ctrlKey === true) || // Allow: Ctrl+X\n (event.keyCode === 65 && event.metaKey === true) || // Cmd+A (Mac)\n (event.keyCode === 67 && event.metaKey === true) || // Cmd+C (Mac)\n (event.keyCode === 86 && event.metaKey === true) || // Cmd+V (Mac)\n (event.keyCode === 88 && event.metaKey === true) || // Cmd+X (Mac)\n (event.keyCode >= 35 && event.keyCode <= 39) // Home, End, Left, Right\n ) {\n return;\n }\n\n if ((event.shiftKey || (event.keyCode < 48 || event.keyCode > 57)) && (event.keyCode < 96 || event.keyCode > 105)) {\n event.preventDefault();\n }\n }\n\n ValidateEmail(event: any) {\n var re = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n if (this.Email === undefined || this.Email === \"\") {\n if (event.keyCode == 32) {\n event.preventDefault();\n }\n }\n }\n\n onChange(mrChange: MatRadioChange) {\n let mrButton: MatRadioButton = mrChange.source;\n }\n\n\n team(event) {\n this.TeamID = event.value;\n }\n\n UniqueEmail(event: any) {\n this.dorseyService.GetUsersList().subscribe(subData => {\n // tslint:disable-next-line:no-string-literal\n subData = JSON.parse(subData['_body']);\n this.userListData = subData;\n });\n let checkUser = this.userListData.filter(x => x.UserName.toString().toLowerCase().trim() === this.UserName.toString().toLowerCase().trim());\n if (checkUser.length > 0) {\n this.dataSelf = \"Username already exist\";\n this.Email = \"\";\n setTimeout(() => {\n this.dataSelf = '';\n }, 2000);\n }\n }\n\n valZero() {\n var re = /^(?=.*\\d)(?=.*[1-9]).{1,16}$/;\n if (this.Phone) {\n if (!this.Phone.match(re)) {\n this.dataSelf = \"Phone number invalid\";\n this.Phone = \"\";\n setTimeout(() => {\n this.dataSelf = \"\";\n }, 2000);\n }\n }\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { DorseyService } from '../dorsey.service';\n\nimport { LocalStorageService } from 'ngx-webstorage';\nimport { EmployeeLoginLevel } from '../common/models/login-level.model';\nimport { copyRight } from '../copyRight.model';\n\n@Component({\n selector: 'app-frustration-comments',\n templateUrl: './frustration-comments.component.html',\n})\nexport class FrustrationCommentsComponent implements OnInit {\n copyRight: string = copyRight;\n employeeDetails: any;\n commentData: any;\n searchtext: string;\n isDesc: boolean = false;\n column = \"\";\n direction: number;\n arrow = true;\n p: number = 1;\n rowsOnPage = 10;\n rowsOnPageSet = [];\n rowCount: any;\n dynamicRows = 10;\n processPaging = false;\n description = \"\";\n descriptionList = [];\n mainData = [];\n saveFilter = [];\n CompanyID: string;\n isDisable = false;\n disableSearch = false;\n wrng: string;\n teamData: any;\n TeamID: any;\n filterData: any;\n companyName: string;\n headerDate = new Date();\n tempTeam = [];\n TeamName: string;\n EmployeeID: string;\n employeeData: any;\n copyDate: number;\n constructor(private dorseyService: DorseyService, private storage: LocalStorageService) { }\n\n ngOnInit() {\n this.CompanyID = this.storage.retrieve('companyID');\n this.companyName = this.storage.retrieve('LoginCompanyName');\n this.TeamID = this.storage.retrieve('TeamID');\n this.EmployeeID = this.storage.retrieve('EmployeeID');\n this.employeeDetails = this.storage.retrieve('employeeDetails');\n this.GetCommentsOnFrustration();\n this.GetTeam();\n if (this.employeeDetails) {\n this.EmployeeID = this.employeeDetails.EmployeeID;\n this.TeamID = this.employeeDetails.TeamID;\n }\n else {\n this.EmployeeID = '0';\n this.TeamID = 0;\n }\n this.copyDate = (new Date()).getFullYear();\n }\n\n GetSelectedReport(event) {\n this.searchtext = '';\n this.TeamID = event.value;\n let teamd = this.teamData.filter(x => x.TeamID === this.TeamID)\n if (teamd.length > 0) {\n this.TeamName = teamd[0].TeamName;\n }\n this.ConstructReport();\n }\n\n GetTeam() {\n this.TeamName = '';\n this.dorseyService.GetTeam(this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.dorseyService.GetCommentsOnFrustration(this.CompanyID).subscribe(subDat1 => {\n subDat1 = JSON.parse(subDat1['_body']);\n this.commentData = subDat1;\n this.teamData = subData;\n if (this.employeeDetails) {\n if (this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Department) {\n this.teamData = this.teamData.filter(ent => ent.DepartmentID === this.employeeDetails.DepartmentID);\n }\n else if (this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Team) {\n this.teamData = this.teamData.filter(ent => ent.DepartmentID === this.employeeDetails.DepartmentID && ent.TeamID == this.employeeDetails.TeamID);\n this.TeamID = this.teamData[0].TeamID;\n this.TeamName = this.teamData[0].TeamName;\n }\n }\n if (this.TeamID == 0) {\n this.teamData = this.teamData.filter(entity1 => this.commentData.find(entity2 => entity1.TeamID == entity2.TeamID));\n }\n if (this.teamData.length > 0 && !this.TeamID) { this.teamData.splice(0, 0, { TeamID: 0, TeamName: 'Aggregate Report' }); }\n this.ConstructReport();\n });\n });\n }\n\n ConstructReport() {\n this.mainData = [];\n if (this.TeamID == 0)\n this.filterData = this.commentData.filter(entity1 => this.teamData.find(entity2 => entity1.TeamID == entity2.TeamID));\n else {\n this.filterData = this.commentData.filter(entity1 => entity1.TeamID == this.TeamID);\n }\n if (this.filterData) {\n for (let i = 0; i < this.filterData.length; i++) {\n this.description = '';\n this.descriptionList = [];\n if (this.filterData[i].Comment !== null) {\n\n this.description = this.filterData[i].Comment.split(\",\");\n if (this.description.toString().trim() != '') {\n for (let j = 0; j < this.description.length; j++) {\n\n if (this.description[j].toString().trim() !== '') {\n this.descriptionList.push(this.description[j]);\n }\n }\n }\n }\n if (this.descriptionList.toString() !== '') {\n\n this.mainData.push({\n 'comment': this.descriptionList,\n 'name': this.filterData[i].FrustrationsTypeName,\n 'TeamID': this.filterData[i].TeamID,\n 'TeamName': this.filterData[i].TeamName\n });\n }\n }\n }\n else {\n this.processPaging = false;\n this.isDisable = true;\n this.disableSearch = true;\n this.wrng = \"No data available\";\n return;\n }\n this.saveFilter = this.mainData;\n if (this.mainData.length === 0) {\n this.processPaging = false;\n this.isDisable = true;\n this.disableSearch = true;\n this.wrng = \"No data available\";\n }\n else {\n this.rowCount = this.mainData.length;\n this.processPaging = true;\n this.isDisable = false;\n this.disableSearch = false;\n this.dynamicRows = 10;\n this.rowsOnPageSet = [];\n while (this.dynamicRows < this.rowCount) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 10;\n }\n if (!this.rowsOnPageSet.includes(this.rowCount)) this.rowsOnPageSet.push(this.rowCount);\n if (this.rowsOnPageSet.length > 0) {\n if (this.rowsOnPageSet[0] <= 10)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n }\n }\n\n GetCommentsOnFrustration() {\n this.mainData = [];\n this.descriptionList = [];\n this.dorseyService.GetCommentsOnFrustration(this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.commentData = subData;\n });\n }\n\n\n Searchtext() {\n this.mainData = JSON.parse(JSON.stringify(this.saveFilter));\n let tempComment = this.mainData.filter(\n (item) => {\n return (\n (item.name != null && item.name.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.TeamName != null && item.TeamName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.comment != null && (item.comment.filter(\n (da) => {\n return (\n da != null && da.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1\n )\n }\n )\n )\n ).length\n )\n });\n this.mainData = tempComment;\n if (this.mainData.length == 0) {\n this.wrng = \"No data available\";\n this.isDisable = true;\n return;\n } else {\n this.isDisable = false;\n }\n if (this.searchtext === '') {\n this.mainData = this.saveFilter;\n this.dynamicRows = 10;\n this.rowsOnPageSet = [];\n this.rowCount = this.mainData.length;\n while (this.dynamicRows < this.rowCount) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 10;\n }\n if (!this.rowsOnPageSet.includes(this.rowCount))\n this.rowsOnPageSet.push(this.rowCount);\n if (this.rowsOnPageSet) {\n\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n this.isDisable = false;\n } else {\n this.rowCount = tempComment.length;\n this.dynamicRows = 10;\n this.rowsOnPageSet = [];\n while (this.dynamicRows < this.rowCount) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 10;\n }\n if (!this.rowsOnPageSet.includes(this.rowCount)) {\n this.rowsOnPageSet.push(this.rowCount);\n if (this.rowsOnPageSet)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n\n if (this.rowsOnPageSet.length === 1) {\n if (this.rowsOnPageSet[0] <= 10)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n }\n }\n\n\n sort(property) {\n this.arrow = !this.arrow;\n this.isDesc = !this.isDesc; //change the direction \n this.column = property;\n this.direction = this.isDesc ? 1 : -1;\n }\n exportAsXLSX() {\n let allData = JSON.parse(JSON.stringify(this.mainData));\n for (let i = 0; i < allData.length; i++) {\n allData[i][\" No. \"] = i + 1;\n allData[i].Team = allData[i].TeamName;\n allData[i].Frustration = allData[i].name;\n let comment = '';\n let Data = allData[i].comment;\n for (let i = 0; i < Data.length; i++) {\n comment = comment + Data[i] + '\\n';\n }\n allData[i].Comment = comment;\n delete allData[i].name;\n delete allData[i].comment;\n delete allData[i].TeamName;\n delete allData[i].TeamID;\n }\n let name: any;\n if (this.TeamName) {\n name = this.TeamName;\n }\n else {\n name = \"Aggregate Report\";\n }\n this.dorseyService.generateExcel(allData, this.companyName + '_Comments on frustrations' + \"_\" + (new Date().getMonth() + 1) + '-' + new Date().getDate() + '-' + new Date().getFullYear(), 'Comments on frustrations', \"Company: \" + this.companyName, \"Team: \" + name, \"Comments on frustrations Report\", copyRight, 'FFFFFF00', 'FF0000FF');\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { DorseyService } from '../dorsey.service';\nimport { LocalStorageService } from 'ngx-webstorage';\nimport { EmployeeLoginLevel } from '../common/models/login-level.model';\nimport { copyRight } from '../copyRight.model';\n\n@Component({\n selector: 'app-frustration-reports',\n templateUrl: './frustration-reports.component.html',\n // styleUrls: ['./frustration-reports.component.scss']\n})\nexport class FrustrationReportsComponent implements OnInit {\n copyRight: string = copyRight;\n FrustNoProcessData: any\n searchtext: string;\n isDesc: boolean = false;\n column = \"\";\n direction: number;\n arrow = true;\n p: number = 1;\n rowsOnPage = 10;\n rowsOnPageSet = [];\n rowCount: any;\n dynamicRows = 10;\n processPaging = false;\n saveFilter = [];\n CompanyID: string;\n isDisable = false;\n disableSearch = false;\n UserTeamID: string;\n teamData: any;\n TeamID: any;\n filterData = [];\n EmployeeID: string;\n pointerData: any;\n tempTeam = [];\n TeamName: string;\n companyName: string;\n headerDate = new Date();\n employeeData: any;\n copyDate: number;\n employeeDetails: any;\n constructor(public dorseyService: DorseyService, private storage: LocalStorageService) {\n this.EmployeeID = this.storage.retrieve('EmployeeID');\n this.companyName = this.storage.retrieve('LoginCompanyName');\n this.employeeDetails = this.storage.retrieve('employeeDetails');\n if (this.EmployeeID.toString() === \"0\") {\n\n }\n else {\n this.TeamID = this.storage.retrieve('TeamID');\n }\n }\n\n ngOnInit() {\n this.TeamID = this.storage.retrieve('TeamID');\n this.CompanyID = this.storage.retrieve('companyID');\n this.GetFrustNoProcess();\n this.GetTeam();\n this.copyDate = (new Date()).getFullYear();\n if (this.employeeDetails) {\n this.EmployeeID = this.employeeDetails.EmployeeID;\n this.TeamID = this.employeeDetails.TeamID;\n }\n else {\n this.EmployeeID = '0';\n this.TeamID = 0;\n }\n }\n\n GetSelectedReport(event) {\n this.searchtext = '';\n this.TeamID = event.value;\n let teamd = this.teamData.filter(x => x.TeamID === this.TeamID)\n if (teamd.length > 0) {\n this.TeamName = teamd[0].TeamName;\n }\n this.ConstructReport();\n }\n\n GetTeam() {\n\n this.TeamName = '';\n this.dorseyService.GetTeam(this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n\n this.dorseyService.GetFrustNoProcess(this.CompanyID).subscribe(subDat1 => {\n subDat1 = JSON.parse(subDat1['_body']);\n this.FrustNoProcessData = subDat1;\n this.teamData = subData;\n\n if (this.employeeDetails) {\n if (this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Department) {\n this.teamData = this.teamData.filter(ent => ent.DepartmentID === this.employeeDetails.DepartmentID);\n\n }\n else if (this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Team) {\n this.teamData = this.teamData.filter(ent => ent.DepartmentID === this.employeeDetails.DepartmentID && ent.TeamID == this.employeeDetails.TeamID);\n this.TeamID = this.teamData[0].TeamID;\n this.TeamName = this.teamData[0].TeamName;\n }\n }\n if (this.TeamID == 0) {\n this.teamData = this.teamData.filter(entity1 => this.FrustNoProcessData.find(entity2 => entity1.TeamID == entity2.TeamID));\n }\n if (this.teamData.length > 0 && !this.TeamID) { this.teamData.splice(0, 0, { TeamID: 0, TeamName: 'Aggregate Report' }); }\n this.ConstructReport();\n });\n });\n }\n ConstructReport() {\n\n this.filterData = [];\n this.dorseyService.GetFrustNoProcess(this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.FrustNoProcessData = subData;\n if (this.TeamID == 0)\n this.filterData = this.FrustNoProcessData.filter(entity1 => this.teamData.find(entity2 => entity1.TeamID == entity2.TeamID));\n else {\n this.filterData = this.FrustNoProcessData.filter(entity1 => entity1.TeamID == this.TeamID);\n }\n\n if (this.filterData.length === 0) {\n this.processPaging = false;\n this.isDisable = true;\n this.disableSearch = true;\n }\n else {\n this.processPaging = true;\n this.isDisable = false;\n this.disableSearch = false;\n this.dynamicRows = 10;\n this.rowsOnPageSet = [];\n this.saveFilter = JSON.parse(JSON.stringify(this.filterData));\n\n this.rowCount = this.filterData.length;\n while (this.dynamicRows < this.rowCount) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 10;\n }\n if (!this.rowsOnPageSet.includes(this.rowCount))\n this.rowsOnPageSet.push(this.rowCount);\n if (this.rowsOnPageSet.length > 0) {\n if (this.rowsOnPageSet[0] <= 10)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n }\n });\n }\n GetFrustNoProcess() {\n\n this.dorseyService.GetFrustNoProcess(this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.FrustNoProcessData = subData;\n\n });\n }\n\n Searchtext() {\n this.filterData = this.saveFilter;\n let tempFrustrationProcess = this.filterData.filter(\n (item) => {\n return (\n (item.ProcessName !== null && item.ProcessName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.CompanyName !== null && item.CompanyName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.ProcessDescription !== null && item.ProcessDescription.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.TeamName !== null && item.TeamName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1)\n );\n }\n\n );\n this.filterData = tempFrustrationProcess;\n if (this.filterData.length == 0) {\n // this.GetActivity();\n this.isDisable = true;\n } else {\n this.isDisable = false;\n }\n if (this.searchtext === '') {\n //this.GetFrustNoProcess();\n this.filterData = this.saveFilter;\n this.dynamicRows = 10;\n this.rowsOnPageSet = [];\n this.rowCount = this.filterData.length;\n while (this.dynamicRows < this.rowCount) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 10;\n }\n if (!this.rowsOnPageSet.includes(this.rowCount))\n this.rowsOnPageSet.push(this.rowCount);\n if (this.rowsOnPageSet) {\n\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n this.isDisable = false;\n } else {\n\n this.rowCount = tempFrustrationProcess.length;\n this.dynamicRows = 10;\n this.rowsOnPageSet = [];\n while (this.dynamicRows < this.rowCount) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 10;\n }\n if (!this.rowsOnPageSet.includes(this.rowCount)) {\n this.rowsOnPageSet.push(this.rowCount);\n if (this.rowsOnPageSet)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n\n if (this.rowsOnPageSet.length === 1) {\n if (this.rowsOnPageSet[0] <= 10)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n }\n }\n\n\n exportAsXLSX() {\n let allData = JSON.parse(JSON.stringify(this.filterData));\n\n for (let i = 0; i < allData.length; i++) {\n allData[i][\" No. \"] = i + 1;\n allData[i].Company = allData[i].CompanyName;\n allData[i].Team = allData[i].TeamName;\n allData[i].Process = allData[i].ProcessName;\n allData[i].Description = allData[i].ProcessDescription;\n\n delete (allData[i].ProcessID);\n delete (allData[i].CompanyName);\n delete (allData[i].ProcessName);\n delete (allData[i].ActivityName);\n delete (allData[i].ProcessDescription);\n delete (allData[i].TeamName);\n delete (allData[i].TeamID);\n\n\n }\n let name: any;\n if (this.TeamName) {\n name = this.TeamName;\n }\n else {\n name = \"Aggregate Report\";\n }\n\n\n this.dorseyService.generateExcel(allData, this.companyName + '_Process with no frustrations' + \"_\" + (new Date().getMonth() + 1) + '-' + new Date().getDate() + '-' + new Date().getFullYear(), 'Process with no frustrations', \"Company: \" + this.companyName, \"Team: \" + name, \"Process with no frustrations Report\", copyRight, 'FFFFFF00', 'FF0000FF');\n }\n\n sort(property) {\n this.arrow = !this.arrow;\n this.isDesc = !this.isDesc; //change the direction \n this.column = property;\n this.direction = this.isDesc ? 1 : -1;\n }\n\n\n}\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { DorseyService } from '../dorsey.service';\nimport { LocalStorageService } from 'ngx-webstorage';\nimport { copyRight } from '../copyRight.model';\n\n@Component({\n selector: 'app-frustrationstype',\n templateUrl: './frustrationstype.component.html',\n})\nexport class FrustrationstypeComponent implements OnInit {\n FrustrationsDescription: string;\n frustTypeData: any;\n isDisable = false;\n disableSearch = false;\n frustPaging = false;\n p: number = 1;\n rowsOnPage = 10;\n rowsOnPageSet = [];\n rowCount: any;\n dynamicRows = 10;\n isDesc: boolean = false;\n searchtext: string = '';\n saveFilter = [];\n FrustrationsTypeName: any;\n FrustrationsTypeID: any;\n condition = false;\n currentUser: string;\n CompanyID: string;\n pointerData: any;\n dataSelf: string;\n column = \"\";\n direction: number;\n arrow = true;\n menuData: any;\n menuID: string;\n menuName: string;\n empID: string;\n MenuPermissions: any;\n loginCompanyName: any;\n userTeamID: any;\n TeamName: string;\n teamData: any;\n userRoleAssignmentData: any;\n rolesData: any;\n UserID: any;\n EmpROleID: any;\n inUse = false;\n constructor(private dorseyService: DorseyService, public dialog: MatDialog, public storage: LocalStorageService) {\n this.currentUser = this.storage.retrieve('user');\n this.menuData = this.storage.retrieve('menuData');\n this.empID = this.storage.retrieve('EmployeeID');\n this.MenuPermissions = this.storage.retrieve('MenuPermissions');\n this.loginCompanyName = this.storage.retrieve('loginCompanyName');\n this.userTeamID = this.storage.retrieve(\"TeamID\");\n this.UserID = this.storage.retrieve('UserID');\n this.EmpROleID = this.storage.retrieve('EmpRoleID');\n\n }\n\n ngOnInit() {\n this.CompanyID = this.storage.retrieve('companyID');\n this.GetFrustrationType();\n this.GetUserRoleAssignment();\n let tempdata = this.menuData;\n this.menuData = tempdata.filter(x => x.MenuName.toString() === 'FrustrationsType');\n if (this.menuData.length > 0) {\n this.menuName = this.menuData[0][\"MenuName\"];\n this.menuID = this.menuData[0][\"MenuID\"];\n }\n this.getTeam();\n\n }\n GetUserRoleAssignment() {\n this.dorseyService.GetUserRoleAssignment().subscribe(userRoles => {\n this.userRoleAssignmentData = JSON.parse(userRoles['_body']);\n this.dorseyService.GetRoles(this.CompanyID).subscribe(users => {\n this.rolesData = JSON.parse(users['_body']);\n if (this.empID.toString() !== '0') {\n let roles = this.userRoleAssignmentData.filter(x => x.UserID === this.UserID);\n if (roles.length > 0) {\n this.EmpROleID = roles[0].RoleID;\n let roleData = this.rolesData.filter(x => x.RoleID === this.EmpROleID);\n if (roleData.length > 0) {\n this.MenuPermissions = JSON.parse(roleData[0].MenuJson);\n }\n\n }\n }\n });\n });\n }\n\n sort(property) {\n this.arrow = !this.arrow;\n this.isDesc = !this.isDesc; //change the direction\n this.column = property;\n this.direction = this.isDesc ? 1 : -1;\n }\n\n GetFrustrationType() {\n this.frustTypeData = [];\n this.dorseyService.GetFrustrationType(\"1\", this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.frustTypeData = subData;\n this.rowCount = this.frustTypeData.length;\n if (this.frustTypeData.length === 0) {\n this.frustPaging = false;\n this.isDisable = true;\n this.disableSearch = true;\n }\n else {\n this.saveFilter = JSON.parse(JSON.stringify(this.frustTypeData));\n this.frustPaging = true;\n this.isDisable = false;\n this.disableSearch = false;\n\n this.dynamicRows = 10;\n this.rowsOnPageSet = [];\n\n while (this.dynamicRows < this.rowCount) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 10;\n }\n if (!this.rowsOnPageSet.includes(this.rowCount))\n this.rowsOnPageSet.push(this.rowCount);\n if (this.rowsOnPageSet.length === 1) {\n if (this.rowsOnPageSet[0] <= 10)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n }\n });\n\n\n }\n\n Searchtext() {\n this.frustTypeData = this.saveFilter;\n let tempFrustType = this.frustTypeData.filter(\n (item) => {\n return (\n (item.FrustrationsTypeName !== null && item.FrustrationsTypeName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.FrustrationsDescription !== null && item.FrustrationsDescription.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1)\n\n );\n }\n );\n this.frustTypeData = tempFrustType;\n if (this.frustTypeData.length == 0) {\n this.isDisable = true;\n } else {\n this.isDisable = false;\n }\n if (this.searchtext === '') {\n this.frustTypeData = this.saveFilter;\n this.dynamicRows = 10;\n this.rowsOnPageSet = [];\n this.rowCount = this.frustTypeData.length;\n while (this.dynamicRows < this.rowCount) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 10;\n }\n if (!this.rowsOnPageSet.includes(this.rowCount))\n this.rowsOnPageSet.push(this.rowCount);\n if (this.rowsOnPageSet) {\n\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n this.isDisable = false;\n } else {\n\n this.rowCount = tempFrustType.length;\n this.dynamicRows = 10;\n this.rowsOnPageSet = [];\n while (this.dynamicRows < this.rowCount) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 10;\n }\n if (!this.rowsOnPageSet.includes(this.rowCount)) {\n this.rowsOnPageSet.push(this.rowCount);\n if (this.rowsOnPageSet)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n\n if (this.rowsOnPageSet.length === 1) {\n if (this.rowsOnPageSet[0] <= 10)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n }\n }\n\n\n\n exportAsXLSX() {\n let allData = JSON.parse(JSON.stringify(this.frustTypeData));\n for (let i = 0; i < allData.length; i++) {\n allData[i][\"Frustration Types\"] = allData[i].FrustrationsTypeName;\n allData[i][\"Description\"] = allData[i].FrustrationsDescription;\n delete (allData[i].FrustrationsTypeID);\n delete (allData[i].FrustrationsTypeName\n );\n delete (allData[i].FrustrationsDescription);\n delete (allData[i].CreatedDate);\n\n delete (allData[i].CreatedBy);\n delete (allData[i].UpdatedDate);\n delete (allData[i].UpdatedBy);\n delete (allData[i].IsActive);\n\n delete (allData[i].Process);\n delete (allData[i].PointerTypeID);\n delete (allData[i].CompanyID);\n delete (allData[i].VersionID);\n }\n\n this.dorseyService.generateExcel(allData, this.loginCompanyName + '_frustration Types' + \"_\" + (new Date().getMonth() + 1) + '-' + new Date().getDate() + '-' + new Date().getFullYear(), 'Frustration Types', \"Company: \" + this.loginCompanyName, '', \"Frustration Types Report\", copyRight, 'FFFFFF00', 'FF0000FF');\n }\n\n getTeam() {\n this.TeamName = '';\n this.dorseyService.GetTeam(this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.teamData = subData;\n let tempData = this.teamData.filter(x => x.TeamID === this.userTeamID);\n if (tempData.length > 0) {\n this.TeamName = tempData[0].TeamName;\n }\n });\n }\n\n OpenFrustType() {\n this.dialogCall('new');\n }\n\n dialogCall(msg: string) {\n const dialogRef = this.dialog.open(FrustTypeDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: msg + 'æææ' + false,\n });\n dialogRef.componentInstance.currentUser = this.currentUser;\n dialogRef.componentInstance.frustTypeData = this.frustTypeData;\n dialogRef.componentInstance.CompanyID = this.CompanyID;\n if (msg === 'new') {\n this.searchtext = '';\n this.GetFrustrationType();\n }\n if (msg === 'edit') {\n\n dialogRef.componentInstance.FrustrationsTypeName = this.FrustrationsTypeName;\n dialogRef.componentInstance.FrustrationsTypeID = this.FrustrationsTypeID;\n dialogRef.componentInstance.FrustrationsDescription = this.FrustrationsDescription;\n dialogRef.componentInstance.inUse = this.inUse;\n\n }\n\n dialogRef.afterClosed().subscribe(result => {\n\n if (this.searchtext !== '' && this.searchtext !== undefined) {\n this.Searchtext();\n }\n else {\n this.GetFrustrationType();\n }\n\n if (result.toString() === 'true') {\n\n let statusMsg = '';\n if (msg === 'new') {\n statusMsg = 'Saved successfully';\n }\n else {\n\n statusMsg = 'Updated successfully';\n }\n this.GetFrustrationType();\n\n const dialogRefsub = this.dialog.open(FrustTypeDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: statusMsg + 'æææ' + false,\n // width: '30%'\n });\n\n setTimeout(() => {\n this.GetFrustrationType();\n }, 500);\n dialogRefsub.afterClosed().subscribe(result1 => {\n this.dynamicRows = 10;\n // this.rowsOnPageSet=[];\n\n if (this.searchtext !== '') {\n this.Searchtext();\n }\n else {\n this.GetFrustrationType();\n }\n\n\n });\n\n\n\n }\n\n });\n }\n\n EditFrustType(element) {\n\n this.FrustrationsTypeID = element.FrustrationsTypeID;\n\n this.FrustrationsTypeName = element.FrustrationsTypeName;\n this.storage.store('FTName', this.FrustrationsTypeName);\n this.FrustrationsDescription = element.FrustrationsDescription;\n\n this.GetPointer();\n let issueCount = 0;\n setTimeout(() => {\n\n for (let i = 0; i < this.pointerData.length; i++) {\n\n if (this.FrustrationsTypeID == this.pointerData[i].FrustrationsTypeID) {\n issueCount++;\n }\n }\n if (!issueCount) {\n this.inUse = false;\n this.dialogCall('edit');\n\n } else {\n this.inUse = true;\n this.dialogCall(\"edit\");\n }\n }, 500);\n //this.dialogCall('edit');\n }\n\n GetPointer() {\n this.pointerData = [];\n this.dorseyService.GetPointer(this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.pointerData = subData;\n });\n }\n\n ifMaxRow() {\n\n if (this.rowsOnPage == this.frustTypeData.length) {\n this.rowsOnPage = this.rowsOnPage - 1;\n }\n }\n\n DeleteFrustType(element) {\n this.FrustrationsTypeID = element.FrustrationsTypeID;\n this.GetPointer();\n let issueCount = 0;\n setTimeout(() => {\n\n for (let i = 0; i < this.pointerData.length; i++) {\n\n if (this.FrustrationsTypeID == this.pointerData[i].FrustrationsTypeID) {\n issueCount++;\n }\n }\n\n if (issueCount) {\n this.dialogCall(\"This frustration type is in use\");\n }\n else {\n\n\n const dialogRef = this.dialog.open(FrustTypeDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: 'Are you sure you want to delete frustration type: ' + element.FrustrationsTypeName + '?æææ' + true,\n // width: '40%'\n });\n // this.condition = true;\n\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n\n /// this.condition = true;\n\n if (!issueCount) {\n this.dorseyService.DeleteType(this.FrustrationsTypeID).subscribe(data => {\n\n if (data.ok) {\n this.ifMaxRow();\n this.condition = true;\n this.dialogCall('Deleted successfully');\n this.frustTypeData = [];\n this.GetFrustrationType();\n }\n this.dynamicRows = 10;\n this.rowsOnPageSet = [];\n\n\n });\n } else {\n //this.dialogCall(\"This frustration type is in use\");\n }\n\n\n\n }\n });\n }\n }, 1000);\n\n }\n\n}\n\n\n@Component({\n selector: 'app-dialog',\n templateUrl: 'dialog.html',\n // styleUrls: ['dialog.css'],\n providers: [DorseyService]\n})\nexport class FrustTypeDialogComponent implements OnInit {\n FrustrationsDescription: string;\n condition = false;\n dataSelf: string;\n FrustrationsTypeName: string;\n FrustrationsTypeID: string;\n frustTypeData: any;\n CompanyID: string;\n currentUser: string;\n TeamDescription: string;\n processIDs = [];\n inUse: boolean;\n btnDisabled = false;\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any, public dorseyService: DorseyService, private storage: LocalStorageService) {\n // dialogRef.disableClose=true;\n this.data = this.data.split('æææ');\n if (this.data[1] === 'true') {\n this.condition = true;\n } else {\n this.condition = false;\n }\n this.data = this.data[0];\n }\n ngOnInit() {\n\n\n\n }\n onYesClick() {\n this.dialogRef.close(true);\n }\n onNoClick(): void {\n this.dialogRef.close();\n }\n process(event) {\n this.processIDs = event.value;\n }\n AddFrustType() {\n this.btnDisabled = true;\n\n setTimeout(() => {\n this.btnDisabled = false;\n }, 1000);\n let count = 0;\n const Editcount = 0;\n\n if (this.FrustrationsTypeName == undefined ||\n this.FrustrationsTypeName.trim() === '') {\n this.dataSelf = 'Please enter mandatory(*) fields';\n if (this.data === 'new') {\n }\n count++;\n }\n\n if (count === 0 && Editcount === 0) {\n this.dataSelf = '';\n if (this.data === 'new') {\n this.Saving(this.data);\n } else {\n this.Saving(this.data);\n }\n } else {\n }\n }\n\n\n GetFrustrationType() {\n this.frustTypeData = [];\n this.dorseyService.GetFrustrationType(\"1\", this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.frustTypeData = subData;\n\n });\n }\n Saving(msg: string) {\n\n\n\n const json = {\n\n FrustrationsTypeName: this.FrustrationsTypeName,\n CreatedBy: this.currentUser,\n FrustrationsTypeID: this.FrustrationsTypeID,\n CompanyID: this.CompanyID,\n PointerTypeID: 1,\n FrustrationsDescription: this.FrustrationsDescription\n\n };\n if (msg === 'new') {\n\n for (let i = 0; i < this.frustTypeData.length; i++) {\n if (this.FrustrationsTypeName.toLowerCase().trim() === this.frustTypeData[i].FrustrationsTypeName.toLowerCase().trim()) {\n\n this.dataSelf = \"Frustration type already exists\";\n return;\n setTimeout(() => {\n this.dataSelf = '';\n return;\n }, 2000);\n //this.companyName = \"\";\n }\n }\n\n this.dorseyService.SaveTypes(json, 'No').subscribe(data => {\n\n\n\n if (data['_body'].toString() === 'true') {\n this.dataSelf = 'Saved successfully';\n this.GetFrustrationType();\n //this.dialogRef.close(true);\n this.FrustrationsTypeName = '';\n setTimeout(() => {\n this.dataSelf = '';\n }, 2000);\n } else {\n this.dataSelf = 'Save failed';\n }\n\n });\n } else {\n\n for (let i = 0; i < this.frustTypeData.length; i++) {\n if (this.FrustrationsTypeName.toLowerCase().trim() === this.frustTypeData[i].FrustrationsTypeName.toLowerCase().trim() && this.FrustrationsTypeName.toLowerCase().trim() !== this.storage.retrieve('FTName').toLowerCase().trim()) {\n\n this.dataSelf = \"Frustration type already exists\";\n return;\n setTimeout(() => {\n this.dataSelf = '';\n return;\n }, 2000);\n //this.companyName = \"\";\n }\n }\n\n this.dorseyService.SaveTypes(json, 'No').subscribe(data => {\n if (data['_body'].toString() === 'true') {\n this.dialogRef.close(true);\n } else {\n this.dataSelf = 'Updated successfully';\n }\n });\n }\n }\n Clear() {\n this.dialogRef.close(false);\n }\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2dvYWxzL2dvYWxzLmNvbXBvbmVudC5zY3NzIn0= */\"","import { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { GoalService } from '../services/goal.service';\nimport { DorseyService } from '../dorsey.service';\nimport { LocalStorageService } from 'ngx-webstorage';\nimport { copyRight } from '../copyRight.model';\n\n@Component({\n selector: 'app-goals',\n templateUrl: './goals.component.html',\n styleUrls: ['./goals.component.scss']\n})\nexport class GoalsComponent implements OnInit {\n\n GoalsList: any;\n TempGoalsList: any;\n GoalName: string;\n GoalDescription: string;\n GoalID: any;\n isDisable = false;\n disableSearch = false;\n GoalPaging = false;\n p: number = 1;\n rowsOnPage = 10;\n rowsOnPageSet = [];\n rowCount: any;\n dynamicRows = 10;\n isDesc: boolean = false;\n searchtext: string;\n saveFilter = [];\n condition = false;\n currentUser: string;\n CompanyID: string;\n dataSelf: string;\n column = \"\";\n direction: number;\n arrow = true;\n menuData: any;\n menuID: string;\n menuName: string;\n editGoalName: string;\n empID: string;\n MenuPermissions: any;\n loginCompanyName: any;\n userTeamID: any;\n TeamName: string;\n teamData: any;\n userRoleAssignmentData: any;\n rolesData: any;\n UserID: any;\n EmpROleID: any;\n inUse = false;\n metricData: any;\n constructor(private dorseyService: DorseyService,\n public dialog: MatDialog,\n public storage: LocalStorageService,\n private goalService: GoalService) {\n this.currentUser = this.storage.retrieve('user');\n this.menuData = this.storage.retrieve('menuData');\n this.empID = this.storage.retrieve('EmployeeID');\n this.MenuPermissions = this.storage.retrieve('MenuPermissions');\n this.loginCompanyName = this.storage.retrieve('loginCompanyName');\n this.userTeamID = this.storage.retrieve(\"TeamID\");\n this.UserID = this.storage.retrieve('UserID');\n this.EmpROleID = this.storage.retrieve('EmpRoleID');\n }\n\n ngOnInit(): void {\n this.CompanyID = this.storage.retrieve('companyID');\n this.menuData = this.menuData.filter(x => x.MenuName.toString() === 'Goals');\n if (this.menuData.length > 0) {\n this.menuName = this.menuData[0][\"MenuName\"];\n this.menuID = this.menuData[0][\"MenuID\"];\n }\n this.getGoals();\n this.getMetrics();\n }\n\n getMetrics(): void {\n this.dorseyService.GetPointer(this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.metricData = subData;\n this.metricData = this.metricData.filter(x => x.PointerTypeID != null && x.PointerTypeID.toString() === \"2\");\n });\n }\n\n sort(property) {\n this.arrow = !this.arrow;\n this.isDesc = !this.isDesc; //change the direction\n this.column = property;\n this.direction = this.isDesc ? 1 : -1;\n }\n /*\n New Goal Modal open\n */\n NewGoal() {\n this.dialogCall('new');\n }\n /*\nRetriving Company Goals\n*/\n getGoals(): void {\n this.rowsOnPage = 10;\n this.goalService.getGoals(parseInt(this.CompanyID)).subscribe(resp => {\n this.GoalsList = resp.Data;\n this.TempGoalsList = this.GoalsList;\n this.rowCount = this.GoalsList.length;\n if (this.GoalsList.length === 0) {\n this.GoalPaging = false;\n this.isDisable = true;\n this.disableSearch = true;\n }\n else {\n this.saveFilter = this.GoalsList;\n this.GoalPaging = true;\n this.isDisable = false;\n this.disableSearch = false;\n this.GoalPagination(this.rowCount);\n }\n });\n\n\n }\n /*Set Pagination for goals */\n\n GoalPagination(RowCount) {\n this.dynamicRows = 10;\n this.rowsOnPageSet = [];\n this.rowsOnPage = 10;\n this.rowCount = RowCount;\n while (this.dynamicRows < this.rowCount) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 10;\n }\n if (!this.rowsOnPageSet.includes(this.rowCount)) {\n this.rowsOnPageSet.push(this.rowCount);\n if (this.rowsOnPageSet.length === 1) {\n if (this.rowsOnPageSet[0] <= 10)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n }\n }\n /*\n Search Goals data\n */\n\n searchText() {\n this.GoalsList = this.saveFilter;\n let tempListGoals = this.GoalsList.filter(\n (item) => {\n return (\n (item.GoalName !== null && item.GoalName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.GoalDescription !== null && item.GoalDescription.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1)\n\n );\n }\n );\n this.GoalsList = tempListGoals;\n if (this.GoalsList.length == 0) {\n this.isDisable = true;\n } else {\n this.isDisable = false;\n }\n if (this.searchtext === '') {\n this.GoalsList = this.saveFilter;\n this.rowCount = this.GoalsList.length;\n this.isDisable = false;\n this.GoalPagination(this.rowCount);\n }\n else {\n this.rowCount = tempListGoals.length;\n this.GoalPagination(this.rowCount);\n if (this.rowsOnPageSet.length === 1) {\n if (this.rowsOnPageSet[0] <= 10)\n\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n }\n }\n\n /*\n Dialog open\n */\n dialogCall(msg: string) {\n const dialogRef = this.dialog.open(GoalDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: msg + 'æææ' + false,\n\n });\n dialogRef.componentInstance.currentUser = this.currentUser;\n dialogRef.componentInstance.GoalsList = this.GoalsList;\n dialogRef.componentInstance.CompanyID = this.CompanyID;\n if (msg === 'new') {\n this.searchtext = '';\n this.GoalPagination(this.TempGoalsList.length);\n this.GoalsList = this.TempGoalsList;\n }\n if (msg === 'edit') {\n dialogRef.componentInstance.GoalName = this.GoalName;\n dialogRef.componentInstance.GoalDescription = this.GoalDescription;\n dialogRef.componentInstance.GoalID = this.GoalID;\n dialogRef.componentInstance.editGoalName = this.editGoalName;\n }\n\n dialogRef.afterClosed().subscribe(result => {\n if (this.searchtext !== '' && this.searchtext !== undefined) {\n this.searchText();\n }\n else {\n this.getGoals();\n }\n if (result.toString() === 'true') {\n let statusMsg = '';\n if (msg === 'new') {\n statusMsg = 'Saved successfully';\n }\n else {\n statusMsg = 'Updated successfully';\n }\n this.getGoals();\n const dialogRefsub = this.dialog.open(GoalDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: statusMsg + 'æææ' + false,\n // width: '30%'\n });\n\n setTimeout(() => {\n this.getGoals();\n }, 500);\n dialogRefsub.afterClosed().subscribe(result1 => {\n this.dynamicRows = 10;\n if (this.searchtext !== '') {\n this.searchText();\n }\n else {\n this.getGoals();\n }\n });\n }\n });\n }\n\n /*\n Edit goal\n */\n EditGoal(goalRow) {\n this.GoalID = goalRow.GoalID;\n this.GoalName = goalRow.GoalName;\n this.GoalDescription = goalRow.GoalDescription;\n this.editGoalName = goalRow.GoalName;\n this.CompanyID = goalRow.CompanyID;\n this.dialogCall('edit');\n }\n\n ifMaxRow() {\n if (this.rowsOnPage == this.GoalsList.length) {\n this.rowsOnPage = this.rowsOnPage - 1;\n }\n }\n\n /*\n Delete Goal\n */\n DeleteGoal(GoalRow: any) {\n this.GoalID = GoalRow.GoalID;\n const dialogRef = this.dialog.open(GoalDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: 'Are you sure you want to delete goal: ' + GoalRow.GoalName + '?æææ' + true,\n\n });\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n if (this.metricData && !this.metricData.find(ent => ent.GoalID == this.GoalID)) {\n this.goalService.deleteGoal(this.GoalID).subscribe(resp => {\n if (resp.Data == true) {\n this.ifMaxRow();\n this.condition = true;\n this.dialogCall('Deleted successfully');\n this.getGoals();\n }\n });\n } else {\n this.dialogCall(\"Delete Failed. This Goal is associated with Metrics\");\n }\n }\n });\n }\n\n exportAsXLSX() {\n let allData = JSON.parse(JSON.stringify(this.GoalsList));\n for (let i = 0; i < allData.length; i++) {\n allData[i][\"Goal Name\"] = allData[i].GoalName;\n allData[i][\"Description\"] = allData[i].GoalDescription;\n delete (allData[i].GoalID);\n delete (allData[i].GoalName);\n delete (allData[i].GoalDescription);\n delete (allData[i].CreatedDate);\n delete (allData[i].CreatedBy);\n delete (allData[i].UpdatedDate);\n delete (allData[i].UpdatedBy);\n delete (allData[i].IsActive);\n delete (allData[i].CompanyID);\n }\n\n\n this.dorseyService.generateExcel(allData, this.loginCompanyName + '_goals' + \"_\" + (new Date().getMonth() + 1) + '-' + new Date().getDate() + '-' + new Date().getFullYear(), 'Goals', \"Company: \" + this.loginCompanyName, '', \"Goals Report\", copyRight, 'FFFFFF00', 'FF0000FF');\n\n }\n}\n\n@Component({\n selector: 'app-dialog',\n templateUrl: 'dialog.html',\n})\nexport class GoalDialogComponent implements OnInit {\n GoalDescription: string;\n condition = false;\n dataSelf: string;\n GoalName: string;\n GoalID: string;\n GoalsList: any = [];\n CompanyID: string;\n currentUser: string;\n\n editGoalName: string;\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any, private goalService: GoalService, private storage: LocalStorageService) {\n this.data = this.data.split('æææ');\n if (this.data[1] === 'true') {\n this.condition = true;\n } else {\n this.condition = false;\n }\n this.data = this.data[0];\n }\n\n ngOnInit(): void {\n }\n\n onYesClick(): void {\n this.dialogRef.close(true);\n }\n\n onNoClick(): void {\n this.dialogRef.close();\n }\n\n ValidateGoal(): void {\n this.dataSelf = '';\n if (!this.GoalName.trim()) {\n this.dataSelf = 'Please enter mandatory(*) fields';\n return;\n }\n this.saveGoal(this.data);\n }\n\n saveGoal(msg: string): void {\n const entity = {\n GoalName: this.GoalName,\n CreatedBy: this.currentUser,\n GoalID: this.GoalID,\n CompanyID: this.CompanyID,\n UpdatedBy: this.currentUser,\n GoalDescription: this.GoalDescription\n };\n if (msg === 'new') {\n if (this.GoalsList.find(ent => ent.GoalName.toLowerCase().trim() === this.GoalName.toLowerCase().trim())) {\n this.dataSelf = \"Goal name already exists\";\n return;\n }\n this.goalService.saveGoal(entity).subscribe(resp => {\n if (resp.Data === true) {\n this.dataSelf = 'Saved successfully';\n this.GoalName = '';\n this.GoalDescription = '';\n setTimeout(() => {\n this.dataSelf = '';\n }, 2000);\n } else {\n this.dataSelf = 'Save failed';\n }\n });\n }\n else {\n if (this.editGoalName != this.GoalName)\n if (this.GoalsList.find(ent => ent.GoalName.toLowerCase().trim() === this.GoalName.toLowerCase().trim())) {\n this.dataSelf = \"Goal name already exists\";\n return;\n }\n this.goalService.saveGoal(entity).subscribe(resp => {\n if (resp.Data === true) {\n this.dialogRef.close(true);\n } else {\n this.dataSelf = 'Updated successfully';\n }\n });\n }\n }\n\n Clear(): void {\n this.dialogRef.close(false);\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { DorseyService } from '../dorsey.service';\nimport { LocalStorageService } from 'ngx-webstorage';\nimport { copyRight } from '../copyRight.model';\n\n@Component({\n selector: 'app-hipriority',\n templateUrl: './hipriority.component.html',\n //styleUrls: ['./hipriority.component.scss']\n})\nexport class HipriorityComponent implements OnInit {\n copyRight: string = copyRight;\n CompanyID: string;\n projectData: any;\n isDisable = false;\n disableSearch = false;\n saveFilter = [];\n rowCount: any;\n projectPaging = false;\n searchtext: string;\n p: number = 1;\n rowsOnPage = 10;\n rowsOnPageSet = [];\n dynamicRows = 10;\n companyName: string;\n headerDate = new Date();\n TeamName: string;\n copyDate: number;\n isDesc: boolean = false;\n column = \"\";\n direction: number;\n arrow = true;\n EmployeeID: string;\n TeamID: string;\n constructor(private dorsey: DorseyService, private storage: LocalStorageService) {\n this.CompanyID = this.storage.retrieve('companyID');\n this.companyName = this.storage.retrieve('LoginCompanyName');\n this.EmployeeID = this.storage.retrieve('EmployeeID');\n if (this.EmployeeID.toString() === \"0\") {\n\n }\n else {\n this.TeamID = this.storage.retrieve('TeamID');\n }\n\n }\n\n ngOnInit() {\n this.GetProjects();\n this.copyDate = (new Date()).getFullYear();\n }\n GetProjects() {\n this.dorsey.GetProjects(this.CompanyID).subscribe(data => {\n this.projectData = JSON.parse(data[\"_body\"]);\n let tempProjectsData = this.projectData;\n this.projectData = tempProjectsData.filter(x => x.StatusID === 2);\n if (this.projectData.length === 0) {\n this.projectPaging = false;\n this.isDisable = true;\n this.disableSearch = true;\n }\n else {\n this.saveFilter = JSON.parse(JSON.stringify(this.projectData));\n this.projectPaging = true;\n this.isDisable = false;\n this.disableSearch = false;\n this.rowCount = this.projectData.length;\n while (this.dynamicRows < this.rowCount) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 10;\n }\n if (!this.rowsOnPageSet.includes(this.rowCount))\n this.rowsOnPageSet.push(this.rowCount);\n if (this.rowsOnPageSet.length === 1) {\n if (this.rowsOnPageSet[0] <= 10)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n\n }\n });\n }\n\n sort(property) {\n this.arrow = !this.arrow;\n this.isDesc = !this.isDesc; //change the direction\n this.column = property;\n this.direction = this.isDesc ? 1 : -1;\n }\n\n Searchtext() {\n this.projectData = this.saveFilter;\n let tempProjects = this.projectData.filter(\n (item) => {\n return (\n (item.ProjectName !== null && item.ProjectName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.ProjectDescription !== null && item.ProjectDescription.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.ProjectStatusName !== null && item.ProjectStatusName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.TeamName !== null && item.TeamName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1)\n || (item.ProjectOwner !== null && item.ProjectOwner.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1)\n );\n }\n );\n this.projectData = tempProjects;\n if (this.projectData.length == 0) {\n this.isDisable = true;\n } else {\n this.isDisable = false;\n }\n if (this.searchtext === '') {\n this.projectData = this.saveFilter;\n this.dynamicRows = 10;\n this.rowsOnPageSet = [];\n this.rowCount = this.projectData.length;\n while (this.dynamicRows < this.rowCount) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 10;\n }\n if (!this.rowsOnPageSet.includes(this.rowCount))\n this.rowsOnPageSet.push(this.rowCount);\n if (this.rowsOnPageSet) {\n\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n this.isDisable = false;\n } else {\n this.rowCount = tempProjects.length;\n this.dynamicRows = 10;\n this.rowsOnPageSet = [];\n while (this.dynamicRows < this.rowCount) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 10;\n }\n if (!this.rowsOnPageSet.includes(this.rowCount)) {\n this.rowsOnPageSet.push(this.rowCount);\n if (this.rowsOnPageSet)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n\n if (this.rowsOnPageSet.length === 1) {\n if (this.rowsOnPageSet[0] <= 10)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n }\n }\n\n\n exportAsXLSX() {\n\n let allData = JSON.parse(JSON.stringify(this.projectData));\n for (let i = 0; i < allData.length; i++) {\n allData[i][\" No. \"] = i + 1;\n allData[i].Team = allData[i].TeamName;\n allData[i].Project = allData[i].ProjectName;\n allData[i].Description = allData[i].ProjectDescription;\n allData[i].Status = allData[i].ProjectStatusName;\n allData[i]['Project Owner'] = allData[i].ProjectOwner;\n \n delete (allData[i].DepartmentID);\n delete (allData[i].ProjectName);\n delete (allData[i].ProjectStatusName);\n delete (allData[i].CompanyID);\n delete (allData[i].ProjectDescription);\n delete (allData[i].ProjectOwner);\n delete (allData[i].TeamName);\n\n delete (allData[i].ProjectID);\n delete (allData[i].StatusID);\n delete (allData[i].RowID);\n delete (allData[i].ProjectStatusID);\n\n delete (allData[i].IsActive);\n delete (allData[i].EmployeeID);\n delete (allData[i].CreatedDate);\n\n delete (allData[i].CreatedBy);\n delete (allData[i].UpdatedDate);\n delete (allData[i].UpdatedBy);\n\n delete (allData[i].StatusID1);\n delete (allData[i].IsActive1);\n delete (allData[i].CreatedDate1);\n\n delete (allData[i].CreatedBy1);\n delete (allData[i].UpdatedDate1);\n delete (allData[i].UpdatedBy1);\n delete (allData[i].ProjectStatusName1);\n delete (allData[i].ProjectDueDate);\n\n delete (allData[i].TeamID);\n delete (allData[i].TeamID1);\n delete (allData[i].ProcessID);\n delete (allData[i].CompanyID1);\n delete (allData[i].IsActive2);\n delete (allData[i].CreatedDate2);\n delete (allData[i].CreatedBy2);\n delete (allData[i].UpdatedBy2);\n delete (allData[i].UpdatedDate2);\n delete (allData[i].TeamDescription);\n delete (allData[i].TeamName1);\n }\n let team: any;\n team = '';\n /*if(this.EmployeeID.toString()==='0'){\n team='';\n }else{\n if(this.TeamID.toString()==='0'|| this.TeamID.toString()===null || this.TeamID.toString()===undefined){\n team='';\n }else{\n team= 'Team: '+this.TeamName;\n }\n }*/\n this.dorsey.generateExcel(allData, this.companyName + '_Prioritized Projects' + \"_\" + (new Date().getMonth() + 1) + '-' + new Date().getDate() + '-' + new Date().getFullYear(), 'Prioritized Projects', \"Company: \" + this.companyName, team, \"Prioritized Projects Report\", copyRight, 'FFFFFF00', 'FF0000FF');\n }\n\n}\n","export const AzureDetails = {\r\n BaseURL: \"https://login.microsoftonline.com/\",\r\n TenantId: \"9ee0e6d7-1d0a-423f-8648-15144ef85081\",\r\n ClientId: '0bf259f0-2b2f-44cf-b74c-586d432fa378',\r\n RedirectURL: \"https://sugarcreek.tdgdm.com/\",\r\n scopeUri: ['https://graph.microsoft.com/v1.0/me',['user.Read']]\r\n };\r\n\r\n\r\n","module.exports = \"\\r\\n@media only screen and (max-width: 600px) {\\r\\n #changepassword{\\r\\n width: 100%;\\r\\n }\\r\\n }\\r\\n @media (max-width: 576px)\\r\\n{\\r\\n.closechngbtn {\\r\\n color: #aaaaaa;\\r\\n float: right;\\r\\n font-size: 28px;\\r\\n font-weight: bold;\\r\\n cursor: pointer;\\r\\n margin-right: 0px;\\r\\n margin-top: -17px;\\r\\n top: 0;\\r\\n right: 0;\\r\\n}\\r\\n}\\r\\n .closechngbtn {\\r\\n color: #aaaaaa;\\r\\n float: right;\\r\\n font-size: 28px;\\r\\n font-weight: bold;\\r\\n cursor: pointer;\\r\\n margin-right: 0px;\\r\\n margin-top: -17px;\\r\\n top: 0;\\r\\n right: 0;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbG9naW4vZGlhbG9nLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0E7SUFDSTtRQUNJLFdBQVc7SUFDZjtFQUNGO0VBQ0E7O0FBRUY7SUFDSSxjQUFjO0lBQ2QsWUFBWTtJQUNaLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsZUFBZTtJQUNmLGlCQUFpQjtJQUNqQixpQkFBaUI7SUFDakIsTUFBTTtJQUNOLFFBQVE7QUFDWjtBQUNBO0VBR0E7SUFDSSxjQUFjO0lBQ2QsWUFBWTtJQUNaLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsZUFBZTtJQUNmLGlCQUFpQjtJQUNqQixpQkFBaUI7SUFDakIsTUFBTTtJQUNOLFFBQVE7QUFDWiIsImZpbGUiOiJzcmMvYXBwL2xvZ2luL2RpYWxvZy5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xyXG4gICAgI2NoYW5nZXBhc3N3b3Jke1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxuICBAbWVkaWEgKG1heC13aWR0aDogNTc2cHgpXHJcbntcclxuLmNsb3NlY2huZ2J0biB7XHJcbiAgICBjb2xvcjogI2FhYWFhYTtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIGZvbnQtc2l6ZTogMjhweDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAwcHg7XHJcbiAgICBtYXJnaW4tdG9wOiAtMTdweDtcclxuICAgIHRvcDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG59XHJcbn1cclxuXHJcblxyXG4uY2xvc2VjaG5nYnRuIHtcclxuICAgIGNvbG9yOiAjYWFhYWFhO1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgZm9udC1zaXplOiAyOHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDBweDtcclxuICAgIG1hcmdpbi10b3A6IC0xN3B4O1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbn1cclxuIl19 */\"","module.exports = \".mat-list {\\n padding: 0;\\n}\\n\\n#matSetup {\\n margin-bottom: 35px;\\n}\\n\\n#matPM {\\n margin-bottom: 25px;\\n}\\n\\n.setUpMenu {\\n margin: 10px 0 15px 0;\\n}\\n\\n.mainMenu {\\n margin-bottom: 15px;\\n}\\n\\n/*.subMenu{\\n margin-bottom: 2px;\\n}*/\\n\\nmat-nav-list .menuStyle {\\n height: 2.8rem;\\n line-height: 2.8rem;\\n margin-left: 10px;\\n}\\n\\nmat-nav-list .childMenu {\\n height: 2.5rem;\\n line-height: 2.5rem;\\n margin-left: 10px;\\n}\\n\\nmat-nav-list .menuStyle {\\n color: #dedede;\\n background-color: #404040;\\n font-family: \\\"Poppins\\\", sans-serif !important;\\n font-size: 18px;\\n cursor: pointer;\\n}\\n\\n.subMenu {\\n color: #dedede;\\n background-color: #2b2b2b;\\n font-family: \\\"Poppins\\\", sans-serif !important;\\n font-size: 14.3px;\\n cursor: pointer;\\n}\\n\\nmat-nav-list .menuStyle:hover,\\nmat-nav-list .childMenu:hover {\\n color: #2b2b2b !important;\\n background-color: white !important;\\n}\\n\\nmat-nav-list .liactive .liactive1 {\\n color: #2b2b2b !important;\\n background-color: white !important;\\n}\\n\\nmat-nav-list .has-module:hover,\\nmat-nav-list .has-module:focus {\\n background-color: #3775b5;\\n color: #2b2b2b !important;\\n}\\n\\nmat-nav-list .has-module .liactive {\\n margin-left: 10px;\\n}\\n\\n.muted {\\n background: #7386D5;\\n}\\n\\n.muted:hover {\\n background: #3f51b5;\\n}\\n\\n.card {\\n height: 100%;\\n text-align: center;\\n vertical-align: middle;\\n}\\n\\n/* app drawer breakpoint */\\n\\nmat-sidenav-container {\\n height: 100%;\\n width: 100%;\\n}\\n\\nmat-drawer {\\n width: 15%;\\n}\\n\\nmat-sidenav {\\n overflow: unset !important;\\n}\\n\\n.mat-drawer-inner-container, .mat-drawer-content {\\n overflow: hidden !important;\\n}\\n\\n.menuPane {\\n height: 80%;\\n overflow-y: auto;\\n scrollbar-width: thin;\\n}\\n\\n.menuPane::-webkit-scrollbar {\\n width: 8px;\\n}\\n\\n/* Track */\\n\\n.menuPane::-webkit-scrollbar-track {\\n background: white;\\n border-radius: 1px;\\n margin: 0;\\n}\\n\\n/* Handle */\\n\\n.menuPane::-webkit-scrollbar-thumb {\\n background: #888;\\n padding: 2px;\\n border-radius: 2.5px;\\n}\\n\\n/* Handle on hover */\\n\\n.menuPane::-webkit-scrollbar-thumb:hover {\\n background: black;\\n}\\n\\n.sidebar-header {\\n display: flex;\\n}\\n\\n.sidebar-header, .sidebar-header h3 {\\n position: relative;\\n}\\n\\n.sidebar-header h3 {\\n z-index: 0;\\n}\\n\\n/*.mat-drawer-backdrop.mat-drawer-shown{\\n background-color: transparent !important;\\n}*/\\n\\n#collapseBtnOnSidenav {\\n position: absolute;\\n z-index: 1;\\n}\\n\\n@media (min-width: 1200px) {\\n #collapseBtnOnSidenav {\\n display: none;\\n }\\n}\\n\\n.flexContainer {\\n display: flex;\\n height: 74px;\\n align-items: center;\\n justify-content: space-between;\\n}\\n\\n#wrapper {\\n flex: 1;\\n}\\n\\nmat-sidenav #sidebar {\\n width: 15%;\\n}\\n\\n#mainContent {\\n display: flex;\\n width: 100%;\\n flex-direction: column;\\n}\\n\\n#flexWrapper1 {\\n display: flex;\\n}\\n\\n#btnGroup1 {\\n flex: 1;\\n display: flex;\\n}\\n\\n#dmapp_Logo {\\n flex: 2;\\n}\\n\\n#logo_img {\\n padding-top: 2%;\\n width: 170px;\\n}\\n\\n#companyName {\\n flex: 1;\\n word-break: normal;\\n margin-top: 14px;\\n}\\n\\n#btnGroup2 {\\n flex: 1;\\n display: flex;\\n justify-content: flex-end;\\n}\\n\\n/************************150% Zoom**********************/\\n\\n@media (max-width: 960px) {\\n .flexContainer {\\n height: 25%;\\n }\\n}\\n\\n/***************************************/\\n\\n/*******************For Mobile view************************/\\n\\n@media (max-width: 576px) {\\n .flexContainer {\\n display: flex;\\n flex-direction: column;\\n width: 100%;\\n height: 20%;\\n align-items: center;\\n justify-content: space-between;\\n }\\n\\n #wrapper {\\n width: 100%;\\n }\\n\\n #flexWrapper1 {\\n width: 100%;\\n display: flex;\\n }\\n\\n #btnGroup1 {\\n flex: 1;\\n display: flex;\\n }\\n\\n #dmapp_Logo {\\n flex: 2.2;\\n }\\n\\n #logo_img {\\n padding-top: 2%;\\n width: 170px;\\n }\\n\\n #companyName {\\n width: 100%;\\n margin: 2% 2%;\\n text-align: center;\\n word-break: break-all;\\n }\\n\\n .btnGroup2 {\\n width: 100%;\\n }\\n}\\n\\n/*******End mobile view******/\\n\\n/*.mat-sidenav {\\n width: 360px;\\n}\\n.mat-sidenav-container {\\n background-color: white !important;\\n height: 100vh;\\n\\n .mat-sidenav-content {\\n display: flex;\\n flex-direction: column;\\n }\\n}\\n.sidenav-toolbar {\\n height: 64px;\\n// background-color: mat-color($app-primary);\\n display: flex;\\n flex-direction: row;\\n\\n @media (max-width: 600px) {\\n height: 56px;\\n }\\n}\\n.mat-nav-list {\\n padding-top: 0;\\n}*/\\n\\n@media (max-width: 600px) {\\n .fixed-topnav {\\n position: fixed;\\n top: 0;\\n left: 0;\\n z-index: 2;\\n width: 100% !important;\\n }\\n\\n .mat-drawer-container,\\n.mat-drawer {\\n padding-top: 0;\\n }\\n}\\n\\n.menu-list-item.mat-list-item .mat-list-item-content {\\n flex: 1 1 100%;\\n}\\n\\n.version-info {\\n font-size: 8pt;\\n padding: 8px;\\n align-self: flex-end;\\n}\\n\\nh1 {\\n color: #333;\\n font-family: arial, sans-serif;\\n margin: 1em auto;\\n width: 80%;\\n}\\n\\n.tabordion {\\n color: #333;\\n display: block;\\n font-family: arial, sans-serif;\\n margin: auto;\\n position: relative;\\n width: 80%;\\n}\\n\\n.tabordion input[name=sections] {\\n left: -9999px;\\n position: absolute;\\n top: -9999px;\\n}\\n\\n.tabordion section {\\n display: block;\\n}\\n\\n.tabordion section label {\\n background: #ccc;\\n border: 1px solid #fff;\\n cursor: pointer;\\n display: block;\\n font-size: 1.2em;\\n font-weight: bold;\\n padding: 15px 20px;\\n position: relative;\\n width: 180px;\\n z-index: 100;\\n}\\n\\n.tabordion section article {\\n display: none;\\n left: 230px;\\n min-width: 300px;\\n padding: 0 0 0 21px;\\n position: absolute;\\n top: 0;\\n}\\n\\n.tabordion section article:after {\\n background-color: #ccc;\\n bottom: 0;\\n content: \\\"\\\";\\n display: block;\\n left: -229px;\\n position: absolute;\\n top: 0;\\n width: 220px;\\n z-index: 1;\\n}\\n\\n.tabordion input[name=sections]:checked + label {\\n font-size: 16px;\\n}\\n\\n.tabordion input[name=sections]:checked ~ article {\\n display: block;\\n font-size: 16px;\\n background: #eee;\\n color: #000;\\n}\\n\\n@media (max-width: 533px) {\\n h1 {\\n width: 100%;\\n }\\n\\n .tabordion {\\n width: 100%;\\n }\\n\\n .tabordion section label {\\n font-size: 1em;\\n width: 160px;\\n }\\n\\n .tabordion section article {\\n left: 200px;\\n min-width: 270px;\\n }\\n\\n .tabordion section article:after {\\n background-color: #ccc;\\n bottom: 0;\\n content: \\\"\\\";\\n display: block;\\n left: -199px;\\n position: absolute;\\n top: 0;\\n width: 200px;\\n }\\n}\\n\\n@media print {\\n .donotprintthis {\\n display: none;\\n }\\n}\\n\\n@media print {\\n @page {\\n size: auto;\\n margin: 0mm;\\n }\\n a[href]:after {\\n content: none !important;\\n }\\n}\\n\\n@media print {\\n #Header, #Footer {\\n display: none !important;\\n }\\n}\\n\\n@media screen {\\n .donotprintthis {\\n display: block;\\n }\\n}\\n\\n.active {\\n background-color: lightseagreen;\\n}\\n\\na {\\n color: #dedede;\\n}\\n\\nli {\\n list-style: none;\\n}\\n\\n.panel-default > .panel-heading {\\n color: #dedede;\\n background-color: #7386D5;\\n}\\n\\n.panel-group .panel + .panel {\\n margin-top: 0px;\\n}\\n\\n.panel-group {\\n margin-top: 35px;\\n}\\n\\n.panel-collapse {\\n background-color: #2b2b2b;\\n}\\n\\n.glyphicon {\\n margin-right: 10px;\\n}\\n\\nul.list-group {\\n margin: 0px;\\n}\\n\\nul.bulletlist li {\\n list-style: disc;\\n}\\n\\nul.list-group li a {\\n display: block;\\n padding: 5px 0px 5px 15px;\\n text-decoration: none;\\n}\\n\\nul.list-group .has-module:hover {\\n background-color: #3775b5;\\n color: #2b2b2b !important;\\n}\\n\\n.liactive {\\n color: #2b2b2b !important;\\n background-color: white !important;\\n}\\n\\n.has-module {\\n background-color: #3775b5;\\n color: #2b2b2b !important;\\n}\\n\\n.panel-title a:hover,\\n.panel-title a:active,\\n.panel-title a:focus,\\n.panel-title .open a:hover,\\n.panel-title .open a:active,\\n.panel-title .open a:focus {\\n text-decoration: none;\\n color: #dedede;\\n}\\n\\n.panel-title > .small, .panel-title > .small > a, .panel-title > a, .panel-title > small, .panel-title > small > a {\\n display: block;\\n}\\n\\n@media (min-width: 768px) {\\n .navbar-collapse.collapse {\\n display: block !important;\\n height: auto !important;\\n padding-bottom: 0;\\n overflow: visible !important;\\n padding-left: 0px;\\n }\\n}\\n\\n@media (min-width: 992px) {\\n .menu-hide {\\n display: none;\\n }\\n}\\n\\n.menu-hide .panel-default > .panel-heading {\\n color: #dedede;\\n background-color: #8e8c8c;\\n}\\n\\n/********** END SIDEBAR *************/\\n\\n/********** NAVBAR TOGGLE *************/\\n\\n.navbar-toggle .icon-bar {\\n background-color: #fff;\\n}\\n\\n.navbar-toggle {\\n padding: 11px 10px;\\n margin-top: 8px;\\n margin-right: 15px;\\n margin-bottom: 8px;\\n background-color: #a32638;\\n}\\n\\n#Rowcontainer {\\n display: flex;\\n margin: 0;\\n margin-top: -10px;\\n margin-bottom: -10px;\\n padding: 0;\\n justify-content: space-between;\\n}\\n\\n#Rowheading {\\n flex: 1;\\n}\\n\\n#Rowwrapper {\\n flex: 2;\\n}\\n\\n#RowtableActions {\\n display: flex;\\n justify-content: center;\\n}\\n\\n#field, #buttonview {\\n margin: 2%;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbG9naW4vRjpcXE5pa2lsIFdvcmtcXFByb2plY3RzXFxEb3JzZXlcXEhpZXJhcmNoeSBTb3VyY2UgQ29kZVxcV29ya2luZ1xcZG9yc2V5R3JvdXAvc3JjXFxhcHBcXGxvZ2luXFxsb2dpbi5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvbG9naW4vbG9naW4uY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxVQUFBO0FDQ0Y7O0FERUE7RUFDRSxtQkFBQTtBQ0NGOztBREVBO0VBQ0UsbUJBQUE7QUNDRjs7QURFQTtFQUNFLHFCQUFBO0FDQ0Y7O0FERUE7RUFDRSxtQkFBQTtBQ0NGOztBREVBOztFQUFBOztBQUlBO0VBQ0UsY0FBQTtFQUNBLG1CQUFBO0VBQ0EsaUJBQUE7QUNBRjs7QURHQTtFQUNFLGNBQUE7RUFDQSxtQkFBQTtFQUNBLGlCQUFBO0FDQUY7O0FES0M7RUFDQyxjQUFBO0VBQ0MseUJBQUE7RUFDQSw2Q0FBQTtFQUNBLGVBQUE7RUFDQSxlQUFBO0FDRkg7O0FET0E7RUFDRSxjQUFBO0VBQ0EseUJBQUE7RUFDQSw2Q0FBQTtFQUNBLGlCQUFBO0VBQ0EsZUFBQTtBQ0pGOztBRGVBOztFQUVFLHlCQUFBO0VBQ0Usa0NBQUE7QUNaSjs7QURlQTtFQUVFLHlCQUFBO0VBQ0Esa0NBQUE7QUNiRjs7QURnQkE7O0VBRUUseUJBQUE7RUFDRSx5QkFBQTtBQ2JKOztBRGdCQTtFQUNFLGlCQUFBO0FDYkY7O0FEa0JBO0VBRUUsbUJBQUE7QUNoQkY7O0FEbUJBO0VBRUUsbUJBQUE7QUNqQkY7O0FEb0JBO0VBQ0ksWUFBQTtFQUNBLGtCQUFBO0VBQ0Esc0JBQUE7QUNqQko7O0FEc0JnQiwwQkFBQTs7QUF3QmhCO0VBQ0UsWUFBQTtFQUNBLFdBQUE7QUMxQ0Y7O0FENkNBO0VBQ0UsVUFBQTtBQzFDRjs7QUQ2Q0E7RUFDRSwwQkFBQTtBQzFDRjs7QUQ4Q0E7RUFFRSwyQkFBQTtBQzVDRjs7QUQrQ0M7RUFDRSxX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Y0FBQTtBQ2hGVjs7QURtRkU7RUFDQTtJQUVJLHlCQUFBO0lBQ0EsdUJBQUE7SUFDQSxpQkFBQTtJQUNBLDRCQUFBO0lBQ0YsaUJBQUE7RUNqRkY7QUFDRjs7QURvRkU7RUFDQTtJQUNJLGFBQUE7RUNsRko7QUFDRjs7QURxRkU7RUFDSSxjQUFBO0VBQ0EseUJBQUE7QUNuRk47O0FEdUZFLHFDQUFBOztBQUVBLHVDQUFBOztBQUVBO0VBQ0ksc0JBQUE7QUN0Rk47O0FEd0ZFO0VBQ0ksa0JBQUE7RUFDQSxlQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQkFBQTtFQUNBLHlCQUFBO0FDckZOOztBRHlGRTtFQUNFLGFBQUE7RUFDQSxTQUFBO0VBQ0EsaUJBQUE7RUFDQSxvQkFBQTtFQUNBLFVBQUE7RUFDQSw4QkFBQTtBQ3RGSjs7QUQwRkE7RUFDSSxPQUFBO0FDdkZKOztBRHlGQTtFQUNBLE9BQUE7QUN0RkE7O0FEd0ZBO0VBQ0EsYUFBQTtFQUVBLHVCQUFBO0FDdEZBOztBRDBGQTtFQUNJLFVBQUE7QUN2RkoiLCJmaWxlIjoic3JjL2FwcC9sb2dpbi9sb2dpbi5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5tYXQtbGlzdHtcclxuICBwYWRkaW5nOiAwO1xyXG59XHJcblxyXG4jbWF0U2V0dXB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMzVweDtcclxufVxyXG5cclxuI21hdFBNe1xyXG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbn1cclxuXHJcbi5zZXRVcE1lbnV7XHJcbiAgbWFyZ2luOiAxMHB4IDAgMTVweCAwO1xyXG59XHJcblxyXG4ubWFpbk1lbnV7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxufVxyXG5cclxuLyouc3ViTWVudXtcclxuICBtYXJnaW4tYm90dG9tOiAycHg7XHJcbn0qL1xyXG5cclxubWF0LW5hdi1saXN0IC5tZW51U3R5bGV7XHJcbiAgaGVpZ2h0OiAyLjhyZW07XHJcbiAgbGluZS1oZWlnaHQ6IDIuOHJlbTtcclxuICBtYXJnaW4tbGVmdDogMTBweDtcclxufVxyXG5cclxubWF0LW5hdi1saXN0IC5jaGlsZE1lbnV7XHJcbiAgaGVpZ2h0OiAyLjVyZW07XHJcbiAgbGluZS1oZWlnaHQ6IDIuNXJlbTtcclxuICBtYXJnaW4tbGVmdDogMTBweDtcclxufVxyXG5cclxuXHJcblxyXG4gbWF0LW5hdi1saXN0IC5tZW51U3R5bGV7XHJcbiAgY29sb3I6ICNkZWRlZGU7XHJcbiAgIGJhY2tncm91bmQtY29sb3I6ICM0MDQwNDA7XHJcbiAgIGZvbnQtZmFtaWx5OiBcIlBvcHBpbnNcIiwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xyXG4gICBmb250LXNpemU6IDE4cHg7XHJcbiAgIGN1cnNvcjogcG9pbnRlcjtcclxuIH1cclxuXHJcblxyXG5cclxuLnN1Yk1lbnV7XHJcbiAgY29sb3I6ICNkZWRlZGU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJiMmIyYjtcclxuICBmb250LWZhbWlseTogXCJQb3BwaW5zXCIsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcclxuICBmb250LXNpemU6IDE0LjNweDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi8vIC5jaGlsZE1lbnV7XHJcbi8vICAgY29sb3I6ICNkNGQ0ZDQ7XHJcbi8vICAgYmFja2dyb3VuZC1jb2xvcjogIzQwNDA0MDtcclxuLy8gICBmb250LWZhbWlseTogXCJQb3BwaW5zXCIsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcclxuLy8gICBmb250LXNpemU6IDE0LjNweDtcclxuLy8gICBjdXJzb3I6IHBvaW50ZXI7XHJcbi8vIH1cclxuXHJcbm1hdC1uYXYtbGlzdCAubWVudVN0eWxlOmhvdmVyLFxyXG5tYXQtbmF2LWxpc3QgLmNoaWxkTWVudTpob3ZlcntcclxuICBjb2xvcjogIzJiMmIyYiAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGUgIWltcG9ydGFudDtcclxufVxyXG5cclxubWF0LW5hdi1saXN0IC5saWFjdGl2ZSAubGlhY3RpdmUxe1xyXG4gIFxyXG4gIGNvbG9yOiMyYjJiMmIgIWltcG9ydGFudDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5tYXQtbmF2LWxpc3QgLmhhcy1tb2R1bGU6aG92ZXIsXHJcbm1hdC1uYXYtbGlzdCAuaGFzLW1vZHVsZTpmb2N1c3tcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzc3NWI1O1xyXG4gICAgY29sb3I6ICMyYjJiMmIgIWltcG9ydGFudDtcclxufVxyXG5cclxubWF0LW5hdi1saXN0IC5oYXMtbW9kdWxlIC5saWFjdGl2ZXtcclxuICBtYXJnaW4tbGVmdDogMTBweDtcclxufVxyXG5cclxuXHJcblxyXG4ubXV0ZWQge1xyXG4gIFxyXG4gIGJhY2tncm91bmQ6ICM3Mzg2RDU7XHJcbn1cclxuXHJcbi5tdXRlZDpob3ZlciB7XHJcbiAgXHJcbiAgYmFja2dyb3VuZDogIzNmNTFiNTtcclxufVxyXG5cclxuLmNhcmR7XHJcbiAgICBoZWlnaHQ6MTAwJTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7ICAgIFxyXG59XHJcbi8vIEJyZWFrcG9pbnRzXHJcbiRoYW5kc2V0OiAzNjBweDtcclxuJGxhcmdlLWhhbmRzZXQ6IDQ4MHB4O1xyXG4kdGFibGV0OiA2NDBweDsgLyogYXBwIGRyYXdlciBicmVha3BvaW50ICovXHJcbiRsYXJnZS10YWJsZXQ6IDg0MHB4O1xyXG4kZGVza3RvcDogOTYwcHg7XHJcbiRsYXJnZS1kZXNrdG9wOiAxMjgwcHg7XHJcbiR4LWxhcmdlLWRlc2t0b3A6IDE0NDBweDtcclxuJHh4LWxhcmdlLWRlc2t0b3A6IDE5MjBweDtcclxuXHJcbi8vIGdlbmVyYXRlIG1pbi13aWR0aCBicmVha3BvaW50XHJcbkBtaXhpbiBicmVha3BvaW50KCRwb2ludCkge1xyXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkcG9pbnQpIHsgQGNvbnRlbnQgOyB9XHJcbn1cclxuLy8gZ2VuZXJhdGUgbWF4LXdpZHRoIGJyZWFrcG9pbnQgKHVzZSBzcGFyaW5nbHkpXHJcbkBtaXhpbiBicmVha3BvaW50LW1heCgkcG9pbnQpIHtcclxuICBAbWVkaWEgKG1heC13aWR0aDogJHBvaW50KSB7IEBjb250ZW50IDsgfVxyXG59XHJcbi8vIGdlbmVyYXRlIG1pbi1oZWlnaHQgYnJlYWtwb2ludFxyXG5AbWl4aW4gaGVpZ2h0LWJyZWFrcG9pbnQoJHBvaW50KSB7XHJcbiAgQG1lZGlhIChtaW4taGVpZ2h0OiAkcG9pbnQpIHsgQGNvbnRlbnQgOyB9XHJcbn1cclxuLy8gZ2VuZXJhdGUgbWF4LWhlaWdodCBicmVha3BvaW50ICh1c2Ugc3BhcmluZ2x5KVxyXG5AbWl4aW4gaGVpZ2h0LWJyZWFrcG9pbnQtbWF4KCRwb2ludCkge1xyXG4gIEBtZWRpYSAobWluLWhlaWdodDogJHBvaW50KSB7IEBjb250ZW50IDsgfVxyXG59XHJcblxyXG5tYXQtc2lkZW5hdi1jb250YWluZXJ7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG5tYXQtZHJhd2Vye1xyXG4gIHdpZHRoOiAxNSU7XHJcbiAgXHJcbn1cclxubWF0LXNpZGVuYXZ7XHJcbiAgb3ZlcmZsb3c6IHVuc2V0ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcblxyXG4ubWF0LWRyYXdlci1pbm5lci1jb250YWluZXIsIC5tYXQtZHJhd2VyLWNvbnRlbnR7XHJcbiAgLy8gcG9zaXRpb246IGFic29sdXRlO1xyXG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcclxufVxyXG5cclxuIC5tZW51UGFuZXtcclxuICAgaGVpZ2h0OiA4MCU7XHJcbiAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgIHNjcm9sbGJhci13aWR0aDogdGhpbjtcclxuICAgXHJcbiB9XHJcblxyXG4gIC5tZW51UGFuZTo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG4gICB3aWR0aDogOHB4O1xyXG4gfVxyXG5cclxuLyogVHJhY2sgKi9cclxuLm1lbnVQYW5lOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XHJcbiAgYmFja2dyb3VuZDogXHQgd2hpdGU7IFxyXG4gIGJvcmRlci1yYWRpdXM6IDFweDtcclxuICBtYXJnaW46IDA7XHJcbn1cclxuIFxyXG4vKiBIYW5kbGUgKi9cclxuLm1lbnVQYW5lOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XHJcbiAgYmFja2dyb3VuZDogIzg4OCA7IFxyXG4gIHBhZGRpbmc6IDJweDtcclxuICBib3JkZXItcmFkaXVzOiAyLjVweDtcclxuICBcclxufVxyXG5cclxuLyogSGFuZGxlIG9uIGhvdmVyICovXHJcbi5tZW51UGFuZTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xyXG4gIGJhY2tncm91bmQ6IGJsYWNrOyBcclxufVxyXG5cclxuLnNpZGViYXItaGVhZGVye1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiBcclxufVxyXG5cclxuLnNpZGViYXItaGVhZGVyLCAuc2lkZWJhci1oZWFkZXIgaDN7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIFxyXG59XHJcblxyXG4uc2lkZWJhci1oZWFkZXIgaDN7XHJcbiAgei1pbmRleDogMDtcclxufVxyXG5cclxuLyoubWF0LWRyYXdlci1iYWNrZHJvcC5tYXQtZHJhd2VyLXNob3due1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbn0qL1xyXG5cclxuI2NvbGxhcHNlQnRuT25TaWRlbmF2e1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB6LWluZGV4OiAxO1xyXG59XHJcblxyXG4gIEBtZWRpYSAobWluLXdpZHRoOjEyMDBweCl7XHJcbiAgICAjY29sbGFwc2VCdG5PblNpZGVuYXZ7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4uZmxleENvbnRhaW5lcntcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGhlaWdodDogNzRweDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxufVxyXG5cclxuI3dyYXBwZXJ7XHJcbiAgZmxleDogMTtcclxufVxyXG5cclxubWF0LXNpZGVuYXYgI3NpZGViYXJ7XHJcbiAgd2lkdGg6IDE1JTtcclxuICBcclxufVxyXG5cclxuI21haW5Db250ZW50e1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG5cclxuI2ZsZXhXcmFwcGVyMXtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcbiNidG5Hcm91cDF7XHJcbiAgLy8gd2lkdGg6IDEwJTtcclxuICBmbGV4OiAxO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbiNkbWFwcF9Mb2dve1xyXG4gIC8vIHdpZHRoOiAxMCU7XHJcbiAgZmxleDogMjtcclxufVxyXG4jbG9nb19pbWd7XHJcbiAgcGFkZGluZy10b3A6IDIlO1xyXG4gIHdpZHRoOiAxNzBweDtcclxufVxyXG5cclxuI2NvbXBhbnlOYW1le1xyXG4gIC8vIHdpZHRoOiAyNSU7XHJcbiAgZmxleDogMTtcclxuICB3b3JkLWJyZWFrOiBub3JtYWw7XHJcbiAgbWFyZ2luLXRvcDogMTRweDtcclxufVxyXG5cclxuI2J0bkdyb3VwMntcclxuICAvLyB3aWR0aDogMjUlO1xyXG4gIGZsZXg6IDE7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG59XHJcblxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioxNTAlIFpvb20qKioqKioqKioqKioqKioqKioqKioqL1xyXG5AbWVkaWEgKG1heC13aWR0aDo5NjBweCl7XHJcbiAgLmZsZXhDb250YWluZXJ7XHJcbiAgICBoZWlnaHQ6IDI1JTtcclxuICB9XHJcbn1cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqRm9yIE1vYmlsZSB2aWV3KioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5AbWVkaWEobWF4LXdpZHRoOjU3NnB4KXtcclxuIFxyXG4gIC5mbGV4Q29udGFpbmVye1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMjAlO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICB9XHJcbiAgXHJcbiAgI3dyYXBwZXJ7XHJcbiAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxuICBcclxuICAjZmxleFdyYXBwZXIxe1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gIH1cclxuICAjYnRuR3JvdXAxe1xyXG4gICAgLy8gd2lkdGg6IDEwJTtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gIH1cclxuICBcclxuICAjZG1hcHBfTG9nb3tcclxuICAgIC8vIHdpZHRoOiAxMCU7XHJcbiAgICBmbGV4OiAyLjI7XHJcbiAgfVxyXG4gICNsb2dvX2ltZ3tcclxuICAgIHBhZGRpbmctdG9wOiAyJTtcclxuICAgIHdpZHRoOiAxNzBweDtcclxuICB9XHJcbiAgXHJcbiAgI2NvbXBhbnlOYW1le1xyXG4gICAgLy8gd2lkdGg6IDI1JTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICBtYXJnaW46IDIlIDIlO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgd29yZC1icmVhazogYnJlYWstYWxsO1xyXG4gICBcclxuICB9XHJcbiAgXHJcbiAgLmJ0bkdyb3VwMntcclxuICAgIC8vIHdpZHRoOiAyNSU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcbn1cclxuLyoqKioqKipFbmQgbW9iaWxlIHZpZXcqKioqKiovXHJcblxyXG4vKi5tYXQtc2lkZW5hdiB7XHJcbiAgd2lkdGg6IDM2MHB4O1xyXG59XHJcbi5tYXQtc2lkZW5hdi1jb250YWluZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgaGVpZ2h0OiAxMDB2aDtcclxuXHJcbiAgLm1hdC1zaWRlbmF2LWNvbnRlbnQge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgfVxyXG59XHJcbi5zaWRlbmF2LXRvb2xiYXIge1xyXG4gIGhlaWdodDogNjRweDtcclxuLy8gICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGFwcC1wcmltYXJ5KTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcblxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xyXG4gICAgaGVpZ2h0OiA1NnB4O1xyXG4gIH1cclxufVxyXG4ubWF0LW5hdi1saXN0IHtcclxuICBwYWRkaW5nLXRvcDogMDtcclxufSovXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQtbWF4KDYwMHB4KSB7XHJcbiAgLmZpeGVkLXRvcG5hdiB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgei1pbmRleDogMjtcclxuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAubWF0LWRyYXdlci1jb250YWluZXIsXHJcbiAgLm1hdC1kcmF3ZXIge1xyXG4gICAgcGFkZGluZy10b3A6IDA7XHJcbiAgfVxyXG59XHJcbi5tZW51LWxpc3QtaXRlbS5tYXQtbGlzdC1pdGVtIHtcclxuICAubWF0LWxpc3QtaXRlbS1jb250ZW50IHtcclxuICAgIGZsZXg6IDEgMSAxMDAlO1xyXG4gIH1cclxufVxyXG4udmVyc2lvbi1pbmZvIHtcclxuICBmb250LXNpemU6IDhwdDtcclxuICBwYWRkaW5nOiA4cHg7XHJcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XHJcbn1cclxuaDEge1xyXG4gICAgY29sb3I6ICMzMzM7XHJcbiAgICBmb250LWZhbWlseTogYXJpYWwsIHNhbnMtc2VyaWY7XHJcbiAgICBtYXJnaW46IDFlbSBhdXRvO1xyXG4gICAgd2lkdGg6IDgwJTtcclxuICB9XHJcbiAgXHJcbiAgLnRhYm9yZGlvbiB7XHJcbiAgICBjb2xvcjogIzMzMztcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZm9udC1mYW1pbHk6IGFyaWFsLCBzYW5zLXNlcmlmO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2lkdGg6IDgwJTtcclxuICB9XHJcbiAgXHJcbiAgLnRhYm9yZGlvbiBpbnB1dFtuYW1lPVwic2VjdGlvbnNcIl0ge1xyXG4gICAgbGVmdDogLTk5OTlweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogLTk5OTlweDtcclxuICB9XHJcbiAgXHJcbiAgLnRhYm9yZGlvbiBzZWN0aW9uIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxuICBcclxuICAudGFib3JkaW9uIHNlY3Rpb24gbGFiZWwge1xyXG4gICAgYmFja2dyb3VuZDogI2NjYztcclxuICAgIGJvcmRlcjoxcHggc29saWQgI2ZmZjtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZm9udC1zaXplOiAxLjJlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgcGFkZGluZzogMTVweCAyMHB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2lkdGg6IDE4MHB4O1xyXG4gICAgei1pbmRleDoxMDA7XHJcbiAgfVxyXG4gIFxyXG4gIC50YWJvcmRpb24gc2VjdGlvbiBhcnRpY2xlIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBsZWZ0OiAyMzBweDtcclxuICAgIG1pbi13aWR0aDogMzAwcHg7XHJcbiAgICBwYWRkaW5nOiAwIDAgMCAyMXB4O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlOyAgXHJcbiAgICB0b3A6IDA7XHJcbiAgfVxyXG4gIFxyXG4gIC50YWJvcmRpb24gc2VjdGlvbiBhcnRpY2xlOmFmdGVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBsZWZ0Oi0yMjlweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIHdpZHRoOiAyMjBweDtcclxuICAgIHotaW5kZXg6MTtcclxuICB9XHJcbiAgXHJcbiAgLnRhYm9yZGlvbiBpbnB1dFtuYW1lPVwic2VjdGlvbnNcIl06Y2hlY2tlZCArIGxhYmVsIHsgXHJcbiBcclxuICAgIGZvbnQtc2l6ZToxNnB4O1xyXG4gIH1cclxuICBcclxuICAudGFib3JkaW9uIGlucHV0W25hbWU9XCJzZWN0aW9uc1wiXTpjaGVja2VkIH4gYXJ0aWNsZSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZvbnQtc2l6ZToxNnB4OyAgIGJhY2tncm91bmQ6ICNlZWU7XHJcbiAgICBjb2xvcjogIzAwMDtcclxuICB9XHJcbiAgXHJcbiAgXHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDUzM3B4KSB7XHJcbiAgICBcclxuICAgIGgxIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgXHJcbiAgICAudGFib3JkaW9uIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC50YWJvcmRpb24gc2VjdGlvbiBsYWJlbCB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMWVtO1xyXG4gICAgICB3aWR0aDogMTYwcHg7XHJcbiAgICB9ICBcclxuICBcclxuICAgLnRhYm9yZGlvbiBzZWN0aW9uIGFydGljbGUge1xyXG4gICAgICBsZWZ0OiAyMDBweDtcclxuICAgICAgbWluLXdpZHRoOiAyNzBweDtcclxuICAgIH0gXHJcbiAgICBcclxuICAgIC50YWJvcmRpb24gc2VjdGlvbiBhcnRpY2xlOmFmdGVyIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcclxuICAgICAgYm90dG9tOiAwO1xyXG4gICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgbGVmdDotMTk5cHg7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICB3aWR0aDogMjAwcHg7XHJcbiAgXHJcbiAgICB9ICBcclxuICAgIFxyXG4gIH1cclxuICBcclxuICBcclxuICAgQG1lZGlhIHByaW50XHJcbntcclxuICAgLmRvbm90cHJpbnR0aGlzXHJcbiAgIHtcclxuICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgIH1cclxufVxyXG5AbWVkaWEgcHJpbnQge1xyXG4gICBAcGFnZSB7IHNpemU6IGF1dG87ICBtYXJnaW46IDBtbTsgfVxyXG4gICBhW2hyZWZdOmFmdGVyIHtcclxuICAgICAgIGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDtcclxuICAgfVxyXG59XHJcbkBtZWRpYSBwcmludCB7XHJcbiAgICNIZWFkZXIsICNGb290ZXIgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cclxufVxyXG5AbWVkaWEgc2NyZWVuXHJcbntcclxuICAgLmRvbm90cHJpbnR0aGlzXHJcbiAgIHtcclxuICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICB9XHJcbn1cclxuLmFjdGl2ZXtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodHNlYWdyZWVuO1xyXG4gIC8vIGNvbG9yOiBibGFjaztcclxufVxyXG5cclxuXHJcblxyXG5cclxuYSB7XHJcbiAgY29sb3I6I2RlZGVkZTtcclxuICB9XHJcbiAgXHJcbiAgbGkge1xyXG4gIGxpc3Qtc3R5bGU6bm9uZTtcclxuICB9IFxyXG4gIFxyXG4gIC5wYW5lbC1kZWZhdWx0Pi5wYW5lbC1oZWFkaW5nIHtcclxuICAgICAgY29sb3I6ICNkZWRlZGU7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3Mzg2RDU7XHJcbiAgICAgIC8vIGJvcmRlci1jb2xvcjogI2RkZDtcclxuICB9XHJcbiAgXHJcbiAgLnBhbmVsLWdyb3VwIC5wYW5lbCsucGFuZWwge1xyXG4gICAgICBtYXJnaW4tdG9wOiAwcHg7XHJcbiAgfVxyXG4gIC5wYW5lbC1ncm91cCB7XHJcbiAgICBtYXJnaW4tdG9wOiAzNXB4O1xyXG4gIH1cclxuICAucGFuZWwtY29sbGFwc2Uge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjojMmIyYjJiO1xyXG4gIH1cclxuICBcclxuICAuZ2x5cGhpY29uIHsgXHJcbiAgbWFyZ2luLXJpZ2h0OjEwcHg7IFxyXG4gIH1cclxuICBcclxuICBcclxuICB1bC5saXN0LWdyb3VwIHtcclxuICAgIG1hcmdpbjowcHg7XHJcbiAgfVxyXG4gIFxyXG4gIHVsLmJ1bGxldGxpc3QgbGkge1xyXG4gICAgbGlzdC1zdHlsZTpkaXNjO1xyXG4gIH1cclxuICBcclxuICBcclxuICB1bC5saXN0LWdyb3VwICBsaSBhIHtcclxuICAgZGlzcGxheTpibG9jaztcclxuICAgcGFkZGluZzo1cHggMHB4IDVweCAxNXB4O1xyXG4gICB0ZXh0LWRlY29yYXRpb246bm9uZTtcclxuICB9XHJcbiAgXHJcbiAgdWwubGlzdC1ncm91cCAuaGFzLW1vZHVsZTpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzc3NWI1IDtcclxuICAgIGNvbG9yOiMyYjJiMmIgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC8vIHVsLmxpc3QtZ3JvdXAgIGxpIGE6aG92ZXIsIHVsIGxpIGE6Zm9jdXMge1xyXG4gIC8vICBjb2xvcjojMmIyYjJiICFpbXBvcnRhbnQ7XHJcbiAgLy8gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgLy8gfVxyXG5cclxuLmxpYWN0aXZle1xyXG4gIGNvbG9yOiMyYjJiMmIgIWltcG9ydGFudDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uaGFzLW1vZHVsZXtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzc3NWI1IDtcclxuICBjb2xvcjojMmIyYjJiICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbiAgLnBhbmVsLXRpdGxlIGE6aG92ZXIsXHJcbiAgLnBhbmVsLXRpdGxlIGE6YWN0aXZlLFxyXG4gIC5wYW5lbC10aXRsZSBhOmZvY3VzLFxyXG4gIC5wYW5lbC10aXRsZSAub3BlbiBhOmhvdmVyLFxyXG4gIC5wYW5lbC10aXRsZSAub3BlbiBhOmFjdGl2ZSxcclxuICAucGFuZWwtdGl0bGUgLm9wZW4gYTpmb2N1c1xyXG4gICB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246bm9uZTtcclxuICAgIGNvbG9yOiNkZWRlZGU7XHJcbiAgfVxyXG4gIFxyXG4gIC5wYW5lbC10aXRsZT4uc21hbGwsIC5wYW5lbC10aXRsZT4uc21hbGw+YSwgLnBhbmVsLXRpdGxlPmEsIC5wYW5lbC10aXRsZT5zbWFsbCwgLnBhbmVsLXRpdGxlPnNtYWxsPmEge1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG4gIFxyXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCl7XHJcbiAgLm5hdmJhci1jb2xsYXBzZS5jb2xsYXBzZSBcclxuICAgIHtcclxuICAgICAgZGlzcGxheTogYmxvY2shaW1wb3J0YW50O1xyXG4gICAgICBoZWlnaHQ6IGF1dG8haW1wb3J0YW50O1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgb3ZlcmZsb3c6IHZpc2libGUhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZy1sZWZ0OjBweDsgXHJcbiAgfVxyXG4gIH1cclxuICBcclxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpe1xyXG4gIC5tZW51LWhpZGUge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuICBcclxuICB9XHJcbiAgLm1lbnUtaGlkZSAucGFuZWwtZGVmYXVsdD4ucGFuZWwtaGVhZGluZyB7XHJcbiAgICAgIGNvbG9yOiAjZGVkZWRlO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGU4YzhjO1xyXG4gICAgICAvLyBib3JkZXItY29sb3I6ICNkZGQ7XHJcbiAgfVxyXG4gIFxyXG4gIC8qKioqKioqKioqIEVORCBTSURFQkFSICoqKioqKioqKioqKiovXHJcbiAgXHJcbiAgLyoqKioqKioqKiogTkFWQkFSIFRPR0dMRSAqKioqKioqKioqKioqL1xyXG4gIFxyXG4gIC5uYXZiYXItdG9nZ2xlIC5pY29uLWJhciB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgfVxyXG4gIC5uYXZiYXItdG9nZ2xlIHtcclxuICAgICAgcGFkZGluZzogMTFweCAxMHB4O1xyXG4gICAgICBtYXJnaW4tdG9wOiA4cHg7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTMyNjM4O1xyXG4gICAgICAvLyBib3JkZXItcmFkaXVzOiAwcHg7XHJcbiAgfVxyXG5cclxuICAjUm93Y29udGFpbmVye1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIG1hcmdpbi10b3A6IC0xMHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogLTEwcHg7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICBcclxuXHJcbn1cclxuI1Jvd2hlYWRpbmd7XHJcbiAgICBmbGV4OiAxO1xyXG59XHJcbiNSb3d3cmFwcGVye1xyXG5mbGV4OiAyO1xyXG59XHJcbiNSb3d0YWJsZUFjdGlvbnN7XHJcbmRpc3BsYXk6IGZsZXg7XHJcblxyXG5qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcbn1cclxuXHJcbiNmaWVsZCwgI2J1dHRvbnZpZXd7XHJcbiAgICBtYXJnaW46IDIlO1xyXG4gICAgXHJcbn1cclxuIiwiLm1hdC1saXN0IHtcbiAgcGFkZGluZzogMDtcbn1cblxuI21hdFNldHVwIHtcbiAgbWFyZ2luLWJvdHRvbTogMzVweDtcbn1cblxuI21hdFBNIHtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcbn1cblxuLnNldFVwTWVudSB7XG4gIG1hcmdpbjogMTBweCAwIDE1cHggMDtcbn1cblxuLm1haW5NZW51IHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLyouc3ViTWVudXtcbiAgbWFyZ2luLWJvdHRvbTogMnB4O1xufSovXG5tYXQtbmF2LWxpc3QgLm1lbnVTdHlsZSB7XG4gIGhlaWdodDogMi44cmVtO1xuICBsaW5lLWhlaWdodDogMi44cmVtO1xuICBtYXJnaW4tbGVmdDogMTBweDtcbn1cblxubWF0LW5hdi1saXN0IC5jaGlsZE1lbnUge1xuICBoZWlnaHQ6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDIuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG59XG5cbm1hdC1uYXYtbGlzdCAubWVudVN0eWxlIHtcbiAgY29sb3I6ICNkZWRlZGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MDQwNDA7XG4gIGZvbnQtZmFtaWx5OiBcIlBvcHBpbnNcIiwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnN1Yk1lbnUge1xuICBjb2xvcjogI2RlZGVkZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJiMmIyYjtcbiAgZm9udC1mYW1pbHk6IFwiUG9wcGluc1wiLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMTQuM3B4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbm1hdC1uYXYtbGlzdCAubWVudVN0eWxlOmhvdmVyLFxubWF0LW5hdi1saXN0IC5jaGlsZE1lbnU6aG92ZXIge1xuICBjb2xvcjogIzJiMmIyYiAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG5tYXQtbmF2LWxpc3QgLmxpYWN0aXZlIC5saWFjdGl2ZTEge1xuICBjb2xvcjogIzJiMmIyYiAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG5tYXQtbmF2LWxpc3QgLmhhcy1tb2R1bGU6aG92ZXIsXG5tYXQtbmF2LWxpc3QgLmhhcy1tb2R1bGU6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzc3NWI1O1xuICBjb2xvcjogIzJiMmIyYiAhaW1wb3J0YW50O1xufVxuXG5tYXQtbmF2LWxpc3QgLmhhcy1tb2R1bGUgLmxpYWN0aXZlIHtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG59XG5cbi5tdXRlZCB7XG4gIGJhY2tncm91bmQ6ICM3Mzg2RDU7XG59XG5cbi5tdXRlZDpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMzZjUxYjU7XG59XG5cbi5jYXJkIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8qIGFwcCBkcmF3ZXIgYnJlYWtwb2ludCAqL1xubWF0LXNpZGVuYXYtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbn1cblxubWF0LWRyYXdlciB7XG4gIHdpZHRoOiAxNSU7XG59XG5cbm1hdC1zaWRlbmF2IHtcbiAgb3ZlcmZsb3c6IHVuc2V0ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXQtZHJhd2VyLWlubmVyLWNvbnRhaW5lciwgLm1hdC1kcmF3ZXItY29udGVudCB7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxuLm1lbnVQYW5lIHtcbiAgaGVpZ2h0OiA4MCU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbn1cblxuLm1lbnVQYW5lOjotd2Via2l0LXNjcm9sbGJhciB7XG4gIHdpZHRoOiA4cHg7XG59XG5cbi8qIFRyYWNrICovXG4ubWVudVBhbmU6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKiBIYW5kbGUgKi9cbi5tZW51UGFuZTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICBiYWNrZ3JvdW5kOiAjODg4O1xuICBwYWRkaW5nOiAycHg7XG4gIGJvcmRlci1yYWRpdXM6IDIuNXB4O1xufVxuXG4vKiBIYW5kbGUgb24gaG92ZXIgKi9cbi5tZW51UGFuZTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiBibGFjaztcbn1cblxuLnNpZGViYXItaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLnNpZGViYXItaGVhZGVyLCAuc2lkZWJhci1oZWFkZXIgaDMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5zaWRlYmFyLWhlYWRlciBoMyB7XG4gIHotaW5kZXg6IDA7XG59XG5cbi8qLm1hdC1kcmF3ZXItYmFja2Ryb3AubWF0LWRyYXdlci1zaG93bntcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn0qL1xuI2NvbGxhcHNlQnRuT25TaWRlbmF2IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICNjb2xsYXBzZUJ0bk9uU2lkZW5hdiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLmZsZXhDb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDc0cHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuI3dyYXBwZXIge1xuICBmbGV4OiAxO1xufVxuXG5tYXQtc2lkZW5hdiAjc2lkZWJhciB7XG4gIHdpZHRoOiAxNSU7XG59XG5cbiNtYWluQ29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4jZmxleFdyYXBwZXIxIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuI2J0bkdyb3VwMSB7XG4gIGZsZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbiNkbWFwcF9Mb2dvIHtcbiAgZmxleDogMjtcbn1cblxuI2xvZ29faW1nIHtcbiAgcGFkZGluZy10b3A6IDIlO1xuICB3aWR0aDogMTcwcHg7XG59XG5cbiNjb21wYW55TmFtZSB7XG4gIGZsZXg6IDE7XG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgbWFyZ2luLXRvcDogMTRweDtcbn1cblxuI2J0bkdyb3VwMiB7XG4gIGZsZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioxNTAlIFpvb20qKioqKioqKioqKioqKioqKioqKioqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gIC5mbGV4Q29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDI1JTtcbiAgfVxufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqRm9yIE1vYmlsZSB2aWV3KioqKioqKioqKioqKioqKioqKioqKioqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDU3NnB4KSB7XG4gIC5mbGV4Q29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAyMCU7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cblxuICAjd3JhcHBlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAjZmxleFdyYXBwZXIxIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG5cbiAgI2J0bkdyb3VwMSB7XG4gICAgZmxleDogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG5cbiAgI2RtYXBwX0xvZ28ge1xuICAgIGZsZXg6IDIuMjtcbiAgfVxuXG4gICNsb2dvX2ltZyB7XG4gICAgcGFkZGluZy10b3A6IDIlO1xuICAgIHdpZHRoOiAxNzBweDtcbiAgfVxuXG4gICNjb21wYW55TmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAyJSAyJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICB9XG5cbiAgLmJ0bkdyb3VwMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbi8qKioqKioqRW5kIG1vYmlsZSB2aWV3KioqKioqL1xuLyoubWF0LXNpZGVuYXYge1xuICB3aWR0aDogMzYwcHg7XG59XG4ubWF0LXNpZGVuYXYtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxMDB2aDtcblxuICAubWF0LXNpZGVuYXYtY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG59XG4uc2lkZW5hdi10b29sYmFyIHtcbiAgaGVpZ2h0OiA2NHB4O1xuLy8gICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGFwcC1wcmltYXJ5KTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICBoZWlnaHQ6IDU2cHg7XG4gIH1cbn1cbi5tYXQtbmF2LWxpc3Qge1xuICBwYWRkaW5nLXRvcDogMDtcbn0qL1xuQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gIC5maXhlZC10b3BuYXYge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAyO1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWF0LWRyYXdlci1jb250YWluZXIsXG4ubWF0LWRyYXdlciB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cbn1cbi5tZW51LWxpc3QtaXRlbS5tYXQtbGlzdC1pdGVtIC5tYXQtbGlzdC1pdGVtLWNvbnRlbnQge1xuICBmbGV4OiAxIDEgMTAwJTtcbn1cblxuLnZlcnNpb24taW5mbyB7XG4gIGZvbnQtc2l6ZTogOHB0O1xuICBwYWRkaW5nOiA4cHg7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xufVxuXG5oMSB7XG4gIGNvbG9yOiAjMzMzO1xuICBmb250LWZhbWlseTogYXJpYWwsIHNhbnMtc2VyaWY7XG4gIG1hcmdpbjogMWVtIGF1dG87XG4gIHdpZHRoOiA4MCU7XG59XG5cbi50YWJvcmRpb24ge1xuICBjb2xvcjogIzMzMztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBhcmlhbCwgc2Fucy1zZXJpZjtcbiAgbWFyZ2luOiBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA4MCU7XG59XG5cbi50YWJvcmRpb24gaW5wdXRbbmFtZT1zZWN0aW9uc10ge1xuICBsZWZ0OiAtOTk5OXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTk5OTlweDtcbn1cblxuLnRhYm9yZGlvbiBzZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi50YWJvcmRpb24gc2VjdGlvbiBsYWJlbCB7XG4gIGJhY2tncm91bmQ6ICNjY2M7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwYWRkaW5nOiAxNXB4IDIwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDE4MHB4O1xuICB6LWluZGV4OiAxMDA7XG59XG5cbi50YWJvcmRpb24gc2VjdGlvbiBhcnRpY2xlIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbGVmdDogMjMwcHg7XG4gIG1pbi13aWR0aDogMzAwcHg7XG4gIHBhZGRpbmc6IDAgMCAwIDIxcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xufVxuXG4udGFib3JkaW9uIHNlY3Rpb24gYXJ0aWNsZTphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gIGJvdHRvbTogMDtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxlZnQ6IC0yMjlweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAyMjBweDtcbiAgei1pbmRleDogMTtcbn1cblxuLnRhYm9yZGlvbiBpbnB1dFtuYW1lPXNlY3Rpb25zXTpjaGVja2VkICsgbGFiZWwge1xuICBmb250LXNpemU6IDE2cHg7XG59XG5cbi50YWJvcmRpb24gaW5wdXRbbmFtZT1zZWN0aW9uc106Y2hlY2tlZCB+IGFydGljbGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxNnB4O1xuICBiYWNrZ3JvdW5kOiAjZWVlO1xuICBjb2xvcjogIzAwMDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDUzM3B4KSB7XG4gIGgxIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC50YWJvcmRpb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLnRhYm9yZGlvbiBzZWN0aW9uIGxhYmVsIHtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICB3aWR0aDogMTYwcHg7XG4gIH1cblxuICAudGFib3JkaW9uIHNlY3Rpb24gYXJ0aWNsZSB7XG4gICAgbGVmdDogMjAwcHg7XG4gICAgbWluLXdpZHRoOiAyNzBweDtcbiAgfVxuXG4gIC50YWJvcmRpb24gc2VjdGlvbiBhcnRpY2xlOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xuICAgIGJvdHRvbTogMDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxlZnQ6IC0xOTlweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAyMDBweDtcbiAgfVxufVxuQG1lZGlhIHByaW50IHtcbiAgLmRvbm90cHJpbnR0aGlzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5AbWVkaWEgcHJpbnQge1xuICBAcGFnZSB7XG4gICAgc2l6ZTogYXV0bztcbiAgICBtYXJnaW46IDBtbTtcbiAgfVxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBwcmludCB7XG4gICNIZWFkZXIsICNGb290ZXIge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiB7XG4gIC5kb25vdHByaW50dGhpcyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbi5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodHNlYWdyZWVuO1xufVxuXG5hIHtcbiAgY29sb3I6ICNkZWRlZGU7XG59XG5cbmxpIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLnBhbmVsLWRlZmF1bHQgPiAucGFuZWwtaGVhZGluZyB7XG4gIGNvbG9yOiAjZGVkZWRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzM4NkQ1O1xufVxuXG4ucGFuZWwtZ3JvdXAgLnBhbmVsICsgLnBhbmVsIHtcbiAgbWFyZ2luLXRvcDogMHB4O1xufVxuXG4ucGFuZWwtZ3JvdXAge1xuICBtYXJnaW4tdG9wOiAzNXB4O1xufVxuXG4ucGFuZWwtY29sbGFwc2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmIyYjJiO1xufVxuXG4uZ2x5cGhpY29uIHtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuXG51bC5saXN0LWdyb3VwIHtcbiAgbWFyZ2luOiAwcHg7XG59XG5cbnVsLmJ1bGxldGxpc3QgbGkge1xuICBsaXN0LXN0eWxlOiBkaXNjO1xufVxuXG51bC5saXN0LWdyb3VwIGxpIGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogNXB4IDBweCA1cHggMTVweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG51bC5saXN0LWdyb3VwIC5oYXMtbW9kdWxlOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM3NzViNTtcbiAgY29sb3I6ICMyYjJiMmIgIWltcG9ydGFudDtcbn1cblxuLmxpYWN0aXZlIHtcbiAgY29sb3I6ICMyYjJiMmIgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLmhhcy1tb2R1bGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzc3NWI1O1xuICBjb2xvcjogIzJiMmIyYiAhaW1wb3J0YW50O1xufVxuXG4ucGFuZWwtdGl0bGUgYTpob3Zlcixcbi5wYW5lbC10aXRsZSBhOmFjdGl2ZSxcbi5wYW5lbC10aXRsZSBhOmZvY3VzLFxuLnBhbmVsLXRpdGxlIC5vcGVuIGE6aG92ZXIsXG4ucGFuZWwtdGl0bGUgLm9wZW4gYTphY3RpdmUsXG4ucGFuZWwtdGl0bGUgLm9wZW4gYTpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICNkZWRlZGU7XG59XG5cbi5wYW5lbC10aXRsZSA+IC5zbWFsbCwgLnBhbmVsLXRpdGxlID4gLnNtYWxsID4gYSwgLnBhbmVsLXRpdGxlID4gYSwgLnBhbmVsLXRpdGxlID4gc21hbGwsIC5wYW5lbC10aXRsZSA+IHNtYWxsID4gYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm5hdmJhci1jb2xsYXBzZS5jb2xsYXBzZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm1lbnUtaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLm1lbnUtaGlkZSAucGFuZWwtZGVmYXVsdCA+IC5wYW5lbC1oZWFkaW5nIHtcbiAgY29sb3I6ICNkZWRlZGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4ZThjOGM7XG59XG5cbi8qKioqKioqKioqIEVORCBTSURFQkFSICoqKioqKioqKioqKiovXG4vKioqKioqKioqKiBOQVZCQVIgVE9HR0xFICoqKioqKioqKioqKiovXG4ubmF2YmFyLXRvZ2dsZSAuaWNvbi1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG4ubmF2YmFyLXRvZ2dsZSB7XG4gIHBhZGRpbmc6IDExcHggMTBweDtcbiAgbWFyZ2luLXRvcDogOHB4O1xuICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2EzMjYzODtcbn1cblxuI1Jvd2NvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLXRvcDogLTEwcHg7XG4gIG1hcmdpbi1ib3R0b206IC0xMHB4O1xuICBwYWRkaW5nOiAwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbiNSb3doZWFkaW5nIHtcbiAgZmxleDogMTtcbn1cblxuI1Jvd3dyYXBwZXIge1xuICBmbGV4OiAyO1xufVxuXG4jUm93dGFibGVBY3Rpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbiNmaWVsZCwgI2J1dHRvbnZpZXcge1xuICBtYXJnaW46IDIlO1xufSJdfQ== */\"","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { DorseyService } from '../dorsey.service';\r\nimport { Router } from '@angular/router';\r\nimport { LocalStorageService } from 'ngx-webstorage';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\nimport { BreakpointObserver } from '@angular/cdk/layout';\r\nimport { OrganizationService } from '../services/organization.service';\r\nimport { copyRight } from '../copyRight.model';\r\nimport { MsalUserService } from './msal-user.service';\r\nimport { CompanyService } from '../services/company.service';\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.scss']\r\n})\r\nexport class LoginComponent implements OnInit {\r\n copyRight: string = copyRight;\r\n userName = '';\r\n password = '';\r\n warningMsg = '';\r\n usersData: any;\r\n userRoleAssignmentData: any;\r\n filtercompany = [];\r\n filterEmployee = [];\r\n //filterUserRole = [];\r\n adminDetails = [];\r\n login = false;\r\n rolesData: any;\r\n organizationDetails: any;\r\n menuData: any;\r\n MenuPermissions: any;\r\n PermissionJson: any;\r\n companyID: string;\r\n menuOpenStatus = true;\r\n count = 0;\r\n menuOpen = false;\r\n TeamID: string;\r\n employeeData: any;\r\n employeeID = 0;\r\n organizationID: number;\r\n RoleID: string;\r\n CompanyName: string = '';\r\n companyData: any;\r\n currentUser: any;\r\n GlobalAdminLogin = false;\r\n loginUsername: string;\r\n teamData: any;\r\n panelOpenState = false;\r\n step = 0;\r\n menuVisible = false;\r\n setupList = false;\r\n processList = false;\r\n projects = false;\r\n reports = false;\r\n companySetup = false;\r\n type = false;\r\n loginCompanyName: string = '';\r\n copyDate: number;\r\n opened: any;\r\n sidenavMode: any;\r\n backdrop = false;\r\n smallScrn = false;\r\n isSuperAdmin: boolean = false;\r\n companyNavigate: boolean;\r\n employeeLoginLevel: string;\r\n isScoreCardEnable: boolean = false;\r\n showAzureBtn: boolean = false;\r\n\r\n constructor(private dorsey: DorseyService,\r\n private router: Router,\r\n private storage: LocalStorageService,\r\n private organizationService: OrganizationService,\r\n private dialog: MatDialog,\r\n breakpointObserver: BreakpointObserver,\r\n private companyService: CompanyService,\r\n private msalService: MsalUserService) {\r\n const windowSize = breakpointObserver.observe([\r\n '(max-width: 1200px)'\r\n ]).subscribe(result => {\r\n if (result.matches) {\r\n this.opened = false;\r\n this.sidenavMode = \"over\";\r\n this.smallScrn = true;\r\n } else {\r\n this.opened = true;\r\n this.sidenavMode = \"side\";\r\n this.smallScrn = false;\r\n }\r\n });\r\n if (window.location.href.split('#')[1] === '/' || !window.location.href.split('#')[1]) {\r\n this.storage.store('Login', false);\r\n this.login = false;\r\n }\r\n\r\n }\r\n setStep(index: number) {\r\n this.step = index;\r\n }\r\n\r\n nextStep() {\r\n this.step++;\r\n }\r\n\r\n prevStep() {\r\n this.step--;\r\n }\r\n\r\n collapseSidenav() {\r\n if (this.opened && this.smallScrn) {\r\n this.opened = !this.opened;\r\n }\r\n }\r\n\r\n menuClick(url, obj) {\r\n var activeclasses = document.querySelectorAll('.liactive');\r\n for (let i = 0; i < activeclasses.length; i++) {\r\n activeclasses[i].setAttribute(\"class\", \"liactive1\");\r\n activeclasses[i].parentElement.setAttribute(\"class\", \"has-module1\");\r\n }\r\n obj.parentNode.setAttribute(\"class\", \"liactive\");\r\n obj.parentNode.parentNode.setAttribute(\"class\", \"has-module\");\r\n this.router.navigateByUrl(url);\r\n }\r\n\r\n ngOnInit() {\r\n \r\n if(window.location.hostname.includes('sugarcreek')){\r\n this.showAzureBtn = true;\r\n }\r\n if(sessionStorage.getItem('msal.urlHash')){\r\n var token = sessionStorage.getItem('msal.urlHash').split('#')[1].split('&')[0].split('=')[1];\r\n var azureObject = JSON.parse(atob(token.split('.')[1]));\r\n //preferred_username\r\n this.companyService.getUserDetailsByEmailId(azureObject.email).subscribe(resp => {\r\n if (resp.Data.length == 0) {\r\n this.warningMsg = \"No user found\";\r\n this.storage.clear();\r\n return;\r\n }\r\n this.userName = resp.Data[0].UserName;\r\n this.password = resp.Data[0].Password;\r\n this.storage.store('Login', true);\r\n this.loginProcess();\r\n })\r\n }else{\r\n this.loginProcess();\r\n }\r\n this.copyDate = (new Date()).getFullYear();\r\n }\r\n\r\n loginProcess(): void{\r\n if (this.storage.retrieve('Login')) {\r\n this.GetTeamLogin();\r\n this.GetUserRoleAssignment();\r\n this.GetMenuMaster();\r\n this.Login();\r\n this.MenuPermissions = this.storage.retrieve('MenuPermissions');\r\n this.companyNavigate = this.storage.retrieve('companyNavigate');\r\n this.menuData = this.storage.retrieve('menuData');\r\n this.loginUsername = this.storage.retrieve('loginUsername');\r\n this.companyID = this.storage.retrieve('companyID');\r\n this.GlobalAdminLogin = this.storage.retrieve('GlobalAdminLogin');\r\n this.CompanyName = this.storage.retrieve('CompanyName');\r\n this.organizationID = this.storage.retrieve('organizationId');\r\n this.isScoreCardEnable = this.storage.retrieve('isScoreCardEnable');\r\n this.menuVisible = this.storage.retrieve('menuVisible');\r\n if (this.GlobalAdminLogin) {\r\n this.GetUsers();\r\n this.GetUserRoleAssignment();\r\n if (this.companyID != '0') {\r\n this.dorsey.GetCompanyData().subscribe(data => {\r\n this.companyData = JSON.parse(data['_body']);\r\n let dataCompany = this.companyData.filter(x => x.CompanyID === this.companyID);\r\n if (dataCompany.length > 0) {\r\n this.CompanyName = dataCompany[0].CompanyName;\r\n }\r\n });\r\n this.storage.store('CompanyName', this.CompanyName);\r\n }\r\n }\r\n this.login = true;\r\n } else {\r\n this.GetUserRoleAssignment();\r\n this.GetMenuMaster();\r\n }\r\n }\r\n\r\n loginWithAzure(): void{\r\n this.msalService.login();\r\n }\r\n\r\n GetMenuMaster() {\r\n this.dorsey.GetMenuMaster().subscribe(subData => {\r\n subData = JSON.parse(subData['_body']);\r\n this.menuData = subData;\r\n });\r\n }\r\n\r\n GetUsers() {\r\n this.dorsey.GetUsersList().subscribe(users => {\r\n this.usersData = JSON.parse(users['_body']);\r\n });\r\n }\r\n GetUserRoleAssignment() {\r\n this.dorsey.GetUserRoleAssignment().subscribe(userRoles => {\r\n this.userRoleAssignmentData = JSON.parse(userRoles['_body']);\r\n });\r\n }\r\n\r\n GetTeamLogin() {\r\n if (this.companyID) {\r\n this.dorsey.GetTeam(this.companyID).subscribe(subData => {\r\n subData = JSON.parse(subData['_body']);\r\n this.teamData = subData;\r\n\r\n });\r\n }\r\n\r\n }\r\n\r\n GetTeam(companyID) {\r\n if (companyID) {\r\n this.dorsey.GetTeam(companyID).subscribe(subData => {\r\n subData = JSON.parse(subData['_body']);\r\n this.teamData = subData;\r\n });\r\n }\r\n }\r\n\r\n GetRoles(companyID) {\r\n if (companyID) {\r\n this.dorsey.GetRoles(companyID).subscribe(users => {\r\n this.rolesData = JSON.parse(users['_body']);\r\n });\r\n }\r\n }\r\n\r\n GetEmployee(companyID: string) {\r\n if (companyID) {\r\n this.dorsey.GetEmployee(companyID).subscribe(team => {\r\n this.employeeData = JSON.parse(team['_body']);\r\n });\r\n }\r\n }\r\n\r\n LoginWithCompany(userName, Password, cID) {\r\n this.CompanyName = '';\r\n this.companyID = cID;\r\n if (cID == 0) {\r\n this.menuVisible = true;\r\n }\r\n else {\r\n this.menuVisible = false;\r\n }\r\n let uName = this.storage.retrieve(\"adminEmail\");\r\n let Pas = this.storage.retrieve(\"adminPassword\");\r\n let UserName = this.storage.retrieve('adminUserName');\r\n this.storage.store(\"adminEmail\", uName);\r\n this.storage.store(\"adminPassword\", Pas);\r\n this.storage.store(\"adminUserName\", UserName);\r\n this.userName = userName;\r\n this.password = Password;\r\n this.GlobalAdminLogin = true;\r\n this.GetUsers();\r\n this.GetUserRoleAssignment();\r\n this.Login();\r\n\r\n }\r\n backToOrganization() {\r\n this.Login();\r\n //this.router.navigate(['/organization']);\r\n }\r\n\r\n BackToAdmin() {\r\n // this.storage.clear(\"id\");\r\n // this.storage.clear(\"TeamID\");\r\n // this.GetUsers();\r\n // this.GetUserRoleAssignment();\r\n // this.companyID = '';\r\n // this.menuVisible = true;\r\n this.CompanyName = '';\r\n this.GlobalAdminLogin = false;\r\n this.userName = this.storage.retrieve(\"loginUsername\");\r\n this.login = this.storage.retrieve(\"Login\");\r\n this.loginLevel = this.storage.retrieve(\"loginLevel\");\r\n if (this.loginLevel == 'superadmin') {\r\n this.password = this.storage.retrieve(\"admintoken\");\r\n } else if (this.loginLevel == 'organization') {\r\n this.password = this.storage.retrieve(\"orgtoken\");\r\n } else if (this.loginLevel == 'entity') {\r\n this.password = this.storage.retrieve(\"entitytoken\");\r\n }\r\n\r\n let userId = this.storage.retrieve('UserID');\r\n sessionStorage.clear();\r\n sessionStorage.removeItem(\"loginCompanyName\");\r\n sessionStorage.removeItem(\"CompanyName\");\r\n this.storage.clear();\r\n this.Login();\r\n }\r\n\r\n loginLevel: string;\r\n\r\n Login() {\r\n let parentId: number;\r\n if (this.GlobalAdminLogin) {\r\n this.usersData = this.storage.retrieve('userData');\r\n }\r\n this.dorsey.GetUsersList().subscribe(users => {\r\n this.usersData = JSON.parse(users['_body']);\r\n let data = this.storage.retrieve('UserID');\r\n\r\n if (data !== '') {\r\n let filteruser = this.usersData.filter(x => x.UserID === data);\r\n if (filteruser.length > 0) {\r\n this.currentUser = filteruser;\r\n this.storage.store('CurrentUser', this.currentUser);\r\n }\r\n }\r\n this.warningMsg = '';\r\n if (!this.userName && !this.password) {\r\n this.warningMsg = 'Please enter username and password';\r\n return;\r\n } else if (!this.userName) {\r\n this.warningMsg = 'Please enter username';\r\n return;\r\n } else if (!this.password) {\r\n this.warningMsg = 'Please enter password';\r\n return;\r\n } else if (this.userName != '' && this.password != '') {\r\n\r\n let filteruser = this.usersData.filter(x => (x.UserName.toLowerCase() === this.userName.toLowerCase() && x.Password === this.password || (x.AdminUname === this.userName && x.AdminPwd === this.password)));\r\n if (filteruser.length === 0) {\r\n this.warningMsg = 'Please enter valid credentials';\r\n return;\r\n }\r\n this.currentUser = filteruser;\r\n this.dorsey.GetCompanyRoleID(filteruser[0].CompanyID).subscribe(roleData => {\r\n let compRole = JSON.parse(roleData['_body'])[0]['RoleID'];\r\n localStorage.setItem('companyRoleID', (compRole));\r\n let userRoleName = JSON.parse(roleData['_body'])[0]['RoleName'];\r\n this.storage.store('userRoleName', userRoleName);\r\n });\r\n\r\n this.storage.store('CurrentUser', this.currentUser);\r\n if (filteruser.length > 0) {\r\n this.userName = filteruser[0].UserName;\r\n this.storage.store(\"UserID\", filteruser[0].UserID);\r\n\r\n if (this.GlobalAdminLogin) {\r\n this.loginUsername = this.storage.retrieve('loginUsername');\r\n this.companyID = filteruser[0].CompanyID;\r\n let userName = this.storage.retrieve('adminUserName');\r\n this.storage.store('user', userName);\r\n }\r\n else {\r\n this.loginUsername = filteruser[0].UserName;\r\n this.companyID = filteruser[0].CompanyID;\r\n this.storage.store('user', filteruser[0].UserName);\r\n }\r\n this.organizationID = filteruser[0].OrganizationID;\r\n this.dorsey.GetRoles(this.companyID).subscribe(users => {\r\n this.rolesData = JSON.parse(users['_body']);\r\n this.dorsey.GetUserRoleAssignment().subscribe(data => {\r\n this.userRoleAssignmentData = JSON.parse(data['_body']);\r\n this.adminDetails = this.userRoleAssignmentData.filter(x => x.UserID === filteruser[0].UserID && x.RoleID === 1);\r\n this.organizationDetails = this.userRoleAssignmentData.filter(x => x.UserID === filteruser[0].UserID && filteruser[0].CompanyID === 0 && filteruser[0].EmployeeID === 0);\r\n // this.companyLogin = this.userRoleAssignmentData.filter(x => x.UserID === filteruser[0].UserID && filteruser[0].EmployeeID === 0);\r\n this.filtercompany = this.userRoleAssignmentData.filter(x => x.UserID === filteruser[0].UserID && filteruser[0].EmployeeID === 0);\r\n if (this.adminDetails.length > 0) {\r\n if (!this.storage.retrieve('loginLevel')) {\r\n this.loginLevel = 'superadmin';\r\n this.storage.store(\"admintoken\", this.password);\r\n this.storage.store(\"loginLevel\", this.loginLevel);\r\n }\r\n this.menuVisible = true;\r\n this.storage.store('isCompanyLogin', false);\r\n this.organizationID = 0;\r\n let filterPermissons = this.rolesData.filter(x => x.RoleID === this.adminDetails[0].RoleID && x.OrganizationID == 0);\r\n this.MenuPermissions = JSON.parse(filterPermissons[0].MenuJson);\r\n this.storage.store(\"username\", this.userName);\r\n\r\n this.storage.store(\"token\", this.password);\r\n this.storage.store(\"organizationId\", this.organizationID);\r\n this.storage.store(\"adminUname\", filteruser[0].UserName);\r\n this.storage.store(\"GlobalAdminLogin\", this.GlobalAdminLogin);\r\n this.storage.store('MenuPermissions', this.MenuPermissions);\r\n this.storage.store('menuData', this.menuData);\r\n this.storage.store('companyID', filteruser[0].CompanyID);\r\n this.storage.store('loginUsername', this.loginUsername);\r\n this.storage.store('Login', true);\r\n this.isScoreCardEnable = false;\r\n this.router.navigate(['/organization'],);\r\n this.login = true;\r\n return;\r\n }\r\n else if (this.organizationDetails.length > 0) {\r\n if (!this.storage.retrieve('loginLevel')) {\r\n this.loginLevel = 'organization';\r\n this.storage.store(\"orgtoken\", this.password);\r\n this.storage.store(\"loginLevel\", this.loginLevel);\r\n }\r\n this.companyNavigate = false;\r\n this.storage.store(\"companyNavigate\", this.companyNavigate);\r\n this.isSuperAdmin = false;\r\n this.organizationID = filteruser[0].OrganizationID;\r\n this.storage.store(\"organizationId\", this.organizationID);\r\n var orgDetails;\r\n this.organizationService.getOrganizations().subscribe(resp => {\r\n let organization = resp.Data.find(ent => ent.OrganizationID === this.organizationID);\r\n orgDetails = {\r\n OrganizationId: organization.OrganizationID,\r\n IsSuperAdmin: this.isSuperAdmin,\r\n OrganizationName: organization.OrganizationName,\r\n NoOfLicenses: organization.NoOfLicenses\r\n }\r\n this.menuVisible = true;\r\n let filterPermissons = this.rolesData.filter(x => x.RoleID === this.filtercompany[0].RoleID);\r\n this.MenuPermissions = JSON.parse(filterPermissons[0].MenuJson);\r\n\r\n this.storage.store(\"username\", this.userName);\r\n this.storage.store(\"token\", this.password);\r\n this.storage.store(\"adminUname\", filteruser[0].UserName);\r\n this.storage.store(\"GlobalAdminLogin\", this.GlobalAdminLogin);\r\n this.storage.store('MenuPermissions', this.MenuPermissions);\r\n this.storage.store('menuData', this.menuData);\r\n this.storage.store('companyID', filteruser[0].CompanyID);\r\n this.storage.store('loginUsername', this.loginUsername);\r\n this.storage.store('Login', true);\r\n this.isScoreCardEnable = false;\r\n this.storage.store('OrganizationDetails', orgDetails);\r\n this.router.navigate(['/entity']);\r\n this.login = true;\r\n });\r\n return;\r\n }\r\n else if (this.filtercompany.length > 0) {\r\n if (!this.storage.retrieve('loginLevel')) {\r\n this.loginLevel = 'entity';\r\n this.storage.store(\"entitytoken\", this.password);\r\n this.storage.store(\"loginLevel\", this.loginLevel);\r\n }\r\n\r\n this.companyNavigate = this.storage.retrieve(\"companyNavigate\");\r\n let role = this.userRoleAssignmentData.filter(x => x.UserID === this.filtercompany[0].UserID)\r\n let filterPermissons = this.rolesData.filter(x => x.RoleID === role[0].RoleID);\r\n this.MenuPermissions = JSON.parse(filterPermissons[0].MenuJson);\r\n this.organizationID = filteruser[0].OrganizationID;\r\n var orgDetails;\r\n this.organizationService.getOrganizations().subscribe(resp => {\r\n let organization = resp.Data.find(ent => ent.OrganizationID === this.organizationID);\r\n orgDetails = {\r\n OrganizationId: organization.OrganizationID,\r\n IsSuperAdmin: this.isSuperAdmin,\r\n OrganizationName: organization.OrganizationName,\r\n NoOfLicenses: organization.NoOfLicenses\r\n }\r\n this.GetTeam(this.companyID);\r\n if (this.teamData !== undefined) {\r\n for (let i = 0; i < this.teamData.length; i++) {\r\n if (this.teamData[i].TeamName === 'Leadership Team' && this.teamData[i].CompanyID === filteruser[0].CompanyID) {\r\n this.storage.store('TeamIDLeader', this.teamData[i].TeamID);\r\n }\r\n }\r\n }\r\n this.companyID = filteruser[0].CompanyID;\r\n let readOnly = this.rolesData.filter(x => x.CompanyID === this.companyID && x.RoleName.toLowerCase() === \"read only\");\r\n if (readOnly.length > 0) {\r\n this.storage.store(\"ReadOnlyRoleID\", readOnly[0].RoleID);\r\n }\r\n let TeamAdmin = this.rolesData.filter(x => x.CompanyID === this.companyID && x.RoleName.toLowerCase() === \"team admin\");\r\n if (TeamAdmin.length > 0) {\r\n this.storage.store(\"TeamAdminRoleID\", TeamAdmin[0].RoleID);\r\n }\r\n\r\n let teamMember = this.rolesData.filter(x => x.CompanyID === this.companyID && x.RoleName.toLowerCase() === \"team member\");\r\n if (teamMember.length > 0) {\r\n this.storage.store(\"TeamMemberRoleID\", teamMember[0].RoleID);\r\n }\r\n if (this.companyID != '0') {\r\n this.dorsey.GetCompanyData().subscribe(data => {\r\n this.companyData = JSON.parse(data['_body']);\r\n let dataCompany = this.companyData.filter(x => x.CompanyID === this.companyID);\r\n if (dataCompany.length > 0) {\r\n this.CompanyName = dataCompany[0].CompanyName;\r\n parentId = dataCompany[0].ParentID;\r\n this.isScoreCardEnable = dataCompany[0].EnableScoreCard;\r\n }\r\n this.storage.store('CompanyName', this.CompanyName);\r\n this.storage.store('isScoreCardEnable', this.isScoreCardEnable);\r\n\r\n this.storage.store('loginCompanyName', this.CompanyName);\r\n sessionStorage.setItem('loginCompanyName', this.CompanyName);\r\n\r\n });\r\n }\r\n this.storage.store(\"GlobalAdminLogin\", this.GlobalAdminLogin);\r\n this.storage.store(\"username\", this.userName);\r\n this.storage.store(\"token\", this.password);\r\n this.RoleID = filterPermissons[0].RoleID;\r\n this.storage.store('RoleID', this.RoleID);\r\n this.storage.store('loginUsername', this.loginUsername);\r\n this.storage.store('EmpRoleID', this.RoleID);\r\n\r\n this.storage.store('companyID', filteruser[0].CompanyID);\r\n this.storage.store('EmployeeID', filteruser[0].EmployeeID);\r\n this.login = true;\r\n this.storage.store('Login', true);\r\n this.storage.store('MenuPermissions', this.MenuPermissions);\r\n this.storage.store('menuData', this.menuData);\r\n this.storage.store('isCompanyLogin', true);\r\n\r\n if (!parentId) {\r\n this.storage.store('isSubCompanyLogin', true);\r\n }\r\n\r\n this.storage.store('OrganizationDetails', orgDetails);\r\n if (!this.companyNavigate) {\r\n this.menuVisible = true;\r\n this.companyNavigate = false;\r\n this.storage.store(\"companyNavigate\", this.companyNavigate);\r\n this.router.navigateByUrl('/entity');\r\n } else {\r\n this.menuVisible = false;\r\n this.companyNavigate = true;\r\n this.storage.store(\"companyNavigate\", this.companyNavigate);\r\n this.router.navigateByUrl('/processMap');\r\n }\r\n });\r\n }\r\n else {\r\n this.menuVisible = false;\r\n this.companyNavigate = true;\r\n this.storage.store(\"menuVisible\", this.menuVisible);\r\n this.storage.store(\"companyNavigate\", this.companyNavigate);\r\n this.filterEmployee = this.userRoleAssignmentData.filter(x => x.UserID === filteruser[0].UserID && filteruser[0].EmployeeID !== 0);\r\n if (this.filterEmployee.length > 0) {\r\n let filterPermissons = this.rolesData.filter(x => x.RoleID === this.filterEmployee[0].RoleID);\r\n this.MenuPermissions = JSON.parse(filterPermissons[0].MenuJson);\r\n this.companyID = filteruser[0].CompanyID;\r\n this.dorsey.GetEmployee(filteruser[0].CompanyID).subscribe(team => {\r\n this.employeeData = JSON.parse(team['_body']);\r\n let filterEm = this.employeeData.filter(x => x.EmployeeID === filteruser[0].EmployeeID && filteruser[0].CompanyID === this.companyID);\r\n this.employeeID = filteruser[0].EmployeeID;\r\n if (filterEm.length > 0) {\r\n if (this.teamData !== undefined) {\r\n for (let i = 0; i < this.teamData.length; i++) {\r\n if (this.teamData[i].TeamID === filterEm[0].TeamID && this.teamData[i].CompanyID === filteruser[0].CompanyID) {\r\n this.storage.store('TeamIDLeader', this.teamData[i].TeamID);\r\n }\r\n else if (this.teamData[i].TeamName === 'Leadership Team' && this.teamData[i].CompanyID === filteruser[0].CompanyID) {\r\n this.storage.store('TeamIDLeader', this.teamData[i].TeamID);\r\n }\r\n }\r\n }\r\n this.storage.store('TeamID', filterEm[0].TeamID);\r\n }\r\n this.storage.store(\"employeeDetails\", filterEm[0]);\r\n this.RoleID = filterEm[0].RoleID;\r\n this.storage.store(\"GlobalAdminLogin\", this.GlobalAdminLogin);\r\n this.storage.store(\"username\", this.userName);\r\n this.storage.store(\"token\", this.password);\r\n this.storage.store('loginUsername', this.loginUsername);\r\n let readOnly = this.rolesData.filter(x => x.CompanyID === this.companyID && x.RoleName.toLowerCase() === \"read only\");\r\n if (readOnly.length > 0) {\r\n this.storage.store(\"ReadOnlyRoleID\", readOnly[0].RoleID);\r\n }\r\n let TeamAdmin = this.rolesData.filter(x => x.CompanyID === this.companyID && x.RoleName.toLowerCase() === \"team admin\");\r\n if (TeamAdmin.length > 0) {\r\n this.storage.store(\"TeamAdminRoleID\", TeamAdmin[0].RoleID);\r\n this.storage.store(\"TeamMemberRoleName\", TeamAdmin[0].RoleName);\r\n }\r\n let teamMember = this.rolesData.filter(x => x.CompanyID === this.companyID && x.RoleName.toLowerCase() === \"team member\");\r\n if (teamMember.length > 0) {\r\n this.storage.store(\"TeamMemberRoleID\", teamMember[0].RoleID);\r\n }\r\n if (this.companyID != '0') {\r\n this.dorsey.GetCompanyData().subscribe(data => {\r\n this.companyData = JSON.parse(data['_body']);\r\n let dataCompany = this.companyData.filter(x => x.CompanyID === this.companyID);\r\n if (dataCompany.length > 0) {\r\n this.CompanyName = dataCompany[0].CompanyName;\r\n parentId = dataCompany[0].ParentID;\r\n this.isScoreCardEnable = dataCompany[0].EnableScoreCard;\r\n }\r\n this.storage.store('isScoreCardEnable', this.isScoreCardEnable);\r\n this.storage.store('CompanyName', this.CompanyName);\r\n this.storage.store('loginCompanyName', this.CompanyName);\r\n sessionStorage.setItem('loginCompanyName', this.CompanyName);\r\n });\r\n }\r\n this.storage.store('RoleID', \"0\");\r\n this.storage.store('EmpRoleID', this.RoleID);\r\n this.storage.store('companyID', filteruser[0].CompanyID);\r\n this.storage.store('user', filteruser[0].UserName);\r\n this.storage.store('EmployeeID', filteruser[0].EmployeeID);\r\n this.login = true;\r\n this.storage.store('Login', true);\r\n this.storage.store('MenuPermissions', this.MenuPermissions);\r\n this.storage.store('menuData', this.menuData);\r\n this.menuVisible = false;\r\n this.router.navigateByUrl('/processMap');\r\n });\r\n }\r\n }\r\n })\r\n });\r\n }\r\n else {\r\n this.warningMsg = 'Please enter valid Credentials';\r\n }\r\n }\r\n else {\r\n this.warningMsg = 'Please enter valid Credentials';\r\n return;\r\n }\r\n });\r\n if (this.companyID != '0') {\r\n this.dorsey.GetCompanyData().subscribe(data => {\r\n this.companyData = JSON.parse(data['_body']);\r\n\r\n // let dataCompany = this.companyData.filter(x => x.CompanyID === this.companyID);\r\n // if (dataCompany.length > 0) {\r\n // this.CompanyName = dataCompany[0].CompanyName;\r\n // }\r\n\r\n this.storage.store('CompanyName', this.CompanyName);\r\n this.storage.store('loginCompanyName', this.CompanyName);\r\n sessionStorage.setItem('loginCompanyName', this.CompanyName);\r\n\r\n });\r\n }\r\n\r\n }\r\n\r\n GetCompany() {\r\n\r\n }\r\n LogOut() {\r\n this.loginUsername = \"\";\r\n this.CompanyName = \"\";\r\n this.menuVisible = false;\r\n this.userName = '';\r\n this.password = '';\r\n this.login = false;\r\n this.employeeID = 0;\r\n this.companyID = ''\r\n this.GlobalAdminLogin = false;\r\n this.storage.clear('Login');\r\n this.storage.clear('MenuPermissions');\r\n this.storage.clear('menuData');\r\n this.storage.clear('companyID');\r\n this.storage.clear('TeamID');\r\n this.storage.clear('EmpRoleID');\r\n this.storage.clear('id');\r\n this.storage.clear('userData');\r\n this.storage.clear('employeeDetails');\r\n this.storage.clear('CompanyName');\r\n this.storage.clear('ReadOnlyRoleID');\r\n this.storage.clear('TeamAdminRoleID');\r\n this.storage.clear('TeamMemberRoleName');\r\n this.storage.clear('TeamMemberRoleID');\r\n this.storage.clear('TeamIDLeader');\r\n this.storage.clear('username');\r\n this.storage.clear('token');\r\n this.storage.clear('adminEmail');\r\n this.storage.clear('adminPassoword');\r\n this.storage.clear('adminUserName');\r\n this.storage.clear('loginUsername');\r\n this.storage.clear('loginCompanyName');\r\n this.storage.clear('GlobalAdminLogin');\r\n this.storage.clear('RoleID');\r\n this.router.navigateByUrl('/');\r\n this.filterEmployee = [];\r\n this.adminDetails = [];\r\n this.filtercompany = [];\r\n this.MenuPermissions = null;\r\n sessionStorage.clear();\r\n sessionStorage.removeItem(\"loginCompanyName\");\r\n sessionStorage.removeItem(\"CompanyName\");\r\n this.storage.clear();\r\n }\r\n\r\n CheckEnter(event) {\r\n event.preventDefault();\r\n if (event.keyCode === 13) {\r\n document.getElementById('login').click();\r\n }\r\n }\r\n\r\n onClick(event) {\r\n if (this.count === 0) {\r\n this.menuOpen = true;\r\n this.menuOpenStatus = false;\r\n this.count++;\r\n } else {\r\n this.menuOpen = false;\r\n this.menuOpenStatus = true;\r\n this.count = 0;\r\n }\r\n\r\n }\r\n changePassword() {\r\n this.GetUsers();\r\n this.Login();\r\n const dialogRef = this.dialog.open(LoginMetricDialogComponent, {\r\n panelClass: 'custom-dialog-container',\r\n data: 'ChangePwd' + 'æææ' + false,\r\n });\r\n\r\n dialogRef.componentInstance.userName = this.userName;\r\n dialogRef.componentInstance.password = this.password;\r\n dialogRef.componentInstance.currentUser = this.currentUser;\r\n dialogRef.componentInstance.usersData = this.usersData;\r\n\r\n dialogRef.afterClosed().subscribe(res => {\r\n if (res) {\r\n const dialogRefchid = this.dialog.open(LoginMetricDialogComponent, {\r\n data: 'Updated succesfully' + 'æææ' + false,\r\n });\r\n dialogRefchid.afterClosed().subscribe(data => {\r\n this.GetUsers();\r\n });\r\n }\r\n });\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'app-dialog',\r\n templateUrl: 'dialog.html',\r\n styleUrls: ['dialog.css'],\r\n providers: [DorseyService],\r\n})\r\nexport class LoginMetricDialogComponent implements OnInit {\r\n currentUser: any;\r\n oldPassword: string;\r\n newPassword: string;\r\n confirmPassword: string;\r\n dataSelf: string;\r\n usersData: any;\r\n userName: string;\r\n password: string;\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any, public dorseyService: DorseyService, private storage: LocalStorageService) {\r\n this.data = this.data.split('æææ');\r\n this.data = this.data[0];\r\n }\r\n ngOnInit() {\r\n this.currentUser = this.storage.retrieve('CurrentUser');\r\n }\r\n\r\n Close() {\r\n this.dialogRef.close(false);\r\n }\r\n ChangePassword() {\r\n\r\n this.dataSelf = '';\r\n if (!this.oldPassword || !this.newPassword || !this.confirmPassword) {\r\n this.dataSelf = 'Please enter mandatory fields(*)';\r\n return;\r\n } else if (this.oldPassword !== this.currentUser[0].Password) {\r\n this.dataSelf = 'Please enter the correct current password';\r\n return;\r\n } else if (this.newPassword !== this.confirmPassword) {\r\n this.dataSelf = 'New password and confirm password mismatch';\r\n return;\r\n } else if (this.oldPassword === this.confirmPassword) {\r\n this.dataSelf = 'Current password and new password should not match';\r\n return;\r\n }\r\n else {\r\n const json = {\r\n Password: this.confirmPassword,\r\n UserID: this.currentUser[0].UserID\r\n };\r\n this.dorseyService.ChangePassword(json).subscribe(data => {\r\n\r\n if (data['_body'].toString() !== 'false') {\r\n\r\n this.dialogRef.close(true);\r\n\r\n } else {\r\n this.dataSelf = 'Save failed';\r\n }\r\n\r\n });\r\n }\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport * as Msal from \"msal\";\r\nimport { Observable } from \"rxjs\";\r\nimport { AzureDetails } from \"./azure-details.model\";\r\n// @Injectable({\r\n// providedIn: \"root\",\r\n// })\r\nexport class MsalUserService {\r\n private accessToken: any;\r\n public clientApplication: Msal.UserAgentApplication = null;\r\n constructor() {\r\n this.clientApplication = new Msal.UserAgentApplication(\r\n AzureDetails.ClientId,\r\n \"https://login.microsoftonline.com/\" + AzureDetails.TenantId,\r\n this.authCallback,\r\n {\r\n storeAuthStateInCookie: true,\r\n //cacheLocation: 'localStorage' ,\r\n }\r\n );\r\n }\r\n public GetAccessToken(): Observable {\r\n if (\r\n sessionStorage.getItem(\"msal.idtoken\") !== undefined &&\r\n sessionStorage.getItem(\"msal.idtoken\") != null\r\n ) {\r\n this.accessToken = sessionStorage.getItem(\"msal.idtoken\");\r\n }\r\n return this.accessToken;\r\n }\r\n\r\n public authCallback(errorDesc, token, error, tokenType) {\r\n if (token) {\r\n console.log(token);\r\n } else {\r\n console.log(error + \":\" + errorDesc);\r\n }\r\n }\r\n\r\n public getCurrentUserInfo() {\r\n const user = this.clientApplication.getUser();\r\n console.log(user);\r\n }\r\n\r\n public logout() {\r\n this.clientApplication.logout();\r\n }\r\n\r\n public login(){\r\n this.clientApplication.loginRedirect();\r\n }\r\n}","import {\r\n Directive,\r\n Output,\r\n EventEmitter,\r\n HostBinding,\r\n HostListener\r\n } from '@angular/core';\r\n \r\n @Directive({\r\n selector: '[long-press]'\r\n })\r\n export class LongPress {\r\n pressing: boolean;\r\n longPressing: boolean;\r\n timeout: any;\r\n interval: any;\r\n \r\n @Output()\r\n onLongPress = new EventEmitter();\r\n \r\n @Output()\r\n onLongPressing = new EventEmitter();\r\n \r\n @HostBinding('class.press')\r\n get press() { return this.pressing; }\r\n \r\n @HostBinding('class.longpress')\r\n get longPress() { return this.longPressing; }\r\n \r\n @HostListener('touchstart', ['$event'])\r\n @HostListener('mousedown', ['$event'])\r\n onMouseDown(event) {\r\n this.pressing = true;\r\n this.longPressing = false;\r\n this.timeout = setTimeout(() => {\r\n this.longPressing = true;\r\n this.onLongPress.emit(event);\r\n this.interval = setInterval(() => {\r\n this.onLongPressing.emit(event);\r\n }, 50);\r\n }, 500);\r\n }\r\n \r\n @HostListener('touchend')\r\n @HostListener('mouseup')\r\n @HostListener('mouseleave')\r\n endPress() {\r\n clearTimeout(this.timeout);\r\n clearInterval(this.interval);\r\n this.longPressing = false;\r\n this.pressing = false;\r\n }\r\n }\r\n ","import { Component, OnInit, Inject } from '@angular/core';\nimport { DorseyService } from '../dorsey.service';\nimport { Http } from '@angular/http';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { FormControl } from '@angular/forms';\nimport { DatePipe } from '@angular/common'\nimport { Observable } from 'rxjs';\nimport { LocalStorageService } from 'ngx-webstorage';\nimport { GoalService } from '../services/goal.service';\nimport { EmployeeLoginLevel } from '../common/models/login-level.model';\nimport { PerformanceScoreCardService } from '../performance-score-card/performance-score-card.service';\nimport { copyRight } from '../copyRight.model';\n\n@Component({\n selector: 'app-metric',\n templateUrl: './metric.component.html',\n providers: [DorseyService]\n})\nexport class MetricComponent implements OnInit {\n employeeLoginLevel = EmployeeLoginLevel;\n employeeDetails: any;\n greenLow: string;\n greenHigh: string;\n redLow: string;\n GoalID: string;\n redHigh: string;\n yellowLow: string;\n yellowHigh: string;\n condition = false;\n status = false;\n employeeData: any;\n processData: any;\n activityData: any;\n pointerTypeData: any;\n frustrationtypeData: any;\n departmentData: any;\n teamData: any;\n severityData: any;\n statusData: any;\n processTeamData: any;\n EmployeeID: number;\n ProcessID: string;\n ActivityID: string;\n PointerTypeID = \"2\";\n FrustrationTypeID: string;\n DepartmentID: string;\n TeamID: string;\n StatusID: string;\n SeverityID: string;\n Subject: string;\n Description: string;\n PointerID: string;\n pointerData: any;\n tempActivity = [];\n tempFrustrationType = [];\n metricData: any;\n searchtext: string;\n p: number = 1;\n rowsOnPage = 10;\n rowsOnPageSet = [];\n rowCount: any;\n dynamicRows = 10;\n isDesc: boolean = false;\n column = \"\";\n direction: number;\n arrow = true;\n metricPaging = false;\n saveFilter = [];\n CompanyID: string;\n isDisable = false;\n disableSearch = false;\n tempProcess = [];\n UOM: string;\n\n currentUser: string;\n MenuPermissions: any;\n menuData: any;\n menuID: string;\n menuName: string;\n ParentID: any;\n subActivityStatus = false;\n SubActivityID: string;\n tempSubActivity = [];\n userTeamID: string;\n Source: string;\n loginCompanyName: any;\n\n TeamName: any;\n EmpROleID: any;\n UserID: any;\n userRoleAssignmentData: any;\n rolesData: any;\n GoalsList: any;\n constructor(private http: Http, private dorseyService: DorseyService,\n public dialog: MatDialog, private storage: LocalStorageService,\n public goalService: GoalService,\n private scoreCardService: PerformanceScoreCardService) {\n this.CompanyID = this.storage.retrieve('companyID');\n this.userTeamID = this.storage.retrieve('TeamID');\n this.currentUser = this.storage.retrieve('user');\n this.menuData = this.storage.retrieve('menuData');\n this.MenuPermissions = this.storage.retrieve('MenuPermissions');\n this.loginCompanyName = this.storage.retrieve('loginCompanyName');\n\n this.UserID = this.storage.retrieve('UserID');\n this.EmpROleID = this.storage.retrieve('EmpRoleID');\n this.employeeDetails = this.storage.retrieve('employeeDetails');\n this.GetTeam();\n }\n\n ngOnInit() {\n\n this.GetGoals();\n\n this.menuData = this.menuData.filter(x => x.MenuName.toString().toLowerCase() === 'metric');\n if (this.employeeDetails) {\n this.EmployeeID = this.employeeDetails.EmployeeID;\n this.TeamID = this.employeeDetails.TeamID;\n }\n else {\n this.EmployeeID = 0;\n }\n\n if (this.menuData.length > 0) {\n this.menuName = this.menuData[0][\"MenuName\"];\n this.menuID = this.menuData[0][\"MenuID\"];\n }\n\n this.GetProcess();\n this.GetActivity();\n this.GetPointerType();\n\n this.GetPointer();\n\n }\n\n\n GetGoals() {\n this.GoalsList = [];\n this.goalService.getGoals(parseInt(this.CompanyID)).subscribe(resp => {\n\n this.GoalsList = resp.Data;\n });\n }\n\n OpenPointer() {\n this.dialogCall('new');\n }\n Searchtext() {\n this.metricData = this.saveFilter;\n let tempMetric = this.metricData.filter(\n (item) => {\n return (\n (item.ProcessName !== null && item.ProcessName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.ActivityName !== null && item.ActivityName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.GoalName !== null && item.GoalName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.Description !== null && item.Description.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.TeamName !== null && item.TeamName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n\n (item.Source !== null && item.Source.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1)\n\n );\n }\n\n );\n this.metricData = tempMetric;\n if (this.metricData.length == 0) {\n this.isDisable = true;\n } else {\n this.isDisable = false;\n }\n\n if (this.searchtext === '') {\n this.GoalsList = this.saveFilter;\n this.rowCount = this.GoalsList.length;\n this.isDisable = false;\n this.getMetricPagination(this.rowCount);\n }\n else {\n this.rowCount = tempMetric.length;\n this.getMetricPagination(this.rowCount);\n if (this.rowsOnPageSet.length === 1) {\n if (this.rowsOnPageSet[0] <= 10)\n\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n }\n }\n\n GetPointer() {\n this.metricData = [];\n this.dorseyService.GetPointer(this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.pointerData = subData;\n this.metricData = this.pointerData.filter(x => x.PointerTypeID != null && x.PointerTypeID.toString() === \"2\");\n let tempMetricData = this.metricData;\n\n if (this.metricData.length === 0) {\n this.metricPaging = false;\n this.isDisable = true;\n this.disableSearch = true;\n }\n else {\n\n if (this.employeeDetails) {\n if (this.employeeDetails.IsEmployeeLoginLevel == this.employeeLoginLevel.Department) {\n this.metricData = this.metricData.filter(entity1 => this.teamData.some(entity2 => entity1.TeamID == entity2.TeamID));\n }\n else if (this.employeeDetails.IsEmployeeLoginLevel == this.employeeLoginLevel.Team) {\n this.metricData = this.metricData.filter(ent => ent.TeamID == this.employeeDetails.TeamID)\n }\n else {\n let data = this.metricData.filter(x => x.CompanyID === this.CompanyID);\n this.metricData = data;\n }\n }\n\n }\n\n this.dynamicRows = 10;\n this.rowsOnPageSet = [];\n\n if (this.metricData.length === 0) {\n this.metricPaging = false;\n this.isDisable = true;\n this.disableSearch = true;\n }\n else {\n this.saveFilter = JSON.parse(JSON.stringify(this.metricData));\n this.rowCount = this.metricData.length;\n this.getMetricPagination(this.rowCount)\n\n this.metricPaging = true;\n this.isDisable = false;\n this.disableSearch = false;\n\n }\n });\n }\n\n getMetricPagination(RowCount): void {\n this.dynamicRows = 10;\n this.rowsOnPageSet = [];\n this.rowsOnPage = 10;\n this.rowCount = RowCount;\n while (this.dynamicRows < this.rowCount) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 10;\n }\n if (!this.rowsOnPageSet.includes(this.rowCount)) {\n this.rowsOnPageSet.push(this.rowCount);\n if (this.rowsOnPageSet.length === 1) {\n if (this.rowsOnPageSet[0] <= 10)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n }\n }\n exportAsXLSX() {\n let allData = JSON.parse(JSON.stringify(this.metricData));\n for (let i = 0; i < allData.length; i++) {\n allData[i].Team = allData[i].TeamName;\n allData[i].Process = allData[i].ProcessName;\n allData[i].Activity = allData[i].ActivityName;\n allData[i]['Goal'] = allData[i].GoalName;\n allData[i]['Metric'] = allData[i].Description;\n allData[i][' Source'] = allData[i].Source;\n delete (allData[i].DepartmentName);\n delete (allData[i].EmployeeName);\n delete (allData[i].VersionID);\n delete (allData[i].GoalID);\n delete (allData[i].Source);\n delete (allData[i].GoalName);\n delete (allData[i].Target);\n delete (allData[i].RedRange);\n delete (allData[i].GreenRange);\n delete (allData[i].YellowRange);\n delete (allData[i].CompanyID);\n delete (allData[i].ProjectName);\n delete (allData[i].ProcessName);\n delete (allData[i].ActivityName);\n\n delete (allData[i].TeamName);\n delete (allData[i].PointerID);\n delete (allData[i].Description);\n\n delete (allData[i].SeverityID);\n delete (allData[i].EmployeeID);\n\n delete (allData[i].Type);\n delete (allData[i].Subject);\n delete (allData[i].ActivityID);\n delete (allData[i].PointerTypeID);\n delete (allData[i].StatusID);\n delete (allData[i].DepartmentID);\n delete (allData[i].ProcessID)\n\n delete (allData[i].FrustrationsTypeName);\n delete (allData[i].StatusName);\n delete (allData[i].SeverityName)\n\n delete (allData[i].UpdatedDate);\n delete (allData[i].UpdatedBy);\n delete (allData[i].ProjectID)\n\n delete (allData[i].TeamID);\n delete (allData[i].FrustrationsTypeID);\n delete (allData[i].Date)\n\n delete (allData[i].IsActive);\n delete (allData[i].CreatedDate);\n delete (allData[i].CreatedBy)\n }\n\n this.dorseyService.generateExcel(allData, this.loginCompanyName + '_metric' + \"_\" + (new Date().getMonth() + 1) + '-' + new Date().getDate() + '-' + new Date().getFullYear(), 'Metric', \"Company: \" + this.loginCompanyName, '', \"Metric Report\", copyRight, 'FFFFFF00', 'FF0000FF');\n\n }\n sort(property) {\n this.arrow = !this.arrow;\n this.isDesc = !this.isDesc; //change the direction \n this.column = property;\n this.direction = this.isDesc ? 1 : -1;\n }\n GetPointerType() {\n this.dorseyService.GetPointerType().subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.pointerTypeData = subData;\n });\n }\n GetTeam() {\n this.dorseyService.GetTeam(this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.teamData = subData;\n\n if (this.employeeDetails) {\n if (this.employeeDetails.IsEmployeeLoginLevel == this.employeeLoginLevel.Department) {\n this.teamData = this.teamData.filter(ent => ent.DepartmentID == this.employeeDetails.DepartmentID)\n }\n else if (this.employeeDetails.IsEmployeeLoginLevel == this.employeeLoginLevel.Team) {\n this.teamData = this.teamData.filter(ent => ent.DepartmentID == this.employeeDetails.DepartmentID && ent.TeamID == this.employeeDetails.TeamID)\n this.TeamName = this.teamData[0].TeamName;\n }\n else {\n this.teamData = subData;\n }\n }\n });\n }\n GetActivity() {\n this.dorseyService.GetActivity(this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.activityData = subData;\n });\n }\n GetProcess() {\n this.dorseyService.GetProcess(this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.processData = subData;\n if (this.employeeDetails) {\n if (this.employeeDetails.IsEmployeeLoginLevel == this.employeeLoginLevel.Department) {\n this.processData = this.processData.filter(entity1 => this.teamData.some(entity2 => entity1.TeamID == entity2.TeamID));\n }\n else if (this.employeeDetails.IsEmployeeLoginLevel == this.employeeLoginLevel.Team) {\n this.processData = this.processData.filter(ent => ent.TeamID == this.employeeDetails.TeamID)\n }\n else {\n this.processData = subData;\n }\n }\n });\n }\n\n dialogCall(msg: string) {\n const dialogRef = this.dialog.open(MetricDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: msg + 'æææ' + false,\n });\n if (msg === 'new') {\n this.searchtext = '';\n this.GetPointer();\n }\n dialogRef.componentInstance.EmployeeID = this.EmployeeID;\n dialogRef.componentInstance.currentUser = this.currentUser;\n dialogRef.componentInstance.GoalsList = this.GoalsList;\n dialogRef.componentInstance.processData = this.processData;\n\n dialogRef.componentInstance.activityData = this.activityData;\n dialogRef.componentInstance.departmentData = this.departmentData;\n dialogRef.componentInstance.pointerTypeData = this.pointerTypeData;\n dialogRef.componentInstance.severityData = this.severityData;\n dialogRef.componentInstance.statusData = this.statusData;\n dialogRef.componentInstance.teamData = this.teamData;\n dialogRef.componentInstance.employeeData = this.employeeData;\n dialogRef.componentInstance.frustrationtypeData = this.frustrationtypeData;\n dialogRef.componentInstance.tempActivity = this.tempActivity;\n dialogRef.componentInstance.tempFrustrationType = this.tempFrustrationType;\n dialogRef.componentInstance.CompanyID = this.CompanyID;\n dialogRef.componentInstance.tempSubActivity = this.tempSubActivity;\n dialogRef.componentInstance.SubActivityID = this.SubActivityID;\n dialogRef.componentInstance.searchtext = this.searchtext;\n dialogRef.componentInstance.GoalID = this.GoalID;\n this.GetPointer();\n if (msg === 'edit') {\n this.status = true;\n let tempProcessData = this.processData.filter(x => x.TeamID === this.TeamID);\n dialogRef.componentInstance.processData = tempProcessData;\n dialogRef.componentInstance.EmployeeID = this.EmployeeID;\n dialogRef.componentInstance.ProcessID = this.ProcessID;\n dialogRef.componentInstance.ActivityID = this.ActivityID;\n dialogRef.componentInstance.PointerTypeID = this.PointerTypeID;\n dialogRef.componentInstance.PointerID = this.PointerID;\n dialogRef.componentInstance.DepartmentID = this.DepartmentID;\n dialogRef.componentInstance.FrustrationTypeID = this.FrustrationTypeID;\n dialogRef.componentInstance.TeamID = this.TeamID;\n dialogRef.componentInstance.StatusID = this.StatusID;\n dialogRef.componentInstance.SeverityID = this.SeverityID;\n dialogRef.componentInstance.GoalID = this.GoalID\n dialogRef.componentInstance.Subject = this.Subject;\n dialogRef.componentInstance.Description = this.Description;\n dialogRef.componentInstance.tempActivity = this.tempActivity;\n dialogRef.componentInstance.tempFrustrationType = this.tempFrustrationType;\n\n dialogRef.componentInstance.Source = this.Source;\n\n dialogRef.componentInstance.subActivityStatus = this.subActivityStatus;\n dialogRef.componentInstance.SubActivityID = this.SubActivityID;\n }\n \n dialogRef.afterClosed().subscribe(result => {\n\n // this.rowsOnPageSet=[];\n this.dynamicRows = 10;\n if (this.searchtext !== '' && this.searchtext !== undefined) {\n this.Searchtext();\n }\n else {\n\n this.GetPointer();\n }\n\n if (result.toString() === 'true') {\n ;\n let statusMsg = '';\n if (msg === 'new') {\n statusMsg = 'Saved successfully';\n } else {\n\n statusMsg = 'Updated successfully';\n }\n\n\n // this.rowsOnPageSet=[];\n this.dynamicRows = 10;\n \n this.GetPointer();\n\n const dialogRefsub = this.dialog.open(MetricDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: statusMsg + 'æææ' + false,\n // width: '30%'\n });\n\n setTimeout(() => {\n this.GetActivity();\n }, 500);\n dialogRefsub.afterClosed().subscribe(result1 => {\n \n if (this.searchtext !== '') {\n this.Searchtext();\n }\n else {\n this.GetPointer();\n }\n });\n }\n });\n }\n GetTempActivity(ProcessID: string) {\n this.tempActivity = [];\n for (let i = 0; i < this.activityData.length; i++) {\n if (this.activityData[i].ProcessID === ProcessID && this.activityData[i].ParentID == 0) {\n this.tempActivity.push(this.activityData[i]);\n }\n }\n\n }\n\n GetTempSubActivity(ActivityID) {\n this.tempSubActivity = [];\n for (let i = 0; i < this.activityData.length; i++) {\n if (this.activityData[i].ParentID === ActivityID) {\n this.tempSubActivity.push(this.activityData[i]);\n }\n }\n }\n\n GetKeyProcessTeam(TeamID) {\n this.tempProcess = [];\n for (let i = 0; i < this.processData.length; i++) {\n if (this.processData[i].TeamID.toString() === TeamID.toString()) {\n this.TeamID = TeamID;\n }\n }\n }\n\n EditPointer(element, text) {\n this.GetTempActivity(element.ProcessID);\n this.PointerID = element.PointerID;\n this.ProcessID = element.ProcessID;\n this.PointerTypeID = element.PointerTypeID;\n this.EmployeeID = element.EmployeeID;\n this.SeverityID = element.SeverityID;\n this.StatusID = element.StatusID;\n this.Subject = element.Subject;\n this.Description = element.Description;\n this.DepartmentID = element.DepartmentID;\n this.TeamID = element.TeamID;\n this.FrustrationTypeID = element.FrustrationTypeID;\n this.GoalID = element.GoalID;\n\n this.Source = element.Source;\n for (let i = 0; i < this.activityData.length; i++) {\n if (element.ActivityID === this.activityData[i].ActivityID) {\n this.ParentID = this.activityData[i].ParentID;\n }\n }\n\n if (!this.ParentID || this.ParentID.toString() === '0') {\n this.ActivityID = element.ActivityID;\n this.subActivityStatus = false;\n } else {\n this.subActivityStatus = true;\n this.SubActivityID = element.ActivityID;\n this.ActivityID = this.ParentID;\n }\n this.dialogCall('edit');\n }\n\n ifMaxRow() {\n if (this.rowsOnPage == this.metricData.length) {\n this.rowsOnPage = this.rowsOnPage - 1;\n }\n }\n DeletePointer(element) {\n this.PointerID = element.PointerID;\n let status: boolean;\n this.scoreCardService.CheckMetricExistInPSCDetails(element.PointerID).subscribe(resp => {\n status = resp.Data;\n })\n const dialogRef = this.dialog.open(MetricDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: 'Are you sure you want to delete metric: ' + element.Description + '?æææ' + true,\n width: '400px',\n });\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n if (!status) {\n this.dorseyService.DeletePointer(this.PointerID).subscribe(data => {\n if (data.ok) {\n this.ifMaxRow();\n this.condition = true;\n this.dialogCall('Deleted successfully');\n }\n this.GetPointer();\n });\n }\n else {\n this.dialogCall(\"Delete Failed. This metric is associated with score card\");\n }\n }\n });\n }\n}\n\n@Component({\n selector: 'app-dialog',\n templateUrl: 'dialog.html',\n providers: [DorseyService, DatePipe],\n})\nexport class MetricDialogComponent implements OnInit {\n GoalID: string;\n GoalsList: any;\n Source: string;\n searchtext: string;\n condition = false;\n status = false;\n employeeData: any;\n processData: any;\n activityData: any;\n pointerTypeData: any;\n frustrationtypeData: any;\n departmentData: any;\n teamData: any;\n severityData: any;\n statusData: any;\n dataSelf = '';\n EmployeeID: number;\n ProcessID: string;\n ActivityID: string;\n PointerTypeID = \"2\";\n FrustrationTypeID: string;\n DepartmentID: string;\n TeamID: string;\n StatusID: string;\n SeverityID: string;\n Subject: string;\n Description: string;\n PointerID: string;\n tempActivity = [];\n tempFrustrationType = [];\n conditionActivity = '';\n processCtrl = new FormControl();\n currentUser: string;\n filteredProcess: Observable\n tempDepart: any;\n tempProcess: any;\n CompanyID: string;\n processTeamData: any;\n\n subActivityStatus = false;\n SubActivityID: string;\n tempSubActivity = [];\n processMap = false;\n pointerData: any;\n breakpoint: number;\n metricData: any;\n btnDisabled = false;\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any, public dorseyService: DorseyService, private datepipe: DatePipe) {\n // dialogRef.disableClose=true;\n this.data = this.data.split('æææ');\n if (this.data[1] === 'true') {\n this.condition = true;\n } else if (this.data[1] === 'false') {\n this.condition = false;\n }\n else {\n if (this.data[1] === '') {\n this.conditionActivity = 'process';\n } else {\n this.conditionActivity = 'activity';\n }\n\n }\n this.data = this.data[0];\n }\n\n ngOnInit() {\n this.breakpoint = window.innerWidth <= 900 ? 1 : 3;\n if (this.SubActivityID) {\n this.GetTempSubActivity(this.ActivityID);\n }\n }\n\n onResize(event) {\n this.breakpoint = (event.target.innerWidth <= 900) ? 1 : 3;\n }\n\n\n ValidatePh(event: any) {\n if (\n // Allow: Delete, Backspace, Tab, Escape, Enter\n [46, 8, 9, 27, 13].indexOf(event.keyCode) !== -1 ||\n (event.keyCode === 65 && event.ctrlKey === true) || // Allow: Ctrl+A\n (event.keyCode === 67 && event.ctrlKey === true) || // Allow: Ctrl+C\n (event.keyCode === 86 && event.ctrlKey === true) || // Allow: Ctrl+V\n (event.keyCode === 88 && event.ctrlKey === true) || // Allow: Ctrl+X\n (event.keyCode === 65 && event.metaKey === true) || // Cmd+A (Mac)\n (event.keyCode === 67 && event.metaKey === true) || // Cmd+C (Mac)\n (event.keyCode === 86 && event.metaKey === true) || // Cmd+V (Mac)\n (event.keyCode === 88 && event.metaKey === true) || // Cmd+X (Mac)\n (event.keyCode >= 35 && event.keyCode <= 39) // Home, End, Left, Right\n ) {\n return;\n }\n\n if ((event.shiftKey || (event.keyCode < 48 || event.keyCode > 57)) && (event.keyCode < 96 || event.keyCode > 105)) {\n event.preventDefault();\n }\n }\n\n subactivity(event) {\n this.SubActivityID = event.value;\n }\n onYesClick() {\n this.dialogRef.close(true);\n }\n onNoClick(): void {\n this.dialogRef.close();\n }\n ToggleSubActivity() {\n this.subActivityStatus = !this.subActivityStatus;\n }\n AddPointer() {\n this.btnDisabled = true;\n\n setTimeout(() => {\n this.btnDisabled = false;\n }, 1000);\n this.FrustrationTypeID = '0';\n let count = 0;\n const Editcount = 0;\n if (this.ProcessID === undefined || //this.ActivityID === undefined ||\n // this.PointerTypeID === undefined || this.FrustrationTypeID === undefined || this.DepartmentID === undefined ||this.EmployeeID === undefined ||\n\n this.TeamID === undefined\n // || this.SeverityID ===undefined|| this.Subject ==undefined\n || this.Description === undefined || this.GoalID == undefined\n // || this.StatusID===undefined\n || this.ProcessID === '' || // this.EmployeeID === '' || this.UOM===''||this.Target==='' this.DepartmentID === '' ||this.PointerTypeID === '' || this.FrustrationTypeID === '' || this.SeverityID === '' |||| || this.StatusID === '' this.Subject === '' ||\n this.TeamID === '' || this.Description.trim() === '' || this.GoalID == '') {\n this.dataSelf = 'Please enter mandatory(*) fields';\n if (this.data === 'new') {\n\n }\n count++;\n }\n\n if (this.subActivityStatus) {\n if (this.ActivityID === undefined || this.SubActivityID === undefined ||\n this.ActivityID === '' || this.SubActivityID === '') {\n this.dataSelf = 'Please enter mandatory(*) fields';\n if (this.data === 'new') {\n\n }\n count++;\n\n }\n\n }\n if (count === 0 && Editcount === 0) {\n this.dataSelf = '';\n if (this.data === 'new') {\n\n this.Saving(this.data);\n } else {\n this.Saving(this.data);\n }\n }\n\n }\n\n Saving(msg: string) {\n this.FrustrationTypeID = '0';\n this.Subject = \"\";\n this.SeverityID = '1';\n this.StatusID = '1';\n\n // if (msg === 'new') {\n // this.EmployeeID = 0;\n // }\n\n if (!this.ActivityID) {\n this.ActivityID = \"0\";\n }\n\n // if (this.subActivityStatus) {\n // this.ActivityID = this.SubActivityID;\n // }\n\n\n\n let activityId: string;\n if (this.subActivityStatus) {\n activityId = this.SubActivityID\n }\n else {\n activityId = this.ActivityID;\n }\n const json = {\n // CompanyID: '1',\n CompanyID: this.CompanyID,\n ProjectID: '0',\n PointerID: this.PointerID,\n //EmployeeID: this.EmployeeID,\n ProessID: this.ProcessID,\n ActivityID: activityId,\n PointerTypeID: this.PointerTypeID,\n FrustrationsTypeID: this.FrustrationTypeID,\n DepartmentID: \"0\",\n EmployeeID: this.EmployeeID,\n\n // DepartmentID: this.DepartmentID,\n TeamID: this.TeamID,\n SeverityID: this.SeverityID,\n StatusID: this.StatusID,\n Subject: this.Subject,\n Description: this.Description,\n\n Target: '0',\n CreatedBy: this.currentUser,\n UpdatedBy: this.currentUser,\n Source: this.Source,\n GoalID: this.GoalID\n };\n\n if (msg === 'new') {\n this.dorseyService.SavePointer(json, 'No').subscribe(data => {\n\n if (data['_body'].toString() !== \"0\") {\n\n // this.dialogRef.close(true);\n this.dataSelf = 'Saved succesfully';\n //this.EmployeeID = '';\n this.DepartmentID = '';\n this.Description = '';\n this.PointerID = '';\n\n this.Source = '';\n this.GoalID = '';\n if (this.conditionActivity.toString() == 'process' || this.conditionActivity.toString() === 'activity') {\n return;\n\n }\n\n else if (this.SubActivityID && this.conditionActivity === '') {\n this.ActivityID = '';\n this.SubActivityID = '';\n this.tempSubActivity = [];\n // this.tempActivity=[];\n }\n else {\n this.ActivityID = '';\n }\n }\n else {\n this.dataSelf = 'Save failed';\n }\n });\n\n }\n else {\n\n this.dorseyService.SavePointer(json, 'No').subscribe(data => {\n\n if (data['_body'].toString() != '0') {\n\n this.dataSelf = 'Updated successfully';\n this.dialogRef.close(true);\n\n\n } else {\n this.dataSelf = 'Updated failed';\n }\n });\n }\n\n }\n\n\n Clear() {\n\n\n this.dialogRef.close(false);\n }\n employee(event) {\n this.EmployeeID = event.value;\n\n let tempEmp = this.employeeData.filter(x => x.EmployeeID === this.EmployeeID);\n\n if (tempEmp.length > 0 && tempEmp.length === 1) {\n this.tempDepart = this.departmentData.filter(x => x.DepartmentID === tempEmp[0].DepartmentID);\n this.DepartmentID = this.tempDepart[0].DepartmentID;\n\n }\n }\n GoalChange(event) {\n this.GoalID = event.value;\n }\n\n process(event) {\n this.ProcessID = event.value;\n this.ActivityID = '';\n this.SubActivityID = '';\n this.tempActivity = [];\n this.tempSubActivity = [];\n this.GetTempActivity(this.ProcessID);\n for (let i = 0; i < this.processData.length; i++) {\n if (this.processData[i].ProcessID === this.ProcessID) {\n this.TeamID = this.processData[i]['TeamID'];\n\n }\n }\n }\n GetTempActivity(processiD) {\n this.tempActivity = []\n for (let i = 0; i < this.activityData.length; i++) {\n if (this.activityData[i].ProcessID === processiD && this.activityData[i].ParentID === 0) {\n this.tempActivity.push(this.activityData[i]);\n }\n }\n\n }\n GetTempSubActivity(ActivityID) {\n this.tempSubActivity = [];\n for (let i = 0; i < this.activityData.length; i++) {\n if (this.activityData[i].ParentID === ActivityID) {\n this.tempSubActivity.push(this.activityData[i]);\n }\n }\n }\n\n activity(event) {\n this.tempSubActivity = [];\n this.ActivityID = event.value;\n this.SubActivityID = '';\n this.GetTempSubActivity(this.ActivityID);\n }\n\n pointerType(event) {\n this.PointerTypeID = event.value;\n this.tempFrustrationType = [];\n this.GetTempFrastrations();\n }\n\n GetTempFrastrations() {\n for (let i = 0; i < this.frustrationtypeData.length; i++) {\n if (this.frustrationtypeData[i].PointerTypeID === this.PointerTypeID) {\n this.tempFrustrationType.push(this.frustrationtypeData[i]);\n }\n }\n }\n\n frustrationType(event) {\n this.FrustrationTypeID = event.value;\n }\n\n department(event) {\n this.DepartmentID = event.value;\n }\n\n team(event) {\n this.TeamID = event.value;\n this.tempProcess = [];\n }\n\n GetKeyProcessTeam(TeamID) {\n this.dorseyService.GetKeyProcessTeam().subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.processTeamData = subData;\n for (let i = 0; i < this.processTeamData.length; i++) {\n if (this.processTeamData[i].TeamID === TeamID) {\n this.tempProcess.push(this.processTeamData[i]);\n }\n }\n\n });\n }\n\n severity(event) {\n this.SeverityID = event.value;\n }\n\n statusChange(event) {\n this.StatusID = event.value;\n }\n\n}\n\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { DorseyService } from '../dorsey.service';\nimport { LocalStorageService } from 'ngx-webstorage';\nimport { copyRight } from '../copyRight.model';\n\n@Component({\n selector: 'app-metricdata',\n templateUrl: './metricdata.component.html',\n})\nexport class MetricdataComponent implements OnInit {\n\n mainCategoryData: any;\n p: number = 1;\n rowsOnPage = 5;\n rowsOnPageSet = [];\n rowCount: any;\n dynamicRows = 5;\n saveFilter = [];\n isDisable = false;\n disableSearch = false;\n kpiPaging = false;\n subCategoryData: any;\n mainData = [];\n searchtext = '';\n menuData: any;\n menuID: string;\n menuName: string;\n empID: string;\n MenuPermissions: any;\n loginCompanyName: any;\n userTeamID: any;\n currentUser: string;\n CompanyID: string;\n MainCategory: any;\n SubCategory: any;\n RowID: any;\n MainCategoryID: any;\n condition = false;\n\n isDesc: boolean = false;\n column = \"\";\n direction: number;\n arrow = true;\n\n constructor(private dorseyService: DorseyService, public dialog: MatDialog, public storage: LocalStorageService) {\n this.currentUser = this.storage.retrieve('user');\n this.menuData = this.storage.retrieve('menuData');\n this.empID = this.storage.retrieve('EmployeeID');\n this.MenuPermissions = this.storage.retrieve('MenuPermissions');\n this.loginCompanyName = this.storage.retrieve('loginCompanyName');\n this.userTeamID = this.storage.retrieve(\"TeamID\");\n }\n\n ngOnInit() {\n this.CompanyID = this.storage.retrieve('companyID');\n\n this.getKpiMainData();\n this.getKpiSubData();\n let tempdata = this.menuData;\n this.menuData = tempdata.filter(x => x.MenuName.toString() === 'Metric Table');\n if (this.menuData.length > 0) {\n this.menuName = this.menuData[0][\"MenuName\"];\n this.menuID = this.menuData[0][\"MenuID\"];\n }\n }\n\n getKpiMainData() {\n this.dorseyService.GetKpiMain(this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.mainCategoryData = subData;\n });\n }\n\n getKpiSubData() {\n this.mainData = [];\n this.dorseyService.GetKpiSub(this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.subCategoryData = subData;\n setTimeout(() => {\n this.getKpiMainData();\n }, 500);\n for (let i = 0; i < this.mainCategoryData.length; i++) {\n let dataList = [];\n let dataId = [];\n for (let j = 0; j < this.subCategoryData.length; j++) {\n if (this.mainCategoryData[i].MainCategoryID === this.subCategoryData[j].MainCategoryID) {\n\n dataList.push(this.subCategoryData[j].SubCategory);\n dataId.push(this.subCategoryData[j].RowID);\n\n }\n }\n if (dataList.length > 0 && dataId.length > 0) {\n this.mainData.push({\n 'MainCategory': this.mainCategoryData[i].MainCategory,\n 'MainCategoryID': this.mainCategoryData[i].MainCategoryID,\n 'RowID': dataId,\n 'SubCategory': dataList\n });\n }\n\n }\n this.rowCount = this.mainData.length;\n if (this.mainData.length === 0) {\n this.kpiPaging = false;\n this.isDisable = true;\n this.disableSearch = true;\n }\n else {\n this.saveFilter = JSON.parse(JSON.stringify(this.mainData));\n this.kpiPaging = true;\n this.isDisable = false;\n this.disableSearch = false;\n\n this.dynamicRows = 5;\n this.rowsOnPageSet = [];\n\n while (this.dynamicRows < this.rowCount) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 5;\n }\n if (!this.rowsOnPageSet.includes(this.rowCount))\n this.rowsOnPageSet.push(this.rowCount);\n if (this.rowsOnPageSet.length === 1) {\n if (this.rowsOnPageSet[0] <= 10)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n }\n });\n\n\n\n\n }\n\n\n Searchtext() {\n this.mainData = this.saveFilter;\n let tempMainData = this.mainData.filter(\n (item) => {\n return (\n (item.MainCategory != null && item.MainCategory.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.SubCategory != null && (item.SubCategory.filter(\n (da) => {\n return (\n da != null && da.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1\n )\n\n }\n )\n )\n ).length\n\n\n )\n\n\n\n }\n\n );\n\n\n this.mainData = tempMainData;\n if (this.mainData.length == 0) {\n this.isDisable = true;\n } else {\n this.isDisable = false;\n }\n if (this.searchtext === '') {\n this.getKpiMainData();\n this.dynamicRows = 5;\n this.rowsOnPageSet = [];\n this.getKpiSubData();\n this.isDisable = false;\n }\n }\n\n addData() {\n this.dialogCall('new');\n }\n\n EditMetricData(element, data, ROwiDs) {\n this.MainCategoryID = element.MainCategoryID;\n this.RowID = ROwiDs;\n this.MainCategory = element.MainCategoryID;\n this.SubCategory = data;\n\n this.storage.store('MCID', this.MainCategoryID);\n this.storage.store('subCat', this.SubCategory);\n this.dialogCall('edit');\n }\n\n // AddSubCategory(element,data,ROwiDs){\n // this.MainCategory = element.MainCategory;\n // this.dialogCall('subcat');\n // }\n\n ifMaxRow() {\n\n if (this.rowsOnPage == this.mainData.length) {\n this.rowsOnPage = this.rowsOnPage - 1;\n }\n }\n\n DeleteMetricData(element, data, ROwiDs) {\n this.MainCategoryID = element.MainCategoryID;\n this.RowID = ROwiDs\n\n\n const dialogRef = this.dialog.open(MetricDataDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: 'Are you sure you want to delete category: ' + element.MainCategory + \",\" + data + '?æææ' + true,\n // width: '40%'\n });\n // this.condition = true;\n\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n\n\n this.dorseyService.DeleteMetricData(this.MainCategoryID, this.RowID).subscribe(data => {\n\n if (data.ok) {\n this.ifMaxRow();\n this.condition = true;\n this.dialogCall('Deleted successfully');\n }\n this.dynamicRows = 5;\n this.rowsOnPageSet = [];\n this.getKpiMainData();\n this.getKpiSubData();\n });\n\n }\n });\n }\n\n dialogCall(msg: string) {\n const dialogRef = this.dialog.open(MetricDataDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: msg + 'æææ' + false,\n\n });\n dialogRef.componentInstance.currentUser = this.currentUser;\n dialogRef.componentInstance.mainData = this.mainData;\n dialogRef.componentInstance.CompanyID = this.CompanyID;\n dialogRef.componentInstance.mainCategoryData = this.mainCategoryData;\n dialogRef.componentInstance.subCategoryData = this.subCategoryData;\n\n if (msg === 'new') {\n\n this.searchtext = '';\n //this.getKpiMainData();\n this.dynamicRows = 5;\n this.rowsOnPageSet = [];\n this.getKpiSubData();\n }\n if (msg === 'edit') {\n\n dialogRef.componentInstance.MainCategory = this.MainCategory;\n dialogRef.componentInstance.RowID = this.RowID;\n dialogRef.componentInstance.SubCategory = this.SubCategory;\n dialogRef.componentInstance.MainCategoryID = this.MainCategoryID;\n }\n\n dialogRef.afterClosed().subscribe(result => {\n this.dynamicRows = 5;\n this.rowsOnPageSet = [];\n if (this.searchtext !== '') {\n this.Searchtext();\n }\n else {\n this.getKpiMainData();\n this.getKpiSubData();\n }\n\n if (result.toString() === 'true') {\n\n let statusMsg = '';\n if (msg === 'new') {\n statusMsg = 'Saved successfully';\n }\n else {\n\n statusMsg = 'Updated successfully';\n }\n this.dynamicRows = 5;\n this.rowsOnPageSet = [];\n this.getKpiMainData();\n this.getKpiSubData();\n\n const dialogRefsub = this.dialog.open(MetricDataDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: statusMsg + 'æææ' + false,\n // width: '30%'\n });\n\n setTimeout(() => {\n this.dynamicRows = 5;\n this.rowsOnPageSet = [];\n this.getKpiMainData();\n this.getKpiSubData();\n }, 500);\n dialogRefsub.afterClosed().subscribe(result1 => {\n this.dynamicRows = 5;\n this.rowsOnPageSet = [];\n\n if (this.searchtext !== '') {\n this.Searchtext();\n }\n else {\n this.getKpiMainData();\n this.getKpiSubData();\n }\n\n\n // this.GetFrustrationType();\n });\n }\n });\n\n\n }\n\n sort(property) {\n this.arrow = !this.arrow;\n this.isDesc = !this.isDesc; //change the direction \n this.column = property;\n this.direction = this.isDesc ? 1 : -1;\n }\n\n exportAsXLSX() {\n let allData: any;\n let subcat = '';\n allData = JSON.parse(JSON.stringify(this.mainData));\n for (let i = 0; i < allData.length; i++) {\n let subcat = '';\n for (let j = 0; j < allData[i].SubCategory.length; j++) {\n subcat = subcat + allData[i].SubCategory[j] + '\\n';\n }\n allData[i].SubCategory = subcat;\n\n delete allData[i].MainCategoryID;\n delete allData[i].RowID;\n }\n\n\n this.dorseyService.generateExcel(allData, this.loginCompanyName + '_metric' + \"_\" + (new Date().getMonth() + 1) + '-' + new Date().getDate() + '-' + new Date().getFullYear(), 'Metric', \"Company: \" + this.loginCompanyName, '', \"Metric Table Report\", copyRight, 'FFFFFF00', 'FF0000FF');\n // const json = {\n // data:allData\n // }\n // this.dorseyService.Export(json,this.loginCompanyName+'_metric',this.loginCompanyName,'Metric').subscribe(data=>{\n\n // });\n }\n\n}\n\n@Component({\n selector: 'app-dialog',\n templateUrl: 'dialog.html',\n // styleUrls: ['dialog.css'],\n providers: [DorseyService, MetricdataComponent]\n})\nexport class MetricDataDialogComponent implements OnInit {\n SubCategory: string;\n condition = false;\n dataSelf: string;\n MainCategory: string;\n RowID: string;\n MainCategoryID: string;\n mainData: any;\n CompanyID: string;\n currentUser: string;\n mainCategoryData: any;\n subCategoryData: any;\n editSubData: any;\n btnDisabled = false;\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any, public dorseyService: DorseyService, private storage: LocalStorageService) {\n // dialogRef.disableClose=true;\n this.data = this.data.split('æææ');\n if (this.data[1] === 'true') {\n this.condition = true;\n } else {\n this.condition = false;\n }\n this.data = this.data[0];\n }\n ngOnInit() {\n }\n onYesClick() {\n this.dialogRef.close(true);\n }\n onNoClick(): void {\n this.dialogRef.close();\n }\n\n\n getKpiMainData() {\n this.dorseyService.GetKpiMain(this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.mainCategoryData = subData;\n });\n }\n\n getKpiSubData() {\n this.mainData = [];\n this.dorseyService.GetKpiSub(this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.subCategoryData = subData;\n });\n }\n AddMetCategory() {\n this.btnDisabled = true;\n\n setTimeout(() => {\n this.btnDisabled = false;\n }, 1000);\n let count = 0;\n const Editcount = 0;\n\n if (this.MainCategory == undefined ||\n this.MainCategory === '' || this.SubCategory == undefined ||\n this.SubCategory.trim() === '') {\n this.dataSelf = 'Please enter mandatory(*) fields';\n if (this.data === 'new') {\n }\n count++;\n }\n\n if (count === 0 && Editcount === 0) {\n this.dataSelf = '';\n if (this.data === 'new') {\n this.Saving(this.data);\n } else {\n this.Saving(this.data);\n }\n } else {\n }\n }\n Saving(msg: string) {\n const json = {\n MainCategoryID: this.MainCategoryID,\n MainCategory: this.MainCategory,\n CreatedBy: this.currentUser,\n RowID: this.RowID,\n CompanyID: this.CompanyID,\n SubCategory: this.SubCategory,\n UpdatedBy: this.currentUser\n };\n if (msg === 'new') {\n let subData = this.subCategoryData.filter(x => x.MainCategoryID === this.MainCategoryID);\n for (let i = 0; i < subData.length; i++) {\n if (subData[i].SubCategory.toLowerCase().trim() === this.SubCategory.toLowerCase().trim()) {\n this.dataSelf = 'Subcategory already exists';\n return;\n }\n }\n\n this.dorseyService.SaveMetricData(json, 'No').subscribe(data => {\n if (data['_body'].toString() === 'true') {\n this.dataSelf = 'Saved successfully';\n this.getKpiSubData();\n this.getKpiMainData();\n this.MainCategory = '';\n this.SubCategory = '';\n setTimeout(() => {\n this.dataSelf = '';\n }, 2000);\n } else {\n this.dataSelf = 'Save failed';\n }\n\n });\n } else {\n this.editSubData = this.subCategoryData.filter(x => x.MainCategoryID === this.MainCategoryID);\n for (let i = 0; i < this.editSubData.length; i++) {\n if (this.MainCategoryID === this.storage.retrieve('MCID')) {\n if (this.editSubData[i].SubCategory.toLowerCase().trim() === this.SubCategory.toLowerCase().trim() && this.editSubData[i].SubCategory.toLowerCase().trim() !== this.storage.retrieve('subCat').toLowerCase().trim()) {\n this.dataSelf = 'Subcategory already exists';\n return;\n }\n } else {\n if (this.editSubData[i].SubCategory.toLowerCase().trim() === this.SubCategory.toLowerCase().trim()) {\n this.dataSelf = 'Subcategory already exists';\n return;\n }\n }\n\n }\n this.dorseyService.SaveMetricData(json, 'No').subscribe(data => {\n if (data['_body'].toString() === 'true') {\n this.dialogRef.close(true);\n } else {\n this.dataSelf = 'Updated successfully';\n this.getKpiSubData();\n this.getKpiMainData();\n }\n });\n }\n }\n Clear() {\n this.dialogRef.close(false);\n }\n mainChange(event) {\n this.MainCategoryID = event.value;\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { DorseyService } from '../dorsey.service';\nimport { LocalStorageService } from 'ngx-webstorage';\nimport { Department } from '../departments/department.model';\nimport { ScoreCardTypeEnum } from '../performance-score-card/performance-score-card.model';\nimport { DepartmentService } from '../services/department.service';\nimport { EmployeeLoginLevel } from '../common/models/login-level.model';\nimport { copyRight } from '../copyRight.model';\n\n@Component({\n selector: 'app-nometric-process',\n templateUrl: './nometric-process.component.html',\n // styleUrls: ['./nometric-process.component.scss']\n})\nexport class NometricProcessComponent implements OnInit {\n copyRight: string = copyRight;\n employeeDetails: any;\n NometricData: any;\n searchtext: string;\n isDesc: boolean = false;\n column = \"\";\n direction: number;\n arrow = true;\n p: number = 1;\n rowsOnPage = 10;\n departmentList: Array = [];\n selectedDepartmentId: number;\n toggleTeam: boolean = false;\n scoreCardTypes: string[] = [ScoreCardTypeEnum.Department, ScoreCardTypeEnum.Team];\n rowsOnPageSet = [];\n rowCount: any;\n selectedReportType: string;\n departmentName: string;\n dynamicRows = 10;\n processPaging = false;\n saveFilter = [];\n CompanyID: string;\n isDisable = false;\n disableSearch = false;\n teamData: any;\n TeamID: any;\n filterData: any;\n EmployeeID: string;\n tempTeam = [];\n companyName: string;\n headerDate = new Date();\n TeamName: string;\n employeeData: any;\n copyDate: number;\n loginCompanyName: string;\n constructor(public dorseyService: DorseyService,\n private departmentService: DepartmentService, private storage: LocalStorageService) {\n\n this.loginCompanyName = this.storage.retrieve('loginCompanyName');\n this.EmployeeID == this.storage.retrieve('EmployeeID');\n this.EmployeeID = this.storage.retrieve('EmployeeID');\n this.companyName = this.storage.retrieve('LoginCompanyName');\n this.employeeDetails = this.storage.retrieve('employeeDetails');\n if (this.EmployeeID.toString() === \"0\") {\n }\n else {\n this.TeamID = this.storage.retrieve('TeamID');\n }\n\n }\n\n ngOnInit() {\n this.CompanyID = this.storage.retrieve('companyID');\n if (this.employeeDetails) {\n if ((this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Department) || (this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Team)) {\n this.toggleTeam = true;\n this.getTeamsByDepartmentId(this.employeeDetails.DepartmentID)\n }\n else {\n this.reportTypeChange(ScoreCardTypeEnum.Department)\n }\n }\n else {\n this.reportTypeChange(ScoreCardTypeEnum.Department)\n }\n this.copyDate = (new Date()).getFullYear();\n }\n\n teamChange(event): void {\n this.searchtext = '';\n this.selectedDepartmentId = 0;\n this.TeamID = event.value;\n let teamd = this.teamData.filter(x => x.TeamID === this.TeamID)\n if (teamd.length > 0) {\n this.TeamName = teamd[0].TeamName;\n }\n this.ConstructReport();\n }\n reportTypeChange(scoreCardType: string): void {\n this.searchtext = '';\n this.departmentList = [];\n this.teamData = [];\n this.filterData = [];\n this.selectedDepartmentId = 0;\n this.TeamID = 0;\n this.selectedReportType = scoreCardType;\n this.toggleTeam = scoreCardType === ScoreCardTypeEnum.Department ? false : true;\n this.getDepartments();\n this.getTeamsByDepartmentId(this.selectedDepartmentId);\n }\n\n departmentChange(selectedDepartmentId): void {\n this.searchtext = '';\n this.getTeamsByDepartmentId(selectedDepartmentId);\n this.departmentName = this.departmentList.find(ent => ent.DepartmentID === selectedDepartmentId).DepartmentName;\n }\n\n private getDepartments(): void {\n this.departmentService.getDepartments(Number(this.CompanyID)).subscribe(resp => {\n this.departmentList = resp.Data;\n if (this.employeeDetails) {\n if (this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Department) {\n this.departmentList = this.departmentList.filter(ent => ent.DepartmentID === this.employeeDetails.DepartmentID);\n }\n else if (this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Team) {\n this.departmentList = this.departmentList.filter(ent => ent.DepartmentID === this.employeeDetails.DepartmentID);\n this.getTeamsByDepartmentId(this.employeeDetails.DepartmentID);\n }\n }\n this.departmentList.splice(0, 0, { DepartmentID: 0, DepartmentName: 'Aggregate Report', DepartmentDescription: '0', CompanyID: Number(this.CompanyID), CreatedBy: '', UpdatedBy: '' });\n });\n }\n\n private getTeamsByDepartmentId(selectedDepartmentId): void {\n this.dorseyService.GetTeam(this.CompanyID.toString()).subscribe(resp => {\n var companyTeamList = JSON.parse(resp['_body']);\n this.teamData = companyTeamList;\n if (this.employeeDetails && companyTeamList) {\n if (this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Department) {\n this.teamData = this.teamData.filter(ent => ent.DepartmentID === this.employeeDetails.DepartmentID)\n }\n else if (this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Team) {\n this.teamData = this.teamData.filter(ent => ent.DepartmentID === this.employeeDetails.DepartmentID && ent.TeamID == this.employeeDetails.TeamID);\n this.selectedDepartmentId = this.teamData[0].DepartmentID;\n this.TeamID = this.teamData[0].TeamID;\n this.TeamName = this.teamData[0].TeamName;\n }\n else {\n if (!selectedDepartmentId) {\n this.selectedDepartmentId = 0;\n this.teamData = companyTeamList;\n }\n else if (selectedDepartmentId == 0) {\n this.teamData = companyTeamList;\n }\n else {\n this.teamData = this.teamData.filter(ent => ent.DepartmentID === selectedDepartmentId);\n }\n }\n }\n else {\n if (selectedDepartmentId == 0)\n this.teamData = companyTeamList;\n else\n this.teamData = companyTeamList.filter(ent => ent.DepartmentID === selectedDepartmentId);\n }\n this.dorseyService.GetNoMetricProcess(this.CompanyID).subscribe(pointer => {\n this.NometricData = JSON.parse(pointer['_body']);\n\n if (!this.TeamID)\n this.TeamID = 0;\n if (this.TeamID == 0) {\n this.teamData = this.teamData.filter(entity1 => this.NometricData.find(entity2 => entity1.TeamID == entity2.TeamID));\n if (this.teamData.length > 0)\n this.teamData.splice(0, 0, { TeamID: 0, TeamName: 'Aggregate Report' });\n }\n\n this.ConstructReport();\n\n });\n\n });\n }\n\n ConstructReport() {\n this.filterData = [];\n this.NometricData = [];\n this.dorseyService.GetNoMetricProcess(this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.NometricData = subData;\n if (!this.TeamID)\n this.filterData = this.NometricData.filter(entity1 => this.teamData.find(entity2 => entity1.TeamID == entity2.TeamID));\n\n else {\n this.filterData = this.NometricData.filter(entity1 => entity1.TeamID == this.TeamID);\n }\n\n if (this.filterData.length === 0) {\n this.processPaging = false;\n this.isDisable = true;\n this.disableSearch = true;\n }\n else {\n this.processPaging = true;\n this.isDisable = false;\n this.disableSearch = false;\n this.saveFilter = JSON.parse(JSON.stringify(this.filterData));\n\n this.dynamicRows = 10;\n this.rowsOnPageSet = [];\n this.rowCount = this.filterData.length;\n\n while (this.dynamicRows < this.rowCount) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 10;\n }\n if (!this.rowsOnPageSet.includes(this.rowCount))\n this.rowsOnPageSet.push(this.rowCount);\n if (this.rowsOnPageSet.length > 0) {\n if (this.rowsOnPageSet[0] <= 10)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n }\n });\n }\n\n Searchtext() {\n this.filterData = this.saveFilter;\n\n let tempNoMetric = this.filterData.filter(\n (item) => {\n return (\n (item.ProcessName !== null && item.ProcessName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.CompanyName !== null && item.CompanyName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.DepartmentName !== null && item.DepartmentName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.ProcessDescription !== null && item.ProcessDescription.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1)\n || (item.TeamName !== null && item.TeamName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1)\n );\n }\n\n );\n this.filterData = tempNoMetric;\n if (this.filterData.length == 0) {\n this.isDisable = true;\n } else {\n this.isDisable = false;\n }\n if (this.searchtext === '') {\n this.ConstructReport();\n this.isDisable = false;\n }\n }\n\n sort(property) {\n this.arrow = !this.arrow;\n this.isDesc = !this.isDesc; //change the direction \n this.column = property;\n this.direction = this.isDesc ? 1 : -1;\n }\n exportAsXLSX() {\n let allData = JSON.parse(JSON.stringify(this.filterData));\n for (let i = 0; i < this.filterData.length; i++) {\n allData[i][\"No \"] = i + 1;\n\n allData[i].Company = this.filterData[i].CompanyName;\n if (this.selectedReportType === ScoreCardTypeEnum.Department) {\n allData[i][\"Department\"] = this.filterData[i].DepartmentName;\n }\n allData[i].Team = this.filterData[i].TeamName;\n allData[i].Process = this.filterData[i].ProcessName;\n allData[i].Description = this.filterData[i].ProcessDescription;\n\n delete (allData[i].DepartmentName);\n delete (allData[i].ProcessID);\n delete (allData[i].CompanyName);\n delete (allData[i].ProcessName);\n delete (allData[i].ProcessDescription);\n delete (allData[i].TeamName);\n delete (allData[i].TeamID);\n }\n\n\n let name: any;\n if (this.selectedReportType == ScoreCardTypeEnum.Department && this.departmentName) {\n name = this.departmentName;\n } else if ((!this.selectedReportType || this.selectedReportType == ScoreCardTypeEnum.Team) && this.TeamName) {\n name = this.TeamName;\n } else {\n name = \"Aggregate Report\";\n }\n this.dorseyService.generateExcel(allData,\n this.loginCompanyName + '_Process with no metrics' + \"_\" + (new Date().getMonth() + 1) + '-' + new Date().getDate() + '-' + new Date().getFullYear(),\n 'Process with no metrics',\n \"Company: \" + this.loginCompanyName,\n this.selectedReportType ? this.selectedReportType + \": \" + name : 'Team' + \": \" + name,\n \"Process with no metrics Report\",\n copyRight,\n 'FFFFFF00',\n 'FF0000FF');\n }\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL29yZ2FuaXphdGlvbi9vcmdhbml6YXRpb24uY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, Inject, OnInit } from '@angular/core';\nimport { OrganizationDetails } from './organization.model';\nimport { OrganizationService } from '../services/organization.service'\nimport { LocalStorageService } from 'ngx-webstorage';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\nimport { DorseyService } from '../dorsey.service';\nimport { Router } from '@angular/router';\nimport { OrganizationLicenseDetails } from '../company/company.model';\nimport { LocationStrategy } from '@angular/common';\nimport { copyRight } from '../copyRight.model';\n\n@Component({\n selector: 'app-organization',\n templateUrl: './organization.component.html',\n styleUrls: ['./organization.component.scss']\n})\nexport class OrganizationComponent implements OnInit {\n [x: string]: any;\n organizationID: number;\n isSearchDisable = false;\n saveFilter: Array = [];\n isDisable = false;\n condition: boolean;\n searchtext: string = '';\n p: number = 1;\n rowsOnPage = 10;\n rowsOnPageSet = [];\n rowCount: any;\n dynamicRows = 10;\n isDesc: boolean = false;\n column = '';\n direction: number;\n arrow = true;\n licenseDetails: OrganizationLicenseDetails;\n companyPaging = false;\n MenuPermissions: any;\n organizationDetails: OrganizationDetails;\n currentUser: string;\n companyID: number;\n emailUnique: any;\n menuData: any;\n menuID: string;\n menuName: string;\n organization: Array = []; rolesData: any;\n userData: any;\n userRoleData: any;\n adminUserName: any;\n adminEmail: any;\n adminPassword: any;\n userRoleName: string;\n loginUsername: any;\n isSuperAdmin: boolean = true;\n loginLevel: string;\n constructor(\n private router: Router,\n private storage: LocalStorageService,\n public dialog: MatDialog,\n public organizationService: OrganizationService,\n private location: LocationStrategy,\n private dorseyService: DorseyService) {\n this.currentUser = this.storage.retrieve('user');\n this.menuData = this.storage.retrieve('menuData');\n this.MenuPermissions = this.storage.retrieve('MenuPermissions');\n this.adminUserName = this.storage.retrieve('adminUname');\n this.adminEmail = this.storage.retrieve('username');\n this.adminPassword = this.storage.retrieve('password');\n this.loginUsername = this.storage.retrieve('loginUsername');\n this.loginLevel = this.storage.retrieve(\"loginLevel\");\n\n //to disable back button\n history.pushState(null, null, window.location.href);\n this.location.onPopState(() => {\n history.pushState(null, null, window.location.href);\n });\n }\n\n ngOnInit(): void {\n if (this.menuData) {\n this.menuData = this.menuData.find(x => x.MenuName.toString().toLowerCase() === 'organization');\n if (this.menuData) {\n this.menuName = this.menuData[\"MenuName\"];\n this.menuID = this.menuData[\"MenuID\"];\n }\n }\n this.getRoles(0);\n this.getUsers();\n this.getUserRoleAssignment();\n this.getOrganizations();\n }\n\n getRoles(companyID) {\n this.dorseyService.GetRoles(companyID).subscribe(users => {\n this.rolesData = JSON.parse(users['_body']);\n });\n\n }\n\n getUsers() {\n this.dorseyService.GetUsersList().subscribe(users => {\n this.userData = JSON.parse(users['_body']);\n });\n }\n\n getUserRoleAssignment() {\n this.dorseyService.GetUserRoleAssignment().subscribe(userRoles => {\n this.userRoleData = JSON.parse(userRoles['_body']);\n });\n }\n\n getOrganizations(): void {\n this.organizationService.getOrganizations().subscribe(resp => {\n this.organization = resp.Data;\n this.rowsOnPageSet = [];\n this.dynamicRows = 10;\n this.rowCount = this.organization.length;\n if (this.organization.length === 0) {\n this.companyPaging = false;\n this.isDisable = true;\n this.isSearchDisable = true;\n }\n else {\n this.saveFilter = JSON.parse(JSON.stringify(this.organization));\n this.companyPaging = true;\n this.isDisable = false;\n this.isSearchDisable = false;\n this.organizationPagination(this.rowCount);\n }\n });\n }\n\n newOrganiation(): void {\n this.organizationDetails = {\n OrganizationID: 0,\n OrganizationName: '',\n OrganizationDescription: '',\n Address1: '',\n Address2: '',\n Country: '',\n State: '',\n City: '',\n Pincode: '',\n Email: '',\n Phone: '',\n CreatedBy: this.currentUser,\n UpdatedBy: this.currentUser,\n NoOfLicenses: 0,\n UserID: 0,\n UserName: '',\n Password: '',\n FirstName: '',\n LastName: '',\n EmployeeID: 0,\n CompanyID: 0,\n RowID: 0,\n RoleID: 0,\n }\n this.dialogCall('new');\n }\n\n sort(property) {\n this.arrow = !this.arrow;\n this.isDesc = !this.isDesc; //change the direction\n this.column = property;\n this.direction = this.isDesc ? 1 : -1;\n }\n editOrganization(organization): void {\n this.organizationDetails = organization;\n this.storage.store('OName', this.organizationDetails.OrganizationName);\n this.storage.store('UName', this.organizationDetails.UserName);\n this.getCompaniesCountByOrganizationId();\n }\n\n getCompaniesCountByOrganizationId(): void {\n this.organizationService.getCompaniesCountByOrganizationId(this.organizationDetails.OrganizationID).subscribe(resp => {\n this.licenseDetails = resp.Data[0];\n this.dialogCall('edit');\n });\n }\n\n deleteOrganization(organizationROw: any): void {\n this.organizationID = organizationROw.OrganizationID;\n const dialogRef = this.dialog.open(OrganizationDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: 'Are you sure you want to delete organization: ' + organizationROw.OrganizationName + '?æææ' + true,\n });\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n this.organizationService.deleteOrganization(this.organizationID).subscribe(resp => {\n if (resp.Data) {\n this.condition = true;\n this.dialogCall('Deleted successfully');\n this.organization = [];\n this.getOrganizations();\n } else {\n this.dialogCall('Delete Failed');\n }\n this.dynamicRows = 10;\n this.rowsOnPageSet = [];\n });\n }\n });\n\n }\n\n\n exportAsXLSX(): void {\n let allData = JSON.parse(JSON.stringify(this.organization));\n for (let i = 0; i < allData.length; i++) {\n allData[i][\"Organization\"] = allData[i].OrganizationName;\n allData[i][\"Email \"] = allData[i].Email;\n allData[i][\"Phone \"] = allData[i].Phone;\n allData[i][\"No Of Licenses\"] = allData[i].NoOfLicenses;\n\n delete (allData[i].Email);\n delete (allData[i].Phone);\n delete (allData[i].OrganizationID);\n delete (allData[i].CompanyID);\n delete (allData[i].UserID);\n delete (allData[i].UserName);\n delete (allData[i].FirstName);\n delete (allData[i].LastName);\n delete (allData[i].EmployeeID);\n delete (allData[i].Password);\n delete (allData[i].OrganizationID);\n delete (allData[i].OrganizationName);\n delete (allData[i].OrganizationDescription);\n delete (allData[i].Address1);\n delete (allData[i].Address2);\n delete (allData[i].Country);\n delete (allData[i].City);\n delete (allData[i].State);\n delete (allData[i].Pincode);\n delete (allData[i].NoOfLicenses);\n delete (allData[i].UpdatedBy);\n delete (allData[i].UpdatedDate);\n delete (allData[i].CreatedBy);\n delete (allData[i].CreatedDate);\n delete (allData[i].IsActive);\n }\n\n this.dorseyService.generateExcel(allData, 'Organization' + \"_\" + (new Date().getMonth() + 1) + '-' + new Date().getDate() + '-' + new Date().getFullYear(), 'Organization', \"Organization: \" + this.loginUsername, '', \"Organization Report\", copyRight, 'FFFFFF00', 'FF0000FF');\n\n }\n searchText(): void {\n this.organization = this.saveFilter;\n let orgList = this.organization.filter(\n (item) => {\n return (\n (item.OrganizationName !== null && item.OrganizationName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.Email !== null && item.Email.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.Phone !== null && item.Phone.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1)\n\n );\n }\n );\n this.organization = orgList;\n if (this.organization.length == 0) {\n this.isDisable = true;\n } else {\n this.isDisable = false;\n }\n if (this.searchtext === '') {\n this.organization = this.saveFilter;\n this.rowCount = this.organization.length;\n this.isDisable = false;\n this.organizationPagination(this.rowCount);\n }\n else {\n this.rowCount = orgList.length;\n this.organizationPagination(this.rowCount);\n if (this.rowsOnPageSet.length === 1) {\n if (this.rowsOnPageSet[0] <= 10)\n\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n }\n }\n\n organizationPagination(RowCount) {\n this.dynamicRows = 10;\n this.rowsOnPageSet = [];\n this.rowsOnPage = 10;\n this.rowCount = RowCount;\n while (this.dynamicRows < this.rowCount) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 10;\n }\n if (!this.rowsOnPageSet.includes(this.rowCount)) {\n this.rowsOnPageSet.push(this.rowCount);\n if (this.rowsOnPageSet.length === 1) {\n if (this.rowsOnPageSet[0] <= 10)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n }\n }\n\n viewCompanies(element): void {\n let orgDetails = {\n OrganizationId: element.OrganizationID,\n OrganizationName: element.OrganizationName,\n NoOfLicenses: element.NoOfLicenses,\n IsSuperAdmin: this.isSuperAdmin\n }\n this.storage.store(\"OrganizationDetails\", orgDetails);\n this.router.navigate(['/entity']);\n }\n\n dialogCall(msg: string) {\n this.getUsers();\n const dialogRef = this.dialog.open(OrganizationDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: msg + 'æææ' + false,\n });\n dialogRef.componentInstance.organizationDetails = this.organizationDetails;\n dialogRef.componentInstance.organizationID = this.organizationID;\n dialogRef.componentInstance.currentUser = this.currentUser;\n dialogRef.componentInstance.organization = this.saveFilter;\n dialogRef.componentInstance.saveFilter = this.saveFilter;\n dialogRef.componentInstance.licenseDetails = this.licenseDetails;\n dialogRef.componentInstance.userListData = this.userData;\n\n if (msg == 'edit' || msg == 'new') {\n this.searchtext = '';\n }\n dialogRef.afterClosed().subscribe(result => {\n if (this.searchtext !== '' && this.searchtext !== undefined) {\n this.searchText();\n }\n else {\n this.getOrganizations();\n }\n\n\n if (result && result.toString() === 'true') {\n let statusMsg = '';\n if (msg === 'new') {\n statusMsg = 'Saved successfully';\n }\n else {\n statusMsg = 'Updated successfully';\n }\n const dialogRefsub = this.dialog.open(OrganizationDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: statusMsg + 'æææ' + false,\n // width: '30%'\n });\n setTimeout(() => {\n this.getOrganizations();\n }, 500);\n dialogRefsub.afterClosed().subscribe(result1 => {\n this.dynamicRows = 10;\n if (this.searchtext !== '') {\n this.searchText();\n }\n else {\n this.getOrganizations();\n }\n });\n } else {\n this.getOrganizations();\n }\n });\n }\n}\n@Component({\n selector: 'app-dialog',\n templateUrl: 'dialog.html',\n providers: [DorseyService],\n})\nexport class OrganizationDialogComponent {\n\n organizationDetails: OrganizationDetails;\n organizationID: number;\n public breakpoint: number; // Breakpoint observer code\n dataSelf = '';\n condition: boolean;\n currentUser: string;\n organization: Array = [];\n saveFilter: Array = [];\n btnDisabled = false;\n licenseDetails: OrganizationLicenseDetails;\n userListData: any;\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any, public dorseyService: DorseyService, private storage: LocalStorageService, private orgService: OrganizationService) {\n // dialogRef.disableClose=true;\n this.data = this.data.split('æææ');\n\n if (this.data[1] === 'true') {\n this.condition = true;\n\n } else {\n this.condition = false;\n }\n this.data = this.data[0];\n\n }\n\n ngOnInit() {\n this.breakpoint = window.innerWidth <= 1000 ? 1 : 3;\n }\n\n onResize(event): void {\n this.breakpoint = (event.target.innerWidth <= 1000) ? 1 : 3;\n }\n onYesClick() {\n this.dialogRef.close(true);\n }\n onNoClick(): void {\n this.dialogRef.close();\n }\n\n validateOrganization(): void {\n this.dataSelf = '';\n if (!this.organizationDetails.OrganizationName.trim()\n || !this.organizationDetails.FirstName.trim()\n || !this.organizationDetails.LastName.trim()\n || !this.organizationDetails.Address1.trim()\n || !this.organizationDetails.Country.trim()\n || !this.organizationDetails.State.trim()\n || !this.organizationDetails.City.trim()\n || !this.organizationDetails.Pincode\n || !this.organizationDetails.Phone\n || !this.organizationDetails.Email\n || !this.organizationDetails.UserName.trim()\n || !this.organizationDetails.Password\n ) {\n this.dataSelf = 'Please enter mandatory(*) fields';\n return;\n }\n else {\n var mailformat = /^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/;\n if (!this.organizationDetails.Email.match(mailformat)) {\n this.dataSelf = 'Please enter valid email';\n\n return;\n }\n }\n if (this.organizationDetails.NoOfLicenses == 0) {\n this.dataSelf = 'Please enter No. of Licenses';\n return;\n }\n this.saveOrganization(this.data);\n\n }\n\n\n saveOrganization(msg: string): void {\n if (this.organizationDetails.OrganizationID) {\n this.organizationDetails.UpdatedBy = this.currentUser;\n }\n if (msg == 'new') {\n if (this.organization.find(ent => ent.OrganizationName.toLowerCase().trim() === this.organizationDetails.OrganizationName.toLowerCase().trim())) {\n this.dataSelf = \"Organization name already exists\";\n return;\n }\n\n if (this.userListData.find(ent => ent.UserName.toLowerCase().trim() === this.organizationDetails.UserName.toLowerCase().trim())) {\n this.dataSelf = \"UserName already exists\";\n return;\n }\n this.orgService.saveOrganization(this.organizationDetails).subscribe(resp => {\n if (resp.Data) {\n this.dataSelf = 'Saved successfully';\n setTimeout(() => {\n this.dataSelf = '';\n }, 2000);\n\n\n this.dialogRef.close(true);\n\n } else {\n this.dataSelf = 'Save failed';\n }\n });\n }\n else {\n this.organization = this.organization.filter(ent => ent.OrganizationID !== this.organizationDetails.OrganizationID);\n if (this.organization.find(ent => ent.OrganizationName.toLowerCase().trim() == this.organizationDetails.OrganizationName.toLowerCase().trim())) {\n this.dataSelf = 'Organization name already exists';\n return;\n }\n\n this.userListData = this.userListData.filter(ent => ent.UserID !== this.organizationDetails.UserID);\n if (this.userListData.find(ent => ent.UserName.toLowerCase().trim() == this.organizationDetails.UserName.toLowerCase().trim())) {\n this.dataSelf = 'UserName already exist';\n return;\n }\n if (this.organizationDetails.NoOfLicenses < Number(this.licenseDetails.UsedLicenses)) {\n this.dataSelf = 'Cannot update licenses as entities exist for this organization';\n return;\n }\n this.orgService.saveOrganization(this.organizationDetails).subscribe(resp => {\n if (resp.Data === true) {\n this.dialogRef.close(true);\n } else {\n this.dataSelf = 'Updated successfully';\n }\n });\n }\n }\n clear(): void {\n this.dialogRef.close(false);\n }\n keyPress(event: any): void {\n const pattern = /[0-9\\+\\-\\ ]/;\n\n let inputChar = String.fromCharCode(event.charCode);\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\n event.preventDefault();\n }\n }\n\n isAlpha(evt: any) {\n var keyCode = (evt.which) ? evt.which : evt.keyCode\n if ((keyCode < 65 || keyCode > 90) && (keyCode < 97 || keyCode > 123) && keyCode != 32)\n return false;\n return true;\n }\n\n validatePhone(event: any): void {\n if ((event.key) == \"Backspace\" || event.key == \"ArrowLeft\" || event.key == \"ArrowRight\") {\n return;\n } else {\n const regexpattern = '^[0-9]\\d*$';\n if (!event.key.match(regexpattern)) {\n event.preventDefault();\n }\n }\n\n }\n\n validateEmail(event: any): void {\n var re = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n\n if (!this.organizationDetails.Email) {\n if (event.keyCode == 32) {\n event.preventDefault();\n }\n }\n }\n\n\n valZero(): void {\n var re = /^(?=.*\\d)(?=.*[1-9]).{1,16}$/;\n if (this.organizationDetails.Phone !== '') {\n if (!this.organizationDetails.Phone.match(re)) {\n this.dataSelf = \"Phone number invalid\";\n\n this.organizationDetails.Phone = \"\";\n\n setTimeout(() => {\n this.dataSelf = \"\";\n }, 2000);\n }\n }\n\n }\n\n validate() {\n\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { DorseyService } from '../dorsey.service';\nimport { LocalStorageService } from 'ngx-webstorage';\nimport { Department } from '../departments/department.model';\nimport { ScoreCardTypeEnum } from '../performance-score-card/performance-score-card.model';\nimport { EmployeeLoginLevel } from '../common/models/login-level.model';\nimport { DepartmentService } from '../services/department.service';\nimport { copyRight } from '../copyRight.model';\n\n@Component({\n selector: 'app-other-frustration',\n templateUrl: './other-frustration.component.html',\n // styleUrls: ['./other-frustration.component.scss']\n})\nexport class OtherFrustrationComponent implements OnInit {\n copyRight: string = copyRight;\n frustrationOtherData: any;\n searchtext: string;\n isDesc: boolean = false;\n column = \"\";\n direction: number;\n arrow = true;\n p: number = 1;\n rowsOnPage = 10;\n rowsOnPageSet = [];\n rowCount: any;\n dynamicRows = 10;\n processPaging = false;\n saveFilter = [];\n departmentName: string;\n CompanyID: string;\n isDisable = false;\n selectedReportType: string;\n disableSearch = false;\n teamData: any;\n TeamID: any;\n filterData: any;\n EmployeeID: string;\n tempTeam = [];\n companyName: string;\n headerDate = new Date();\n TeamName: string;\n employeeData: any;\n copyDate: number;\n employeeDetails: any;\n departmentList: Array = [];\n selectedDepartmentId: number;\n toggleTeam: boolean = false;\n scoreCardTypes: string[] = [ScoreCardTypeEnum.Department, ScoreCardTypeEnum.Team];\n constructor(public dorseyService: DorseyService,\n private departmentService: DepartmentService, private storage: LocalStorageService) {\n this.EmployeeID = this.storage.retrieve('EmployeeID');\n this.employeeDetails = this.storage.retrieve('employeeDetails');\n this.companyName = this.storage.retrieve('LoginCompanyName');\n\n if (this.EmployeeID.toString() === \"0\") {\n\n }\n else {\n this.TeamID = this.storage.retrieve('TeamID');\n }\n }\n\n ngOnInit() {\n this.CompanyID = this.storage.retrieve('companyID');\n\n if (this.employeeDetails) {\n\n if ((this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Department) || (this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Team)) {\n this.toggleTeam = true;\n\n this.getTeamsByDepartmentId(this.employeeDetails.DepartmentID)\n }\n else {\n this.reportTypeChange(ScoreCardTypeEnum.Department)\n }\n }\n else {\n this.reportTypeChange(ScoreCardTypeEnum.Department)\n }\n\n this.copyDate = (new Date()).getFullYear();\n\n }\n\n private getTeamsByDepartmentId(selectedDepartmentId): void {\n\n this.dorseyService.GetTeam(this.CompanyID.toString()).subscribe(resp => {\n var companyTeamList = JSON.parse(resp['_body']);\n this.teamData = companyTeamList;\n\n if (this.employeeDetails && companyTeamList) {\n if (this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Department) {\n this.teamData = this.teamData.filter(ent => ent.DepartmentID === this.employeeDetails.DepartmentID);\n }\n else if (this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Team) {\n this.teamData = this.teamData.filter(ent => ent.DepartmentID === this.employeeDetails.DepartmentID && ent.TeamID == this.employeeDetails.TeamID);\n this.selectedDepartmentId = this.teamData[0].DepartmentID;\n this.TeamID = this.teamData[0].TeamID;\n this.TeamName = this.teamData[0].TeamName;\n }\n else {\n if (!selectedDepartmentId) {\n this.selectedDepartmentId = 0;\n this.teamData = companyTeamList;\n }\n else if (selectedDepartmentId == 0) {\n this.teamData = companyTeamList;\n }\n else {\n this.teamData = this.teamData.filter(ent => ent.DepartmentID === selectedDepartmentId);\n }\n\n }\n }\n else {\n if (selectedDepartmentId == 0)\n this.teamData = companyTeamList;\n else\n this.teamData = companyTeamList.filter(ent => ent.DepartmentID === selectedDepartmentId);\n }\n this.dorseyService.GetFrustrationWithOther(this.CompanyID).subscribe(pointer => {\n this.frustrationOtherData = JSON.parse(pointer['_body']);\n\n if (!this.TeamID)\n this.TeamID = 0;\n\n if (this.TeamID == 0) {\n this.teamData = this.teamData.filter(entity1 => this.frustrationOtherData.find(entity2 => entity1.TeamID == entity2.TeamID));\n if (this.teamData.length > 0)\n this.teamData.splice(0, 0, { TeamID: 0, TeamName: 'Aggregate Report' });\n }\n this.ConstructReport();\n\n });\n\n });\n }\n\n teamChange(event): void {\n this.searchtext = '';\n this.selectedDepartmentId = 0;\n this.TeamID = event.value;\n let teamd = this.teamData.filter(x => x.TeamID === this.TeamID)\n if (teamd.length > 0) {\n this.TeamName = teamd[0].TeamName;\n }\n this.ConstructReport();\n }\n reportTypeChange(scoreCardType: string): void {\n this.searchtext = '';\n\n this.departmentList = [];\n this.teamData = [];\n this.filterData = [];\n this.selectedDepartmentId = 0;\n this.TeamID = 0;\n this.selectedReportType = scoreCardType;\n this.toggleTeam = scoreCardType === ScoreCardTypeEnum.Department ? false : true;\n this.getDepartments();\n this.getTeamsByDepartmentId(this.selectedDepartmentId);\n this.ConstructReport();\n }\n\n departmentChange(selectedDepartmentId): void {\n this.searchtext = '';\n this.getTeamsByDepartmentId(selectedDepartmentId)\n this.departmentName = this.departmentList.find(ent => ent.DepartmentID === selectedDepartmentId).DepartmentName;\n }\n\n private getDepartments(): void {\n this.departmentService.getDepartments(Number(this.CompanyID)).subscribe(resp => {\n this.departmentList = resp.Data;\n if (this.employeeDetails) {\n if (this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Department) {\n this.departmentList = this.departmentList.filter(ent => ent.DepartmentID === this.employeeDetails.DepartmentID);\n }\n else if (this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Team) {\n this.departmentList = this.departmentList.filter(ent => ent.DepartmentID === this.employeeDetails.DepartmentID);\n this.getTeamsByDepartmentId(this.employeeDetails.DepartmentID);\n }\n\n }\n this.departmentList.splice(0, 0, { DepartmentID: 0, DepartmentName: 'Aggregate Report', DepartmentDescription: '0', CompanyID: Number(this.CompanyID), CreatedBy: '', UpdatedBy: '' });\n });\n }\n\n\n ConstructReport() {\n this.filterData = [];\n if (!this.TeamID) {\n this.filterData = this.frustrationOtherData.filter(entity1 => this.teamData.find(entity2 => entity1.TeamID == entity2.TeamID));\n }\n else {\n this.filterData = this.frustrationOtherData.filter(entity1 => entity1.TeamID == this.TeamID);\n }\n\n if (this.filterData.length === 0) {\n this.processPaging = false;\n this.isDisable = true;\n this.disableSearch = true;\n }\n else {\n this.processPaging = true;\n this.isDisable = false;\n this.disableSearch = false;\n\n this.saveFilter = JSON.parse(JSON.stringify(this.filterData));\n this.rowCount = this.filterData.length;\n this.getOtherPagination(this.rowCount)\n }\n\n\n\n }\n\n Searchtext() {\n this.filterData = this.saveFilter;\n let tempfrustOther = this.filterData.filter(\n (item) => {\n return (\n (item.ProcessName !== null && item.ProcessName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.DepartmentName !== null && item.DepartmentName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.ActivityName !== null && item.ActivityName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.Subject !== null && item.Subject.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.Description !== null && item.Description.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.ProjectName !== null && item.ProjectName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1)\n || (item.TeamName !== null && item.TeamName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1)\n || (item.StatusName !== null && item.StatusName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.SeverityName !== null && item.SeverityName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1)\n );\n }\n\n );\n this.filterData = tempfrustOther;\n if (this.filterData.length == 0) {\n\n this.isDisable = true;\n } else {\n this.isDisable = false;\n }\n\n if (this.searchtext === '') {\n this.filterData = this.saveFilter;\n this.rowCount = this.filterData.length;\n this.isDisable = false;\n this.getOtherPagination(this.rowCount);\n }\n else {\n this.rowCount = tempfrustOther.length;\n this.getOtherPagination(this.rowCount);\n if (this.rowsOnPageSet.length === 1) {\n if (this.rowsOnPageSet[0] <= 10)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n }\n }\n getOtherPagination(RowCount): void {\n this.dynamicRows = 10;\n this.rowsOnPageSet = [];\n this.rowsOnPage = 10;\n this.rowCount = RowCount;\n while (this.dynamicRows < this.rowCount) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 10;\n }\n if (!this.rowsOnPageSet.includes(this.rowCount)) {\n this.rowsOnPageSet.push(this.rowCount);\n if (this.rowsOnPageSet.length === 1) {\n if (this.rowsOnPageSet[0] <= 10)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n }\n }\n sort(property) {\n this.arrow = !this.arrow;\n this.isDesc = !this.isDesc; //change the direction \n this.column = property;\n this.direction = this.isDesc ? 1 : -1;\n }\n exportAsXLSX() {\n let allData = JSON.parse(JSON.stringify(this.filterData));\n for (let i = 0; i < allData.length; i++) {\n allData[i][\" No. \"] = i + 1;\n if (this.selectedReportType === ScoreCardTypeEnum.Department) {\n allData[i][\"Department\"] = this.filterData[i].DepartmentName;\n }\n allData[i].Team = this.filterData[i].TeamName;\n allData[i].Process = this.filterData[i].ProcessName;\n allData[i].Activity = this.filterData[i].ActivityName;\n allData[i][\" Type \"] = this.filterData[i].FrustrationsTypeName;\n allData[i][\" Frustration \"] = this.filterData[i].Subject;\n allData[i][\" Description \"] = this.filterData[i].Description;\n allData[i][\" Project Name\"] = this.filterData[i].ProjectName;\n allData[i].Status = this.filterData[i].StatusName;\n allData[i][\" Severity \"] = this.filterData[i].SeverityName;\n\n delete (allData[i].DepartmentName);\n delete (allData[i].SeverityName);\n\n delete (allData[i].GreenRange);\n delete (allData[i].RedRange);\n delete (allData[i].YellowRange);\n delete (allData[i].TeamName);\n delete (allData[i].ProcessName);\n delete (allData[i].ActivityName);\n delete (allData[i].PointerID);\n delete (allData[i].ActivityID);\n delete (allData[i].PointerTypeID);\n delete (allData[i].Subject);\n delete (allData[i].Description);\n delete (allData[i].EmployeeID);\n delete (allData[i].Type);\n delete (allData[i].StatusID);\n delete (allData[i].SeverityID);\n delete (allData[i].ProcessID);\n delete (allData[i].DepartmentID);\n delete (allData[i].TeamID);\n delete (allData[i].FrustrationsTypeID);\n delete (allData[i].Date);\n delete (allData[i].IsActive);\n delete (allData[i].CreatedDate);\n delete (allData[i].CreatedBy);\n delete (allData[i].UpdatedDate);\n delete (allData[i].UpdatedBy);\n delete (allData[i].FrustrationsTypeName);\n delete (allData[i].ProjectName);\n delete (allData[i].StatusName);\n delete (allData[i].ProjectID);\n\n delete (allData[i].SeverityName);\n delete (allData[i].PointerID);\n\n }\n\n\n let name: any;\n if (this.selectedReportType == ScoreCardTypeEnum.Department && this.departmentName) {\n name = this.departmentName;\n } else if ((!this.selectedReportType || this.selectedReportType == ScoreCardTypeEnum.Team) && this.TeamName) {\n name = this.TeamName;\n } else {\n name = \"Aggregate Report\";\n }\n this.dorseyService.generateExcel(allData, this.companyName + '_Other category frustrations' + \"_\" + (new Date().getMonth() + 1) + '-' + new Date().getDate() + '-' + new Date().getFullYear(), 'Other category frustrations', \"Company: \" + this.companyName, this.selectedReportType ? this.selectedReportType + \": \" + name : 'Team' + \": \" + name, \"Other category frustrations Report\", copyRight, 'FFFFFF00', 'FF0000FF');\n }\n}\n\n","module.exports = \".field {\\n margin-left: 2%;\\n}\\n\\n#tableActions {\\n justify-content: flex-start !important;\\n}\\n\\ntable {\\n width: 100%;\\n font-size: smaller;\\n border-collapse: collapse;\\n}\\n\\nth, td {\\n text-align: center;\\n font-size: smaller;\\n}\\n\\nth {\\n color: white;\\n background-color: #474747;\\n height: 35px;\\n font-size: 13px;\\n}\\n\\ntd {\\n height: 35px;\\n font-size: 13px;\\n}\\n\\ntable, th, td {\\n border: 1px solid #e1e1e1;\\n overflow: hidden;\\n word-wrap: break-word;\\n}\\n\\ntable.fixed {\\n table-layout: fixed;\\n}\\n\\ntable.fixed td {\\n overflow: hidden;\\n}\\n\\n.highlight td {\\n background: #C0C0C0;\\n}\\n\\n.warningMsg {\\n text-align: center;\\n color: red;\\n}\\n\\n.fa-arrow-down, .fa-arrow-up {\\n font-size: 10px;\\n}\\n\\n.margin-5 {\\n margin: 5px;\\n}\\n\\n.text-underline {\\n text-decoration: underline;\\n}\\n\\n.btnWrapper button {\\n margin: 2.5% 1% 0% 0.5% !important;\\n}\\n\\n.current-quarter {\\n background-color: #9cd99c;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGVyZm9ybWFuY2Utc2NvcmUtY2FyZC9GOlxcTmlraWwgV29ya1xcUHJvamVjdHNcXERvcnNleVxcSGllcmFyY2h5IFNvdXJjZSBDb2RlXFxXb3JraW5nXFxkb3JzZXlHcm91cC9zcmNcXGFwcFxccGVyZm9ybWFuY2Utc2NvcmUtY2FyZFxccGVyZm9ybWFuY2Utc2NvcmUtY2FyZC5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvcGVyZm9ybWFuY2Utc2NvcmUtY2FyZC9wZXJmb3JtYW5jZS1zY29yZS1jYXJkLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksZUFBQTtBQ0NKOztBREVBO0VBQ0ksc0NBQUE7QUNDSjs7QURFQTtFQUNJLFdBQUE7RUFDQSxrQkFBQTtFQUNBLHlCQUFBO0FDQ0o7O0FEQ0E7RUFDSSxrQkFBQTtFQUNBLGtCQUFBO0FDRUo7O0FEQ0E7RUFDSSxZQUFBO0VBQ0EseUJBQUE7RUFDQSxZQUFBO0VBQ0EsZUFBQTtBQ0VKOztBRENBO0VBQ0ksWUFBQTtFQUNBLGVBQUE7QUNFSjs7QURDQTtFQUNJLHlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxxQkFBQTtBQ0VKOztBRENBO0VBQWMsbUJBQUE7QUNHZDs7QUREQTtFQUFpQixnQkFBQTtBQ0tqQjs7QURIQTtFQUFlLG1CQUFBO0FDT2Y7O0FETEE7RUFDSSxrQkFBQTtFQUNBLFVBQUE7QUNRSjs7QURMQTtFQUNJLGVBQUE7QUNRSjs7QURMQTtFQUNJLFdBQUE7QUNRSjs7QURMQTtFQUNJLDBCQUFBO0FDUUo7O0FETEE7RUFDSSxrQ0FBQTtBQ1FKOztBRExBO0VBQ0kseUJBQUE7QUNRSiIsImZpbGUiOiJzcmMvYXBwL3BlcmZvcm1hbmNlLXNjb3JlLWNhcmQvcGVyZm9ybWFuY2Utc2NvcmUtY2FyZC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5maWVsZHtcclxuICAgIG1hcmdpbi1sZWZ0OiAyJTtcclxufVxyXG5cclxuI3RhYmxlQWN0aW9uc3tcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG50YWJsZSB7XHJcbiAgICB3aWR0aDoxMDAlO1xyXG4gICAgZm9udC1zaXplOiBzbWFsbGVyO1xyXG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcclxufVxyXG50aCx0ZHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogc21hbGxlcjtcclxufVxyXG5cclxudGgge1xyXG4gICAgY29sb3I6d2hpdGU7ICAgICBcclxuICAgIGJhY2tncm91bmQtY29sb3I6IzQ3NDc0NztcclxuICAgIGhlaWdodDogMzVweDtcclxuICAgIGZvbnQtc2l6ZTogMTNweDtcclxufVxyXG5cclxudGQge1xyXG4gICAgaGVpZ2h0OiAzNXB4O1xyXG4gICAgZm9udC1zaXplOiAxM3B4O1xyXG59XHJcblxyXG50YWJsZSwgdGgsIHRkIHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMWUxZTE7XHJcbiAgICBvdmVyZmxvdzpoaWRkZW47XHJcbiAgICB3b3JkLXdyYXA6YnJlYWstd29yZDtcclxufVxyXG5cclxudGFibGUuZml4ZWQgeyB0YWJsZS1sYXlvdXQ6Zml4ZWQ7IH1cclxuXHJcbnRhYmxlLmZpeGVkIHRkIHsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxyXG5cclxuLmhpZ2hsaWdodCB0ZCB7YmFja2dyb3VuZDogI0MwQzBDMDt9XHJcblxyXG4ud2FybmluZ01zZyB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBjb2xvcjogcmVkO1xyXG59XHJcblxyXG4uZmEtYXJyb3ctZG93biwgLmZhLWFycm93LXVwe1xyXG4gICAgZm9udC1zaXplOiAxMHB4XHJcbn1cclxuXHJcbi5tYXJnaW4tNXtcclxuICAgIG1hcmdpbjogNXB4O1xyXG59XHJcblxyXG4udGV4dC11bmRlcmxpbmV7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxufVxyXG5cclxuLmJ0bldyYXBwZXIgYnV0dG9uIHtcclxuICAgIG1hcmdpbjogMi41JSAxJSAwJSAwLjUlICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5jdXJyZW50LXF1YXJ0ZXJ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWNkOTljO1xyXG59IiwiLmZpZWxkIHtcbiAgbWFyZ2luLWxlZnQ6IDIlO1xufVxuXG4jdGFibGVBY3Rpb25zIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG59XG5cbnRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogc21hbGxlcjtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbn1cblxudGgsIHRkIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IHNtYWxsZXI7XG59XG5cbnRoIHtcbiAgY29sb3I6IHdoaXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDc0NzQ3O1xuICBoZWlnaHQ6IDM1cHg7XG4gIGZvbnQtc2l6ZTogMTNweDtcbn1cblxudGQge1xuICBoZWlnaHQ6IDM1cHg7XG4gIGZvbnQtc2l6ZTogMTNweDtcbn1cblxudGFibGUsIHRoLCB0ZCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlMWUxZTE7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cblxudGFibGUuZml4ZWQge1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xufVxuXG50YWJsZS5maXhlZCB0ZCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5oaWdobGlnaHQgdGQge1xuICBiYWNrZ3JvdW5kOiAjQzBDMEMwO1xufVxuXG4ud2FybmluZ01zZyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6IHJlZDtcbn1cblxuLmZhLWFycm93LWRvd24sIC5mYS1hcnJvdy11cCB7XG4gIGZvbnQtc2l6ZTogMTBweDtcbn1cblxuLm1hcmdpbi01IHtcbiAgbWFyZ2luOiA1cHg7XG59XG5cbi50ZXh0LXVuZGVybGluZSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uYnRuV3JhcHBlciBidXR0b24ge1xuICBtYXJnaW46IDIuNSUgMSUgMCUgMC41JSAhaW1wb3J0YW50O1xufVxuXG4uY3VycmVudC1xdWFydGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzljZDk5Yztcbn0iXX0= */\"","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\nimport { Router } from '@angular/router';\r\nimport { LocalStorageService } from 'ngx-webstorage';\r\nimport { ValidationDialogComponent } from '../add-score-card/validation-dialog';\r\nimport { Department } from '../departments/department.model';\r\nimport { DorseyService } from '../dorsey.service';\r\nimport { DepartmentService } from '../services/department.service';\r\nimport { ScoreCard, ScoreCardTypeEnum } from './performance-score-card.model';\r\nimport { PerformanceScoreCardService } from './performance-score-card.service';\r\nimport { BsDatepickerConfig } from 'ngx-bootstrap/datepicker';\r\nimport { ScoreCardMaster, PSCMetricDetails } from '../add-score-card/add-score-card.model';\r\nimport { ResponseDialogComponent } from '../add-score-card/response-dialog';\r\nimport { QuarterService } from '../services/quarter.service';\r\nconst Moment = require('moment');\r\nimport { extendMoment } from 'moment-range';\r\nconst moment = extendMoment(Moment);\r\nimport { EmployeeLoginLevel } from '../common/models/login-level.model';\r\n@Component({\r\n selector: 'app-performance-score-card',\r\n templateUrl: './performance-score-card.component.html',\r\n styleUrls: ['./performance-score-card.component.scss']\r\n})\r\nexport class PerformanceScoreCardComponent implements OnInit {\r\n\r\n employeeDetails: any;\r\n isViewScoreCard: boolean = false;\r\n pscMetricDetails: Array;\r\n selectedMetrics: Array = [];\r\n departmentList: Array = [];\r\n companyId: number;\r\n selectedDepartmentId: number;\r\n selectedTeamId: number;\r\n teamList: any = [];\r\n scoreCardTypes: string[] = [ScoreCardTypeEnum.Department, ScoreCardTypeEnum.Team];\r\n toggleTeam: boolean = false;\r\n selectedScoreCardType: string;\r\n scoreCard: ScoreCard;\r\n YearPickerConfig: Partial;\r\n masterScoreCards: Array = [];\r\n\r\n MenuPermissions: any;\r\n menuData: any;\r\n menuID: string;\r\n menuName: string;\r\n column = \"\";\r\n direction: number;\r\n arrow = true;\r\n isDesc: boolean = false;\r\n isDisable = false;\r\n disableSearch = false;\r\n p: number = 1;\r\n rowsOnPage = 10;\r\n rowsOnPageSet = [];\r\n rowCount: any;\r\n dynamicRows = 10;\r\n scoreCardMasterId: number;\r\n masterScoreCard: ScoreCardMaster;\r\n WeekDateList = [];\r\n latestScoreCardId: number;\r\n isScoreCardEnable: boolean = false;\r\n constructor(private departmentService: DepartmentService,\r\n private dorseyService: DorseyService,\r\n private storage: LocalStorageService,\r\n private scoreCardService: PerformanceScoreCardService,\r\n private quarterService: QuarterService,\r\n private router: Router,\r\n public dialog: MatDialog) {\r\n this.menuData = this.storage.retrieve('menuData');\r\n this.MenuPermissions = this.storage.retrieve('MenuPermissions');\r\n this.employeeDetails = this.storage.retrieve('employeeDetails');\r\n this.isScoreCardEnable = this.storage.retrieve('isScoreCardEnable');\r\n\r\n this.YearPickerConfig = Object.assign({},\r\n { containerClass: 'theme-dark-blue', showWeekNumbers: false, dateInputFormat: 'YYYY' });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.companyId = this.storage.retrieve('companyID');\r\n this.menuData = this.menuData.filter(x => x.MenuName.toString().toLowerCase() === 'score card');\r\n if (this.menuData.length > 0) {\r\n this.menuName = this.menuData[0][\"MenuName\"];\r\n this.menuID = this.menuData[0][\"MenuID\"];\r\n }\r\n if (this.employeeDetails) {\r\n if (this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Team) {\r\n this.selectedScoreCardType = EmployeeLoginLevel.Team;\r\n this.scoreCardTypeChange(this.selectedScoreCardType);\r\n }\r\n }\r\n }\r\n\r\n /*Set Pagination for score cards */\r\n\r\n scoreCardPagination(RowCount): void {\r\n this.dynamicRows = 10;\r\n this.rowsOnPageSet = [];\r\n this.rowsOnPage = 10;\r\n this.rowCount = RowCount;\r\n while (this.dynamicRows < this.rowCount) {\r\n this.rowsOnPageSet.push(this.dynamicRows);\r\n this.dynamicRows = this.dynamicRows + 10;\r\n }\r\n if (!this.rowsOnPageSet.includes(this.rowCount)) {\r\n this.rowsOnPageSet.push(this.rowCount);\r\n if (this.rowsOnPageSet.length === 1) {\r\n if (this.rowsOnPageSet[0] <= 10)\r\n this.rowsOnPage = this.rowsOnPageSet[0];\r\n }\r\n }\r\n }\r\n\r\n scoreCardTypeChange(scoreCardType: string): void {\r\n this.masterScoreCards = [];\r\n this.toggleTeam = scoreCardType === ScoreCardTypeEnum.Department ? false : true;\r\n this.getDepartments();\r\n this.getTeamsByDepartmentId(this.selectedDepartmentId);\r\n }\r\n\r\n departmentChange(selectedDepartmentId): void {\r\n this.masterScoreCards = [];\r\n if (this.selectedScoreCardType === ScoreCardTypeEnum.Team) {\r\n this.getTeamsByDepartmentId(selectedDepartmentId);\r\n }\r\n }\r\n\r\n teamChange(teamId: number): void {\r\n this.masterScoreCards = [];\r\n }\r\n\r\n showMasterScoreCards(): void {\r\n if (!this.validateFields()) {\r\n return;\r\n }\r\n this.masterScoreCards = [];\r\n this.scoreCardService.GetScoreCardMasterByDepartmentId(this.selectedDepartmentId, this.companyId).subscribe(resp => {\r\n this.masterScoreCards = resp.Data;\r\n if (this.selectedScoreCardType === ScoreCardTypeEnum.Team) {\r\n this.masterScoreCards = this.masterScoreCards.filter(ent => ent.TeamID === this.selectedTeamId);\r\n } else {\r\n this.masterScoreCards = this.masterScoreCards.filter(ent => ent.TeamID === 0);\r\n }\r\n\r\n this.rowCount = this.masterScoreCards.length;\r\n if (this.masterScoreCards.length === 0) {\r\n this.isDisable = true;\r\n this.disableSearch = true;\r\n }\r\n else {\r\n this.latestScoreCardId = this.masterScoreCards[0].Id;\r\n this.isDisable = false;\r\n this.disableSearch = false;\r\n this.scoreCardPagination(this.rowCount);\r\n }\r\n this.masterScoreCards = this.masterScoreCards.map(ele => {\r\n return {\r\n Id: ele.Id,\r\n CompanyID: ele.CompanyID,\r\n ScoreCardType: ele.ScoreCardType,\r\n DepartmentID: ele.DepartmentID,\r\n TeamID: ele.TeamID,\r\n QuarterId: ele.QuarterId,\r\n Year: ele.Year,\r\n ScoreCardName: ele.ScoreCardName,\r\n CreatedBy: ele.CreatedBy,\r\n UpdatedBy: ele.UpdatedBy,\r\n QuarterName: 'Quarter ' + ele.QuarterId,//ele.ScoreCardName.split('_')[1],\r\n CompanyName: ele.CompanyName,\r\n DepartmentName: ele.DepartmentName,\r\n TeamName: ele.TeamName\r\n }\r\n });\r\n });\r\n }\r\n\r\n openScoreCard(): void {\r\n if (!this.validateFields()) {\r\n return;\r\n }\r\n this.assignScoreCardValues();\r\n this.router.navigate(['add-score-card', 0, 0]);\r\n }\r\n\r\n editScoreCard(scoreCard): void {\r\n this.assignScoreCardValues();\r\n this.router.navigate(['add-score-card', scoreCard.Id, 0]);\r\n }\r\n\r\n deleteScoreCard(scoreCard): void {\r\n const dialogRef = this.dialog.open(PerformanceScoreCardDialogComponent, {\r\n panelClass: 'custom-dialog-container',\r\n data: 'Are you sure you want to delete score card : ' + scoreCard.ScoreCardName + '?æææ' + true,\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.scoreCardService.DeleteScoreCardMaster(scoreCard.Id).subscribe(resp => {\r\n if (resp.Data == true) {\r\n this.dialog.open(ResponseDialogComponent, {\r\n data: {\r\n message: 'Delete successful'\r\n }\r\n });\r\n this.showMasterScoreCards();\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n ///private methods\r\n private validateFields(): boolean {\r\n var errorMessages = [];\r\n if (!this.selectedScoreCardType) {\r\n errorMessages.push(\"Please select Type\");\r\n }\r\n if (!this.selectedDepartmentId) {\r\n errorMessages.push(\"Please select Department\");\r\n }\r\n if (this.selectedScoreCardType === ScoreCardTypeEnum.Team) {\r\n if (!this.selectedTeamId) {\r\n errorMessages.push(\"Please select Team\");\r\n }\r\n }\r\n\r\n if (errorMessages.length != 0) {\r\n this.dialog.open(ValidationDialogComponent, {\r\n data: {\r\n errorMessages: errorMessages\r\n }\r\n });\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n private getDepartments(): void {\r\n this.departmentService.getDepartments(this.companyId).subscribe(resp => {\r\n this.departmentList = resp.Data;\r\n if (this.employeeDetails) {\r\n\r\n if (this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Department) {\r\n this.departmentList = this.departmentList.filter(ent => ent.DepartmentID === this.employeeDetails.DepartmentID);\r\n }\r\n else if (this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Team) {\r\n this.departmentList = this.departmentList.filter(ent => ent.DepartmentID === this.employeeDetails.DepartmentID);\r\n this.getTeamsByDepartmentId(this.employeeDetails.DepartmentID);\r\n\r\n }\r\n }\r\n });\r\n }\r\n\r\n private getTeamsByDepartmentId(selectedDepartmentId): void {\r\n this.dorseyService.GetTeam(this.companyId.toString()).subscribe(resp => {\r\n var companyTeamList = JSON.parse(resp['_body']);\r\n this.teamList = companyTeamList;\r\n if (this.employeeDetails && companyTeamList) {\r\n if (this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Department) {\r\n this.teamList = this.teamList.filter(ent => ent.DepartmentID === this.employeeDetails.DepartmentID);\r\n }\r\n else if (this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Team) {\r\n this.teamList = this.teamList.filter(ent => ent.DepartmentID === this.employeeDetails.DepartmentID && ent.TeamID == this.employeeDetails.TeamID);\r\n this.selectedDepartmentId = this.teamList[0].DepartmentID;\r\n this.selectedTeamId = this.teamList[0].TeamID;\r\n }\r\n }\r\n else {\r\n this.teamList = companyTeamList.filter(ent => ent.DepartmentID === selectedDepartmentId);\r\n }\r\n });\r\n }\r\n\r\n private assignScoreCardValues() {\r\n var department = this.departmentList.find(ent => ent.DepartmentID === this.selectedDepartmentId);\r\n var team = this.teamList.find(ent => ent.TeamID === this.selectedTeamId);\r\n this.scoreCard = {\r\n ScoreCardType: this.selectedScoreCardType,\r\n DepartmentId: this.selectedDepartmentId,\r\n DepartmentName: department ? department.DepartmentName : '',\r\n TeamId: (this.selectedScoreCardType == ScoreCardTypeEnum.Team && this.selectedTeamId) ? this.selectedTeamId : 0,\r\n TeamName: (this.selectedScoreCardType == ScoreCardTypeEnum.Team && team) ? team.TeamName : ''\r\n };\r\n this.scoreCardService.scoreCard.next(this.scoreCard);\r\n }\r\n\r\n viewScoreCard(scoreCard): void {\r\n this.scoreCardMasterId = scoreCard.Id;\r\n this.scoreCardService.GetPerformanceScoreCardDetails(scoreCard.CompanyID, scoreCard.DepartmentID, scoreCard.TeamID, scoreCard.Id).subscribe(resp => {\r\n this.pscMetricDetails = resp.AdditionalData.PSCDetails;\r\n this.selectedMetrics = this.pscMetricDetails.filter(ent => ent.IsSelected === true);\r\n this.processData();\r\n var quarter = resp.AdditionalData.QuarterDetails;\r\n var months = quarter.filter(val => val.QuarterID == scoreCard.QuarterId);\r\n if (months.length > 0)\r\n this.WeekDateList = this.quarterService.getWeekMonths(months, Number(scoreCard.Year), quarter[0].QuarterWeekDay, quarter[0].QuarterWeekDate);\r\n this.scoreCard = scoreCard;\r\n this.isViewScoreCard = true;\r\n });\r\n }\r\n\r\n private processData(): void {\r\n const goalSeen = {};\r\n this.selectedMetrics = this.selectedMetrics.sort((a, b) => {\r\n return a.GoalName.localeCompare(b.GoalName);\r\n }).map(x => {\r\n const goalSpan = goalSeen[x.GoalName] ? 0 :\r\n this.selectedMetrics.filter(y => y.GoalName === x.GoalName).length;\r\n goalSeen[x.GoalName] = true;\r\n return { ...x, goalSpan };\r\n });\r\n }\r\n\r\n viewScoreCardChangedHandler(value: boolean): void {\r\n this.isViewScoreCard = value;\r\n }\r\n\r\n goToAddScoreCardChangedHandler(event): void {\r\n this.assignScoreCardValues();\r\n this.router.navigate(['add-score-card', this.scoreCardMasterId, 3]);\r\n }\r\n\r\n sort(property): void {\r\n this.arrow = !this.arrow;\r\n this.isDesc = !this.isDesc; //change the direction\r\n this.column = property;\r\n this.direction = this.isDesc ? 1 : -1;\r\n }\r\n\r\n}\r\n\r\n\r\n@Component({\r\n selector: 'app-dialog',\r\n templateUrl: 'dialog.html',\r\n})\r\nexport class PerformanceScoreCardDialogComponent implements OnInit {\r\n\r\n condition = false;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any) {\r\n this.data = this.data.split('æææ');\r\n if (this.data[1] === 'true') {\r\n this.condition = true;\r\n } else {\r\n this.condition = false;\r\n }\r\n this.data = this.data[0];\r\n }\r\n\r\n ngOnInit(): void { }\r\n\r\n onYesClick(): void {\r\n this.dialogRef.close(true);\r\n }\r\n\r\n onNoClick(): void {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","export enum ScoreCardTypeEnum {\r\n Department = \"Department\",\r\n Team = \"Team\"\r\n}\r\n\r\nexport interface ScoreCard {\r\n ScoreCardType: string,\r\n DepartmentId: number,\r\n TeamId: number,\r\n DepartmentName: string,\r\n TeamName: string\r\n}","import { HttpClient, HttpErrorResponse } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { BehaviorSubject, Observable, throwError } from \"rxjs\";\r\nimport { catchError } from \"rxjs/operators\";\r\nimport { environment } from \"src/environments/environment\";\r\nimport { PerformanceScoreCard } from \"../add-score-card/add-score-card.model\";\r\nimport { IResponsePackage } from \"../models/response-package.model\";\r\nimport { ScoreCard } from \"./performance-score-card.model\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PerformanceScoreCardService {\r\n\r\n httpUrl = environment.API_URL;\r\n public scoreCard: BehaviorSubject = new BehaviorSubject(null);\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n GetScoreCardMasterByDepartmentId(departmentId: number, companyId: number): Observable {\r\n return this.http.get(`${this.httpUrl}Dorsey/GetScoreCardMasterByDepartmentId?departmentId=${departmentId}&companyId=${companyId}`)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n GetPerformanceScoreCardDetails(companyId: number, departmentId: number, teamId: number, scoreCardMasterId: number): Observable {\r\n return this.http.get(`${this.httpUrl}Dorsey/GetPerformanceScoreCardDetails?departmentId=${departmentId}&teamId=${teamId}&companyId=${companyId}&pscMasterId=${scoreCardMasterId}`)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n SavePerformanceScoreCardDetails(entity: PerformanceScoreCard): Observable {\r\n return this.http.post(`${this.httpUrl}Dorsey/SavePerformanceScoreCardDetails`, entity).pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n GetPSCDetailIdsByPSCMasterId(scoreCardMasterId: number): Observable {\r\n return this.http.get(`${this.httpUrl}Dorsey/GetPSCDetailIdsByPSCMasterId?pscMasterId=${scoreCardMasterId}`)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n DeleteScoreCardMaster(scoreCardID: number): Observable {\r\n return this.http.get(`${this.httpUrl}Dorsey/DeleteScoreCardMaster?scoreCardID=${scoreCardID}`).pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n CheckMetricExistInPSCDetails(pointerId: number): Observable {\r\n return this.http.get(`${this.httpUrl}Dorsey/CheckMetricExistInPSCDetails?pointerId=${pointerId}`).pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n private handleError(err: HttpErrorResponse) {\r\n let errorMessage = '';\r\n if (err.error instanceof ErrorEvent) {\r\n errorMessage = `An error occured: ${err.error.message}`;\r\n }\r\n else {\r\n errorMessage = `Server returned code: ${err.status}, error message is ${err.message}`\r\n }\r\n return throwError(errorMessage);\r\n }\r\n\r\n}\r\n","module.exports = \"button{\\r\\n background-color: gray;\\r\\n color: white;\\r\\n}\\r\\n.Logheader {\\r\\n background-color: #474747;\\r\\n color: #ffffff;\\r\\n height: 30px;\\r\\n \\r\\n}\\r\\nimg {\\r\\n height:25px;\\r\\n width: 25px;\\r\\n cursor: pointer;\\r\\n float: left;\\r\\n margin-top: -3px;\\r\\n\\r\\n}\\r\\n[mat-fab] {\\r\\n cursor: pointer;\\r\\n background-color: darkgray;\\r\\n max-height:47px;\\r\\n max-width: 47px;\\r\\n}\\r\\n.search {\\r\\n float: right;\\r\\n}\\r\\n[user] {\\r\\n /*margin-left: 18px;*/\\r\\n\\r\\n}\\r\\n[record]{\\r\\n /*min-width: 200px;*/\\r\\n text-align: left;\\r\\n /*padding-left: 13px;*/\\r\\n}\\r\\n[recordheader]{\\r\\n /*min-width: 200px; */\\r\\n}\\r\\nth,td{\\r\\n /*min-width: 160px;*/\\r\\n height: 30px;\\r\\n text-align: center;\\r\\n}\\r\\n.logheight{\\r\\n white-space: nowrap;\\r\\n height: 400px;\\r\\n}\\r\\n.mappings {\\r\\n min-width: 900px;\\r\\n min-height: 350px;\\r\\n}\\r\\n.mappings1{\\r\\n min-width: 400px;\\r\\n min-height: 150px;\\r\\n}\\r\\n.logwidth {\\r\\n min-width: 300px;\\r\\n}\\r\\ndiv,button,mat-form-field,mat-table{\\r\\n font-family: Open sans;\\r\\n}\\r\\n.tableClass {\\r\\n min-height: 350px;\\r\\n max-height: 350px;\\r\\n}\\r\\n.tableWithNoHeight {\\r\\n min-height: 40px;\\r\\n max-height: 40px;\\r\\n}\\r\\n.warningMsg{\\r\\ncolor: #ef5350;\\r\\ntext-align: center;\\r\\n}\\r\\n.mat-table {\\r\\n overflow: auto;\\r\\n /*min-height: 350px;\\r\\n max-height: 350px;*/\\r\\n max-width: 1000px;\\r\\n min-width: 1000px;\\r\\n}\\r\\nmat-header-row{\\r\\nbackground-color: \\t#474747;\\r\\nmin-height: 35px;\\r\\n position: -webkit-sticky;\\r\\n position: sticky;\\r\\n top: 0;\\r\\n}\\r\\nmat-row {\\r\\n border: 1;\\r\\n min-height: 30px;\\r\\n \\r\\n\\r\\n}\\r\\nmat-header-cell {\\r\\n margin-left: 10px;\\r\\n font-size: 14px;\\r\\n font-weight: 600;\\r\\n text-align: center;\\r\\n color: #FFFFFF;\\r\\n}\\r\\nmat-cell {\\r\\n /*margin-right: -24px;*/\\r\\n /*border-right: 1px solid #e1e1e1;;*/\\r\\n align-self: stretch;\\r\\n margin-left: 10px;\\r\\n /*text-align: center;*/\\r\\n padding-top:9px;\\r\\n}\\r\\n.close {\\r\\n color: #aaaaaa;\\r\\n float: right;\\r\\n font-size: 28px;\\r\\n font-weight: bold;\\r\\n cursor: pointer;\\r\\n margin-right: -2px;\\r\\n margin-top: -34px;\\r\\n top:0;\\r\\n right:0;\\r\\n}\\r\\nlabel{\\r\\n font-weight: 600;\\r\\n font-size: 15px;\\r\\n text-align: right;\\r\\n display: block;\\r\\n}\\r\\n.drpdownlabel{\\r\\n margin-top: 30px;\\r\\n}\\r\\n.top {\\r\\n margin-top:5px;\\r\\n}\\r\\n.aligntop {\\r\\n /* margin-top: -10px; */\\r\\n}\\r\\n.alignheader {\\r\\n text-align: center;\\r\\n margin-bottom:20px;\\r\\n}\\r\\n.successMsg{\\r\\ncolor: green;\\r\\ntext-align: center;\\r\\n}\\r\\n.asterik{\\r\\n color: #ef5350;\\r\\n font-size: 15px; \\r\\n}\\r\\n/*input.mat-input-element {\\r\\n margin-top: 0.20em;\\r\\n}*/\\r\\n.mat-column-Action { \\r\\n border-right: 1px solid #e1e1e1;\\r\\n /*align-self: stretch;*/\\r\\n text-align: center;\\r\\n}\\r\\n.mat-column-Previous {\\r\\n border-right: 1px solid #e1e1e1;\\r\\n /*align-self: stretch;*/\\r\\n /*text-align: center;*/\\r\\n}\\r\\n.mat-column-Current {\\r\\n border-right: 1px solid #e1e1e1;\\r\\n /*align-self: stretch;*/\\r\\n /*text-align: center;*/\\r\\n}\\r\\n.mat-column-User {\\r\\n border-right: 1px solid #e1e1e1;\\r\\n /*align-self: stretch;*/\\r\\n text-align: center;\\r\\n max-width: 130px;\\r\\n}\\r\\n.mat-column-Date {\\r\\n /*border-right: 1px solid #e1e1e1;*/\\r\\n /*align-self: stretch;*/\\r\\n text-align: center;\\r\\n}\\r\\nlabel\\r\\n {\\r\\n margin-top: 20px;\\r\\n font-size:smaller;\\r\\n }\\r\\n[matInput]{\\r\\n font-size: smaller;\\r\\n }\\r\\n.Addcolor {\\r\\n color: #ef5350 !important ;\\r\\n cursor: pointer !important ; \\r\\n }\\r\\n.removeColor {\\r\\n color: #ccc !important ;\\r\\n cursor: none !important ;\\r\\n }\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcG9pbnRlci9kaWFsb2cuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksc0JBQXNCO0lBQ3RCLFlBQVk7QUFDaEI7QUFDQTtJQUNJLHlCQUF5QjtJQUN6QixjQUFjO0lBQ2QsWUFBWTs7QUFFaEI7QUFDQTtJQUNJLFdBQVc7SUFDWCxXQUFXO0lBQ1gsZUFBZTtJQUNmLFdBQVc7UUFDUCxnQkFBZ0I7O0FBRXhCO0FBQ0E7R0FDRyxlQUFlO0VBQ2hCLDBCQUEwQjtDQUMzQixlQUFlO0NBQ2YsZUFBZTtBQUNoQjtBQUVBO0lBQ0ksWUFBWTtBQUNoQjtBQUNBO1FBQ1EscUJBQXFCOztBQUU3QjtBQUNBO0lBQ0ksb0JBQW9CO0lBQ3BCLGdCQUFnQjtJQUNoQixzQkFBc0I7QUFDMUI7QUFDQTtJQUNJLHdCQUF3QjtBQUM1QjtBQUNBO0lBQ0ksb0JBQW9CO0lBQ3BCLFlBQVk7SUFDWixrQkFBa0I7QUFDdEI7QUFDQTtJQUNJLG1CQUFtQjtJQUNuQixhQUFhO0FBQ2pCO0FBQ0E7Q0FDQyxnQkFBZ0I7Q0FDaEIsaUJBQWlCO0FBQ2xCO0FBQ0E7SUFDSSxnQkFBZ0I7SUFDaEIsaUJBQWlCO0FBQ3JCO0FBQ0E7TUFDTSxnQkFBZ0I7QUFDdEI7QUFDQTtLQUNLLHNCQUFzQjtBQUMzQjtBQUNBO0VBQ0UsaUJBQWlCO0VBQ2pCLGlCQUFpQjtBQUNuQjtBQUNBO0VBQ0UsZ0JBQWdCO0VBQ2hCLGdCQUFnQjtBQUNsQjtBQUdBO0FBQ0EsY0FBYztBQUNkLGtCQUFrQjtBQUNsQjtBQUNBO0VBQ0UsY0FBYztHQUNiO3FCQUNrQjtFQUNuQixpQkFBaUI7RUFDakIsaUJBQWlCO0FBQ25CO0FBQ0E7QUFDQSwwQkFBMEI7QUFDMUIsZ0JBQWdCO0VBQ2Qsd0JBQWdCO0VBQWhCLGdCQUFnQjtFQUNoQixNQUFNO0FBQ1I7QUFDQTtJQUNJLFNBQVM7SUFDVCxnQkFBZ0I7OztBQUdwQjtBQUNBO0lBQ0ksaUJBQWlCO0lBQ2pCLGVBQWU7SUFDZixnQkFBZ0I7RUFDbEIsa0JBQWtCO0VBQ2xCLGNBQWM7QUFDaEI7QUFDQTtJQUNJLHVCQUF1QjtLQUN0QixvQ0FBb0M7SUFDckMsbUJBQW1CO0lBQ25CLGlCQUFpQjtJQUNqQixzQkFBc0I7SUFDdEIsZUFBZTtBQUNuQjtBQUVBO0lBQ0ksY0FBYztJQUNkLFlBQVk7SUFDWixlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLGVBQWU7TUFDYixrQkFBa0I7SUFDcEIsaUJBQWlCO0tBQ2hCLEtBQUs7S0FDTCxPQUFPO0FBQ1o7QUFDQTtJQUNJLGdCQUFnQjtJQUNoQixlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLGNBQWM7QUFDbEI7QUFDQTtRQUNRLGdCQUFnQjtBQUN4QjtBQUNBO0lBQ0ksY0FBYztBQUNsQjtBQUNBO0lBQ0ksdUJBQXVCO0FBQzNCO0FBQ0E7SUFDSSxrQkFBa0I7SUFDbEIsa0JBQWtCO0FBQ3RCO0FBQ0E7QUFDQSxZQUFZO0FBQ1osa0JBQWtCO0FBQ2xCO0FBQ0E7RUFDRSxjQUFjO0VBQ2QsZUFBZTtBQUNqQjtBQUNBOztFQUVFO0FBQ0Y7S0FDSywrQkFBK0I7SUFDaEMsdUJBQXVCO0lBQ3ZCLGtCQUFrQjtBQUN0QjtBQUNBO0tBQ0ssK0JBQStCO0lBQ2hDLHVCQUF1QjtJQUN2QixzQkFBc0I7QUFDMUI7QUFDQTtLQUNLLCtCQUErQjtJQUNoQyx1QkFBdUI7SUFDdkIsc0JBQXNCO0FBQzFCO0FBQ0E7S0FDSywrQkFBK0I7SUFDaEMsdUJBQXVCO0lBQ3ZCLGtCQUFrQjtJQUNsQixnQkFBZ0I7QUFDcEI7QUFDQTtLQUNLLG1DQUFtQztJQUNwQyx1QkFBdUI7SUFDdkIsa0JBQWtCO0FBQ3RCO0FBQ0k7O1FBRUksZ0JBQWdCO1FBQ2hCLGlCQUFpQjtJQUNyQjtBQUVBO1FBQ0ksa0JBQWtCO0lBQ3RCO0FBRUE7UUFDSSwwQkFBMEI7UUFDMUIsMkJBQTJCO0tBQzlCO0FBQ0E7UUFDRyx1QkFBdUI7UUFDdkIsd0JBQXdCO0tBQzNCIiwiZmlsZSI6InNyYy9hcHAvcG9pbnRlci9kaWFsb2cuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiYnV0dG9ue1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ3JheTtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxufVxyXG4uTG9naGVhZGVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICM0NzQ3NDc7XHJcbiAgICBjb2xvcjogI2ZmZmZmZjtcclxuICAgIGhlaWdodDogMzBweDtcclxuICAgICBcclxufVxyXG5pbWcge1xyXG4gICAgaGVpZ2h0OjI1cHg7XHJcbiAgICB3aWR0aDogMjVweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC0zcHg7XHJcblxyXG59XHJcblttYXQtZmFiXSB7XHJcbiAgIGN1cnNvcjogcG9pbnRlcjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZ3JheTtcclxuIG1heC1oZWlnaHQ6NDdweDtcclxuIG1heC13aWR0aDogNDdweDtcclxufVxyXG5cclxuLnNlYXJjaCB7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbn1cclxuW3VzZXJdIHtcclxuICAgICAgICAvKm1hcmdpbi1sZWZ0OiAxOHB4OyovXHJcblxyXG59XHJcbltyZWNvcmRde1xyXG4gICAgLyptaW4td2lkdGg6IDIwMHB4OyovXHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgLypwYWRkaW5nLWxlZnQ6IDEzcHg7Ki9cclxufVxyXG5bcmVjb3JkaGVhZGVyXXtcclxuICAgIC8qbWluLXdpZHRoOiAyMDBweDsgICAgKi9cclxufVxyXG50aCx0ZHtcclxuICAgIC8qbWluLXdpZHRoOiAxNjBweDsqL1xyXG4gICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcbi5sb2doZWlnaHR7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgaGVpZ2h0OiA0MDBweDtcclxufVxyXG4ubWFwcGluZ3Mge1xyXG4gbWluLXdpZHRoOiA5MDBweDtcclxuIG1pbi1oZWlnaHQ6IDM1MHB4O1xyXG59XHJcbi5tYXBwaW5nczF7XHJcbiAgICBtaW4td2lkdGg6IDQwMHB4O1xyXG4gICAgbWluLWhlaWdodDogMTUwcHg7XHJcbn1cclxuLmxvZ3dpZHRoIHtcclxuICAgICAgbWluLXdpZHRoOiAzMDBweDtcclxufVxyXG5kaXYsYnV0dG9uLG1hdC1mb3JtLWZpZWxkLG1hdC10YWJsZXtcclxuICAgICBmb250LWZhbWlseTogT3BlbiBzYW5zO1xyXG59XHJcbi50YWJsZUNsYXNzIHtcclxuICBtaW4taGVpZ2h0OiAzNTBweDtcclxuICBtYXgtaGVpZ2h0OiAzNTBweDtcclxufVxyXG4udGFibGVXaXRoTm9IZWlnaHQge1xyXG4gIG1pbi1oZWlnaHQ6IDQwcHg7XHJcbiAgbWF4LWhlaWdodDogNDBweDtcclxufVxyXG5cclxuXHJcbi53YXJuaW5nTXNne1xyXG5jb2xvcjogI2VmNTM1MDtcclxudGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcbi5tYXQtdGFibGUge1xyXG4gIG92ZXJmbG93OiBhdXRvO1xyXG4gICAvKm1pbi1oZWlnaHQ6IDM1MHB4O1xyXG4gIG1heC1oZWlnaHQ6IDM1MHB4OyovXHJcbiAgbWF4LXdpZHRoOiAxMDAwcHg7XHJcbiAgbWluLXdpZHRoOiAxMDAwcHg7XHJcbn1cclxubWF0LWhlYWRlci1yb3d7XHJcbmJhY2tncm91bmQtY29sb3I6IFx0IzQ3NDc0NztcclxubWluLWhlaWdodDogMzVweDtcclxuICBwb3NpdGlvbjogc3RpY2t5O1xyXG4gIHRvcDogMDtcclxufVxyXG5tYXQtcm93IHtcclxuICAgIGJvcmRlcjogMTtcclxuICAgIG1pbi1oZWlnaHQ6IDMwcHg7XHJcbiBcclxuXHJcbn1cclxubWF0LWhlYWRlci1jZWxsIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbn1cclxubWF0LWNlbGwge1xyXG4gICAgLyptYXJnaW4tcmlnaHQ6IC0yNHB4OyovXHJcbiAgICAgLypib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZTFlMWUxOzsqL1xyXG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcclxuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgLyp0ZXh0LWFsaWduOiBjZW50ZXI7Ki9cclxuICAgIHBhZGRpbmctdG9wOjlweDtcclxufVxyXG5cclxuLmNsb3NlIHtcclxuICAgIGNvbG9yOiAjYWFhYWFhO1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgZm9udC1zaXplOiAyOHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogLTJweDtcclxuICAgIG1hcmdpbi10b3A6IC0zNHB4O1xyXG4gICAgIHRvcDowO1xyXG4gICAgIHJpZ2h0OjA7XHJcbn1cclxubGFiZWx7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxufVxyXG4uZHJwZG93bmxhYmVse1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbn1cclxuLnRvcCB7XHJcbiAgICBtYXJnaW4tdG9wOjVweDtcclxufVxyXG4uYWxpZ250b3Age1xyXG4gICAgLyogbWFyZ2luLXRvcDogLTEwcHg7ICovXHJcbn1cclxuLmFsaWduaGVhZGVyIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG1hcmdpbi1ib3R0b206MjBweDtcclxufVxyXG4uc3VjY2Vzc01zZ3tcclxuY29sb3I6IGdyZWVuO1xyXG50ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuLmFzdGVyaWt7XHJcbiAgY29sb3I6ICNlZjUzNTA7XHJcbiAgZm9udC1zaXplOiAxNXB4OyAgXHJcbn1cclxuLyppbnB1dC5tYXQtaW5wdXQtZWxlbWVudCB7XHJcbiAgIG1hcmdpbi10b3A6IDAuMjBlbTtcclxufSovXHJcbi5tYXQtY29sdW1uLUFjdGlvbiB7ICAgIFxyXG4gICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlMWUxZTE7XHJcbiAgICAvKmFsaWduLXNlbGY6IHN0cmV0Y2g7Ki9cclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG4ubWF0LWNvbHVtbi1QcmV2aW91cyB7XHJcbiAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2UxZTFlMTtcclxuICAgIC8qYWxpZ24tc2VsZjogc3RyZXRjaDsqL1xyXG4gICAgLyp0ZXh0LWFsaWduOiBjZW50ZXI7Ki9cclxufVxyXG4ubWF0LWNvbHVtbi1DdXJyZW50IHtcclxuICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZTFlMWUxO1xyXG4gICAgLyphbGlnbi1zZWxmOiBzdHJldGNoOyovXHJcbiAgICAvKnRleHQtYWxpZ246IGNlbnRlcjsqL1xyXG59XHJcbi5tYXQtY29sdW1uLVVzZXIge1xyXG4gICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlMWUxZTE7XHJcbiAgICAvKmFsaWduLXNlbGY6IHN0cmV0Y2g7Ki9cclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG1heC13aWR0aDogMTMwcHg7XHJcbn1cclxuLm1hdC1jb2x1bW4tRGF0ZSB7XHJcbiAgICAgLypib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZTFlMWUxOyovXHJcbiAgICAvKmFsaWduLXNlbGY6IHN0cmV0Y2g7Ki9cclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG4gICAgbGFiZWxcclxuICAgIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTpzbWFsbGVyO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBbbWF0SW5wdXRde1xyXG4gICAgICAgIGZvbnQtc2l6ZTogc21hbGxlcjtcclxuICAgIH1cclxuXHJcbiAgICAuQWRkY29sb3Ige1xyXG4gICAgICAgIGNvbG9yOiAjZWY1MzUwICFpbXBvcnRhbnQgO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50IDsgIFxyXG4gICAgIH1cclxuICAgICAucmVtb3ZlQ29sb3Ige1xyXG4gICAgICAgIGNvbG9yOiAjY2NjICFpbXBvcnRhbnQgO1xyXG4gICAgICAgIGN1cnNvcjogbm9uZSAhaW1wb3J0YW50IDtcclxuICAgICB9XHJcbiJdfQ== */\"","import { Component, OnInit, Inject } from '@angular/core';\nimport { DorseyService } from '../dorsey.service';\nimport { Http, Response } from '@angular/http';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { IfStmt } from '@angular/compiler';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatButton, MatDatepickerInputEvent } from '@angular/material';\nimport { FormControl } from '@angular/forms';\nimport { DatePipe } from '@angular/common'\nimport { strictEqual } from 'assert';\nimport { Observable } from 'rxjs';\nimport { map, startWith } from 'rxjs/operators';\nimport { LocalStorageService } from 'ngx-webstorage';\nimport { copyRight } from '../copyRight.model';\n\n@Component({\n selector: 'app-pointer',\n templateUrl: './pointer.component.html',\n // styleUrls: ['./pointer.component.scss'],\n providers: [DorseyService]\n})\nexport class PointerComponent implements OnInit {\n ErrorMessage: string;\n projectData: any;\n condition = false;\n status = false;\n employeeData: any;\n processData: any;\n activityData: any;\n pointerTypeData: any;\n frustrationtypeData: any;\n departmentData: any;\n teamData: any;\n severityData: any;\n statusData: any;\n\n EmployeeID: string;\n ProcessID: string;\n ActivityID: string;\n PointerTypeID = \"1\";\n FrustrationTypeID: string;\n DepartmentID: string;\n TeamID: string;\n StatusID: string;\n SeverityID: string;\n Subject: string;\n Description: string;\n PointerID: string;\n pointerData: any;\n tempActivity = [];\n tempFrustrationType = [];\n pointerFrustration: any;\n FrustrationTypeIDs = [];\n newPointer = false;\n ProjectID: string;\n searchtext: string\n\n p: number = 1;\n rowsOnPage = 10;\n rowsOnPageSet = [];\n rowCount: any;\n dynamicRows = 10;\n isDesc: boolean = false;\n column = \"\";\n direction: number;\n arrow = true;\n frustPaging = false;\n saveFilter = [];\n CompanyID: string;\n isDisable = false;\n disableSearch = false;\n currentUser: string;\n MenuPermissions: any;\n menuData: any;\n menuID: string;\n menuName: string;\n ParentID: any;\n subActivityStatus = false;\n SubActivityID: string;\n tempSubActivity = [];\n userTeamID: string;\n\n suggestionAssignTypes = false;\n loginCompanyName: any;\n empID: string;\n updatedDate = new Date();\n updatedBy: any;\n constructor(private http: Http, private dorseyService: DorseyService,\n public dialog: MatDialog, private storage: LocalStorageService) {\n this.CompanyID = this.storage.retrieve('companyID');\n this.userTeamID = this.storage.retrieve('TeamID');\n this.currentUser = this.storage.retrieve('user');\n this.menuData = this.storage.retrieve('menuData');\n this.MenuPermissions = this.storage.retrieve('MenuPermissions');\n this.loginCompanyName = this.storage.retrieve('loginCompanyName');\n\n this.empID = this.storage.retrieve('EmployeeID');\n }\n\n ngOnInit() {\n\n let tempdata = this.menuData;\n if (this.empID.toString() !== '0') {\n this.EmployeeID = this.empID;\n }\n else {\n this.EmployeeID = \"0\";\n }\n this.menuData = tempdata.filter(x => x.MenuName.toString().toLowerCase() === 'frustration');\n if (this.menuData.length > 0) {\n this.menuName = this.menuData[0][\"MenuName\"];\n this.menuID = this.menuData[0][\"MenuID\"];\n }\n\n this.GetProcess();\n this.GetActivity();\n this.GetEmployee();\n this.GetDepartment();\n this.GetPointerType();\n this.GetSeverity();\n this.GetStatus();\n this.GetTeam();\n this.GetFrustrationType();\n this.GetPointer();\n this.GetProjects();\n\n }\n OpenPointer() {\n this.newPointer = true;\n this.dialogCall('new');\n }\n\n\n Searchtext() {\n this.pointerFrustration = this.saveFilter;\n\n let tempFrust = this.pointerFrustration.filter(\n (item) => {\n return (\n (item.ProcessName !== null && item.ProcessName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.ActivityName !== null && item.ActivityName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.TeamName !== null && item.TeamName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.Subject !== null && item.Subject.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.Description !== null && item.Description.toLowerCase().indexOf(this.searchtext.toLowerCase()).trim() > -1) ||\n (item.ProjectName !== null && item.ProjectName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1)\n );\n }\n\n );\n this.pointerFrustration = tempFrust;\n if (this.pointerFrustration.length == 0) {\n // this.GetActivity();\n this.isDisable = true;\n }\n if (this.searchtext === '') {\n this.GetPointer();\n this.isDisable = false;\n }\n }\n\n GetPointer() {\n this.dorseyService.GetPointer(this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.pointerData = subData;\n this.pointerFrustration = this.pointerData.filter(x => x.PointerTypeID != null && x.PointerTypeID.toString() === \"1\")\n let tempFrustData = this.pointerFrustration;\n this.saveFilter = JSON.parse(JSON.stringify(this.pointerFrustration));\n this.rowCount = this.pointerFrustration.length;\n\n if (this.pointerFrustration.length === 0) {\n this.frustPaging = false;\n this.isDisable = true;\n this.disableSearch = true;\n }\n else {\n this.frustPaging = true;\n this.isDisable = false;\n this.disableSearch = false;\n if (this.userTeamID != '0' && this.userTeamID !== null && this.CompanyID !== '0') {\n this.pointerFrustration = tempFrustData.filter(x => x.TeamID.toString() === this.userTeamID.toString() && x.CompanyID === this.CompanyID);\n }\n else {\n this.pointerFrustration = tempFrustData.filter(x => x.CompanyID === this.CompanyID);\n }\n\n\n while (this.dynamicRows < this.rowCount) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 10;\n }\n if (!this.rowsOnPageSet.includes(this.rowCount)) this.rowsOnPageSet.push(this.rowCount);\n if (this.rowsOnPageSet.length === 1) {\n if (this.rowsOnPageSet[0] <= 10)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n }\n });\n }\n\n sort(property) {\n this.arrow = !this.arrow;\n this.isDesc = !this.isDesc; //change the direction \n this.column = property;\n this.direction = this.isDesc ? 1 : -1;\n }\n\n GetProjects() {\n this.dorseyService.GetProjects(this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.projectData = subData;\n\n });\n }\n GetEmployee() {\n this.dorseyService.GetEmployee(this.CompanyID).subscribe(subData => {\n\n subData = JSON.parse(subData['_body']);\n this.employeeData = subData;\n let temmEmployee = this.employeeData;\n\n if (this.TeamID != '0') {\n this.employeeData = temmEmployee.filter(x => x.TeamID === this.TeamID || x.CompanyID == this.CompanyID);\n } else {\n this.employeeData = temmEmployee.filter(x => x.CompanyID === this.CompanyID);\n }\n });\n }\n AddToProject() {\n this.newPointer = false;\n this.dialogCall('assign');\n }\n\n exportAsXLSX() {\n let allData = JSON.parse(JSON.stringify(this.pointerFrustration));\n for (let i = 0; i < allData.length; i++) {\n\n allData[i].Process = allData[i].ProcessName;\n allData[i].Activity = allData[i].ActivityName;\n allData[i].Team = allData[i].TeamName;\n allData[i][\"Issue ID\"] = allData[i].PointerID;\n allData[i].Type = allData[i].FrustrationsTypeName;\n allData[i].Project = allData[i].ProjectName;\n allData[i][\"Status\"] = allData[i].StatusName;\n allData[i][\"Severity\"] = allData[i].SeverityName;\n\n allData[i].Subject = allData[i].Subject;\n allData[i].Description = allData[i].Description;\n delete (allData[i].PointerID);\n delete (allData[i].ProcessName);\n delete (allData[i].ActivityName);\n delete (allData[i].TeamName);\n delete (allData[i].PointerID);\n delete (allData[i].FrustrationsTypeName);\n delete (allData[i].ProjectName);\n delete (allData[i].StatusName);\n delete (allData[i].SeverityName);\n delete (allData[i].SeverityID);\n delete (allData[i].EmployeeID);\n delete (allData[i].ActivityID);\n delete (allData[i].PointerTypeID);\n delete (allData[i].StatusID);\n delete (allData[i].DepartmentID);\n delete (allData[i].ProcessID)\n delete (allData[i].UpdatedDate);\n delete (allData[i].UpdatedBy);\n delete (allData[i].ProjectID)\n delete (allData[i].TeamID);\n delete (allData[i].FrustrationsTypeID);\n delete (allData[i].Date)\n\n delete (allData[i].IsActive);\n delete (allData[i].CreatedDate);\n delete (allData[i].CreatedBy)\n }\n\n // const json = {\n // data:allData\n // }\n // this.dorseyService.Export(json,this.loginCompanyName+'_frustration',this.loginCompanyName,'Frustration').subscribe(data=>{\n\n // });\n\n this.dorseyService.generateExcel(allData, this.loginCompanyName + '_frustration' + \"_\" + (new Date().getMonth() + 1) + '-' + new Date().getDate() + '-' + new Date().getFullYear(), 'Frustration', new Date(), this.loginCompanyName + \" Frustration Report\", copyRight, 'FFFFFF00', 'FF0000FF');\n\n\n // this.dorseyService.exportAsExcelFile(allData,this.loginCompanyName+'_frustration');\n }\n\n\n GetFrustrationType() {\n this.dorseyService.GetFrustrationType(\"1\", this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n\n let tempType: any;\n tempType = subData;\n if (tempType.length === 0) {\n this.suggestionAssignTypes = false;\n this.dorseyService.GetFrustrationType('1', \"0\").subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.frustrationtypeData = subData;\n });\n }\n else {\n this.frustrationtypeData = tempType;\n this.suggestionAssignTypes = true;\n }\n\n });\n\n\n }\n GetDepartment() {\n this.dorseyService.GetDepartment().subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.departmentData = subData;\n });\n }\n\n GetPointerType() {\n this.dorseyService.GetPointerType().subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.pointerTypeData = subData;\n });\n }\n GetStatus() {\n this.dorseyService.GetStatus().subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.statusData = subData;\n this.StatusID = this.statusData[0].StatusID;\n });\n }\n GetSeverity() {\n this.dorseyService.GetSeverity().subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.severityData = subData;\n });\n }\n\n GetTeam() {\n this.dorseyService.GetTeam(this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.teamData = subData;\n });\n }\n GetActivity() {\n this.dorseyService.GetActivity(this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.activityData = subData;\n });\n }\n GetProcess() {\n this.dorseyService.GetProcess(this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.processData = subData;\n let processTemp = this.processData;\n this.processData = processTemp.filter(x => x.TeamID !== 0);\n });\n }\n\n\n dialogCall(msg: string) {\n const dialogRef = this.dialog.open(PointerDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: msg + 'æææ' + false,\n });\n if (msg === 'new') {\n this.searchtext = '';\n this.GetPointer();\n }\n dialogRef.componentInstance.EmployeeID = this.EmployeeID;\n\n dialogRef.componentInstance.currentUser = this.currentUser;\n dialogRef.componentInstance.processData = this.processData;\n dialogRef.componentInstance.activityData = this.activityData;\n dialogRef.componentInstance.departmentData = this.departmentData;\n dialogRef.componentInstance.pointerTypeData = this.pointerTypeData;\n dialogRef.componentInstance.severityData = this.severityData;\n dialogRef.componentInstance.statusData = this.statusData;\n dialogRef.componentInstance.teamData = this.teamData;\n dialogRef.componentInstance.employeeData = this.employeeData;\n dialogRef.componentInstance.frustrationtypeData = this.frustrationtypeData;\n dialogRef.componentInstance.tempActivity = this.tempActivity;\n dialogRef.componentInstance.tempFrustrationType = this.tempFrustrationType;\n dialogRef.componentInstance.CompanyID = this.CompanyID;\n dialogRef.componentInstance.tempSubActivity = this.tempSubActivity;\n dialogRef.componentInstance.SubActivityID = this.SubActivityID;\n dialogRef.componentInstance.updatedBy = this.updatedBy;\n dialogRef.componentInstance.updatedDate = this.updatedDate\n if (msg === 'edit') {\n this.status = true;\n dialogRef.componentInstance.EmployeeID = this.EmployeeID;\n dialogRef.componentInstance.ProcessID = this.ProcessID;\n dialogRef.componentInstance.ActivityID = this.ActivityID;\n dialogRef.componentInstance.PointerTypeID = this.PointerTypeID;\n dialogRef.componentInstance.PointerID = this.PointerID;\n dialogRef.componentInstance.DepartmentID = this.DepartmentID;\n dialogRef.componentInstance.FrustrationTypeIDs = this.FrustrationTypeIDs;\n dialogRef.componentInstance.TeamID = this.TeamID;\n dialogRef.componentInstance.StatusID = this.StatusID;\n dialogRef.componentInstance.SeverityID = this.SeverityID;\n dialogRef.componentInstance.Subject = this.Subject;\n dialogRef.componentInstance.Description = this.Description;\n dialogRef.componentInstance.tempActivity = this.tempActivity;\n dialogRef.componentInstance.tempFrustrationType = this.tempFrustrationType;\n dialogRef.componentInstance.ProjectID = this.ProjectID;\n dialogRef.componentInstance.subActivityStatus = this.subActivityStatus;\n dialogRef.componentInstance.SubActivityID = this.SubActivityID;\n dialogRef.componentInstance.updatedBy = this.updatedBy\n dialogRef.componentInstance.updatedDate = this.updatedDate\n }\n\n dialogRef.afterClosed().subscribe(result => {\n\n\n if (this.searchtext !== '') {\n this.Searchtext();\n }\n else {\n this.GetFrustrationType();\n this.GetPointer();\n }\n\n if (result.toString() === 'true') {\n let statusMsg = '';\n if (msg === 'new' || msg != 'assign') {\n statusMsg = 'Saved successfully';\n this.dynamicRows = 10;\n this.rowsOnPageSet = [];\n this.GetPointer();\n }\n else {\n statusMsg = 'Updated successfully';\n\n }\n const dialogRefsub = this.dialog.open(PointerDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: statusMsg + 'æææ' + false,\n // width: '30%'\n });\n dialogRefsub.afterClosed().subscribe(result1 => {\n this.GetPointer();\n this.GetFrustrationType();\n // this.Searchtext();\n });\n }\n });\n }\n GetTempActivity(ProcessID: string) {\n this.tempActivity = [];\n for (let i = 0; i < this.activityData.length; i++) {\n if (this.activityData[i].ProcessID === ProcessID) {\n this.tempActivity.push(this.activityData[i]);\n }\n }\n }\n // GetFrustrations(PointerTypeID:string){\n // for(let i=0;i {\n if (result) {\n\n /// this.condition = true;\n this.dorseyService.DeletePointer(this.PointerID).subscribe(data => {\n\n if (data.ok) {\n this.ifMaxRow();\n this.condition = true;\n this.dialogCall('Deleted successfully');\n }\n this.dynamicRows = 10;\n this.rowsOnPageSet = [];\n this.GetPointer();\n });\n }\n });\n }\n\n\n\n}\n\n\n\n@Component({\n selector: 'app-dialog',\n templateUrl: 'dialog.html',\n // styleUrls: ['dialog.css'],\n providers: [DorseyService, DatePipe],\n})\nexport class PointerDialogComponent implements OnInit {\n suggestionAssignTypes = false;\n projectData: any;\n ProjectID: string;\n condition = false;\n status = false;\n employeeData: any;\n processData: any;\n activityData: any;\n pointerTypeData: any;\n frustrationtypeData: any;\n departmentData: any;\n teamData: any;\n severityData: any;\n statusData: any;\n dataSelf = '';\n EmployeeID: string;\n currentUser: string;\n ProcessID: string;\n ActivityID: string;\n PointerTypeID = \"1\";\n FrustrationTypeID: string;\n DepartmentID: string;\n TeamID: string;\n StatusID: string;\n SeverityID: string;\n Subject: string;\n Description: string;\n PointerID: string;\n tempActivity = [];\n tempFrustrationType = [];\n processCtrl = new FormControl();\n conditionActivity = '';\n filteredProcess: Observable;\n tempProcess: any;\n tempDepart: any;\n CompanyID: string;\n processTeamData: any;\n subActivityStatus = false;\n tempSubActivity = [];\n SubActivityID: string;\n typeAvai = false;\n FTextBoxType: string;\n FTextBoxType2: any;\n FrustrationTypeIDs = [];\n typeEdit = false;\n showDd = false;\n TypeIDS: any;\n pointerData: any;\n frustTypeName: any;\n editClick = false;\n notEdit = true;\n enableEdit = true;\n disableFrustType = false;\n updatedBy: any;\n updatedDate = new Date();\n constructor(public dialog: MatDialog,\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any, public dorseyService: DorseyService, private datepipe: DatePipe) {\n this.data = this.data.split('æææ');\n if (this.data[1] === 'true') {\n this.condition = true;\n } else if (this.data[1] === 'false') {\n this.condition = false;\n }\n else {\n if (this.data[1] === '') {\n this.conditionActivity = 'process';\n } else {\n this.conditionActivity = 'activity';\n }\n // if (this.data[1] === '') {\n // this.conditionActivity = 'process';\n // } else {\n // this.conditionActivity = 'activity';\n // }\n // }\n\n // else {\n // if(this.data[1]=='issue')\n // {\n // this.conditionActivity = '';\n // }\n }\n if (this.data[0] === 'new') {\n this.disableFrustType = false;\n } else {\n this.disableFrustType = true;\n }\n this.data = this.data[0];\n }\n\n ngOnInit() {\n let data = this.frustrationtypeData.filter(x => x.CompanyID.toString() === this.CompanyID.toString());\n if (data.length == 0) {\n this.suggestionAssignTypes = true;\n }\n else {\n this.typeAvai = false;\n this.suggestionAssignTypes = false;\n }\n this.GetStatus();\n if (this.SubActivityID) {\n this.GetTempSubActivity(this.ActivityID);\n }\n }\n GetStatus() {\n this.dorseyService.GetStatus().subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.statusData = subData;\n });\n }\n onYesClick() {\n this.dialogRef.close(true);\n }\n onNoClick(): void {\n this.dialogRef.close();\n }\n ToggleSubActivity() {\n this.subActivityStatus = !this.subActivityStatus;\n }\n\n AddPointer() {\n let count = 0;\n const Editcount = 0;\n\n if (this.ProcessID === undefined || //this.ActivityID === undefined ||this.EmployeeID === undefined || this.Description===''|| this.Description === undefined ||\n this.PointerTypeID === undefined || this.FrustrationTypeID === undefined ||\n this.TeamID === undefined || this.SeverityID === undefined || this.Subject == undefined || this.StatusID === undefined ||\n\n this.ProcessID === '' || // this.ActivityID === '' || this.EmployeeID === '' ||\n this.PointerTypeID === '' ||\n //this.FrustrationTypeIDs.length === 0 || \n this.TeamID === '' || this.SeverityID === '' || this.Subject.trim() === '' || this.StatusID === '' || this.FrustrationTypeID.length === 0) {\n\n this.dataSelf = 'Please enter mandatory(*) fields';\n if (this.data === 'new') {\n\n }\n count++;\n }\n\n if (count === 0 && Editcount === 0) {\n this.dataSelf = '';\n if (this.data === 'new') {\n\n this.Saving(this.data);\n } else {\n this.Saving(this.data);\n }\n }\n }\n frustrationTypesDa(event) {\n this.FrustrationTypeID = event.value;\n }\n Saving(msg: string) {\n if (this.ActivityID === '' || this.ActivityID === undefined) {\n this.ActivityID = \"0\";\n }\n\n if (this.ProjectID === '' || this.ProjectID === undefined || this.ProjectID === null) {\n this.ProjectID = \"0\";\n }\n let activityId: string;\n if (this.subActivityStatus) {\n activityId = this.SubActivityID\n }\n else {\n activityId = this.ActivityID;\n }\n const json = {\n CompanyID: this.CompanyID,\n PointerID: this.PointerID,\n EmployeeID: \"0\",\n ProessID: this.ProcessID,\n ActivityID: activityId,\n PointerTypeID: this.PointerTypeID,\n FrustrationsTypeID: this.FrustrationTypeID,\n DepartmentID: \"0\",\n TeamID: this.TeamID,\n SeverityID: this.SeverityID,\n StatusID: this.StatusID,\n Subject: this.Subject,\n Description: this.Description,\n CreatedBy: this.currentUser,\n UpdatedBy: this.currentUser,\n ProjectID: this.ProjectID,\n }\n if (msg === 'new') {\n\n this.dorseyService.SavePointer(json, 'No').subscribe(data => {\n\n if (data['_body'].toString() !== \"0\") {\n\n if (this.PointerTypeID.toString() === \"1\") {\n this.PointerID = data['_body'].toString();\n const caseData = {\n PointerID: this.PointerID,\n CreatedBy: this.currentUser,\n UpdatedBy: this.currentUser\n };\n this.dorseyService.SaveCase(caseData).subscribe(data => {\n if (data['_body'].toString() !== '0') {\n {\n\n }\n }\n });\n\n // this.dialogRef.close(true);\n this.dataSelf = 'Saved succesfully';\n // this.FrustrationTypeIDs=[];\n this.EmployeeID = '';\n this.DepartmentID = '';\n this.FrustrationTypeID = '';\n this.Subject = '';\n this.Description = '';\n this.SeverityID = '';\n this.StatusID = this.statusData[0].StatusID;\n this.PointerID = '';\n this.FTextBoxType2 = '';\n this.showDd = true;\n this.FrustrationTypeIDs = [];\n\n }\n else {\n this.dataSelf = 'Updated successfully';\n }\n }\n\n });\n } else {\n\n this.dorseyService.SavePointer(json, 'No').subscribe(data => {\n\n if (data['_body'].toString() !== '0') {\n this.dataSelf = 'Updated successfully';\n setTimeout(() => {\n this.dialogRef.close(true);\n }, 1000);\n } else {\n this.dataSelf = 'Updated failed';\n }\n });\n }\n }\n\n\n Clear() {\n this.dialogRef.close(false);\n }\n employee(event) {\n this.EmployeeID = event.value;\n let tempEmp = this.employeeData.filter(x => x.EmployeeID === this.EmployeeID);\n\n if (tempEmp.length > 0 && tempEmp.length === 1) {\n this.tempDepart = this.departmentData.filter(x => x.DepartmentID === tempEmp[0].DepartmentID);\n this.DepartmentID = this.tempDepart[0].DepartmentID;\n\n }\n }\n process(event) {\n this.ProcessID = event.value;\n this.tempActivity = [];\n this.GetTempActivity(this.ProcessID);\n\n\n for (let i = 0; i < this.processData.length; i++) {\n if (this.processData[i].ProcessID === this.ProcessID) {\n this.TeamID = this.processData[i]['TeamID'];\n\n }\n }\n\n }\n GetTempActivity(processID) {\n this.tempSubActivity = [];\n for (let i = 0; i < this.activityData.length; i++) {\n if (this.activityData[i].ProcessID === processID) {\n this.tempActivity.push(this.activityData[i]);\n }\n }\n }\n activity(event) {\n this.tempSubActivity = [];\n this.ActivityID = event.value;\n this.GetTempSubActivity(this.ActivityID);\n }\n\n GetTempSubActivity(ActivityID) {\n this.tempSubActivity = [];\n for (let i = 0; i < this.activityData.length; i++) {\n\n if (this.activityData[i].ParentID === ActivityID) {\n this.tempSubActivity.push(this.activityData[i]);\n }\n }\n }\n pointerType(event) {\n this.PointerTypeID = event.value;\n this.tempFrustrationType = [];\n this.GetTempFrastrations();\n }\n\n GetTempFrastrations() {\n for (let i = 0; i < this.frustrationtypeData.length; i++) {\n if (this.frustrationtypeData[i].PointerTypeID === this.PointerTypeID) {\n this.tempFrustrationType.push(this.frustrationtypeData[i]);\n }\n }\n }\n\n frustrationType(event) {\n this.FrustrationTypeIDs = event.value;\n\n let data = this.frustrationtypeData.filter(x => x.FrustrationsTypeID === this.FrustrationTypeIDs);\n if (data.length > 0) {\n this.FrustrationTypeIDs = data[0];\n }\n\n this.enableEdit = false;\n if (!this.notEdit) {\n this.typeEdit = true;\n }\n }\n frustrationTypes(event) {\n this.FrustrationTypeIDs = event.value;\n }\n department(event) {\n this.DepartmentID = event.value;\n }\n\n team(event) {\n this.TeamID = event.value;\n\n }\n\n GetKeyProcessTeam(TeamID) {\n this.dorseyService.GetKeyProcessTeam().subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.processTeamData = subData;\n for (let i = 0; i < this.processTeamData.length; i++) {\n if (this.processTeamData[i].TeamID === TeamID) {\n this.tempProcess.push(this.processTeamData[i]);\n }\n }\n });\n }\n\n severity(event) {\n this.SeverityID = event.value;\n }\n\n statusChange(event) {\n this.StatusID = event.value;\n }\n\n AddType() {\n // console.log(\"addtype\");\n this.typeAvai = true;\n }\n CancelType() {\n this.FTextBoxType = '';\n this.typeAvai = false;\n // this.suggestionAssignTypes=false;\n // this.GetFrustrationType();\n this.typeEdit = false;\n // this.notEdit = true;\n // this.enableEdit=true;\n }\n SaveType() {\n // console.log(this.PointerTypeID);\n let count = 0;\n const Editcount = 0;\n\n if (this.FTextBoxType === undefined || this.FTextBoxType.trim() === '') {\n\n this.dataSelf = 'Please enter mandatory(*) fields';\n if (this.data === 'new') {\n\n }\n count++;\n }\n\n if (count === 0 && Editcount === 0) {\n this.dataSelf = '';\n if (this.data === 'new') {\n\n this.SaveTypeDetails(this.data);\n } else {\n this.SaveTypeDetails(this.data);\n }\n } else {\n\n }\n\n }\n\n SaveTypeDetails(msg: string) {\n // console.log(this.FrustrationTypeIDs);\n if (this.FTextBoxType !== undefined || this.FTextBoxType !== '') {\n this.FrustrationTypeIDs = [];\n if (msg === 'new') {\n this.FrustrationTypeIDs.push(this.FTextBoxType);\n // console.log(this.FrustrationTypeIDs);\n this.TypeIDS = this.FrustrationTypeIDs\n }\n\n if (msg === 'edit') {\n // console.log(this.frustrationtypeData);\n // console.log(this.FTextBoxType2);\n this.FrustrationTypeIDs.push(this.FTextBoxType2.FrustrationsTypeName);\n // console.log(this.FrustrationTypeIDs);\n this.TypeIDS = this.FrustrationTypeIDs[0].FrustrationsTypeName;\n }\n }\n\n const json = {\n FrustrationsTypeID: this.FrustrationTypeIDs[0].FrustrationsTypeID,\n CompanyID: this.CompanyID,\n TypeIDS: this.TypeIDS,\n CreatedBy: this.currentUser,\n PointerTypeID: 1\n }\n if (msg === 'new') {\n // console.log(json);\n this.dorseyService.SaveTypes(json, 'No').subscribe(data => {\n // console.log(data['_body'].toString());\n if (data['_body'].toString() === 'true') {\n // console.log(data['_body']);\n this.GetFrustrationType();\n this.FTextBoxType = '';\n this.enableEdit = true;\n this.dataSelf = 'Frustration type saved successfully';\n this.typeAvai = false;\n // this.suggestionAssignTypes=false;\n // this.dialogRef.close(true);\n\n } else {\n this.dataSelf = 'Frustration type saved failed';\n }\n\n });\n }\n else {\n this.dorseyService.SaveTypes(json, 'No').subscribe(data => {\n // console.log(data['_body']);\n if (data['_body'].toString() === 'true') {\n\n\n this.dataSelf = 'Frustration type updated successfully';\n setTimeout(() => {\n this.dataSelf = '';\n }, 2000);\n this.typeAvai = false;\n this.GetFrustrationType();\n // this.FTextBoxType='';\n\n } else {\n this.dataSelf = 'Frustration type updated failed';\n }\n });\n }\n\n }\n\n EditableType() {\n this.typeEdit = true;\n\n\n // if(this.FTextBoxType2 === undefined || this.FTextBoxType2 === ''){\n // this.dataSelf = \"Select Frustration Type in dropdown\";\n // setTimeout(() => {\n // this.dataSelf='';\n // }, 2000);\n // }else{\n // this.notEdit = false;\n // this.editClick=true;\n // // this.EditType();\n // this.dataSelf='';\n // }\n }\n\n EditType() {\n\n if (this.FTextBoxType2.FrustrationsTypeName === undefined || this.FTextBoxType2.FrustrationsTypeName === '') {\n this.dataSelf = \"Please enter mandatory(*) fields\"\n } else {\n //console.log(element);\n // console.log(this.FrustrationTypeIDs);\n //this.showDd=true;\n this.SaveTypeDetails('edit');\n this.typeEdit = false;\n // this.FTextBoxType= ''\n }\n\n\n }\n\n GetPointer() {\n this.dorseyService.GetPointer(this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.pointerData = subData;\n });\n }\n\n\n DeleteType(element, name) {\n\n const dialogRef = this.dialog.open(PointerDialogComponent2, {\n\n panelClass: 'custom-dialog-container',\n data: 'Are you sure you want to delete frustation type:' + name + '?æææ' + true,\n // width: '40%'\n });\n // this.condition = true;\n\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n // console.log(this.FrustrationTypeIDs);\n // console.log(element);\n for (let i = 0; i < this.FrustrationTypeIDs.length; i++) {\n this.FrustrationTypeID = this.FrustrationTypeIDs[i].FrustrationsTypeID;\n // console.log(this.FrustrationTypeID);\n }\n this.GetPointer();\n let issueCount = 0;\n setTimeout(() => {\n // console.log(this.pointerData);\n for (let i = 0; i < this.pointerData.length; i++) {\n // console.log(element, this.pointerData[i].FrustrationsTypeID);\n if (element == this.pointerData[i].FrustrationsTypeID) {\n issueCount++;\n }\n\n\n }\n\n /// this.condition = true;\n // console.log(!issueCount);\n if (!issueCount) {\n // console.log(\"****\");\n this.dorseyService.DeleteType(element).subscribe(data => {\n //alert('Are you sure ');\n this.notEdit = true;\n this.dataSelf = \"Deleted successfully\";\n if (data.ok) {\n this.condition = true;\n // this.dialogCall('Deleted successfully');\n }\n this.GetFrustrationType();\n this.FTextBoxType = '';\n });\n\n } else {\n this.dataSelf = \"This frustration type is in use\";\n }\n\n }, 500);\n\n\n }\n });\n\n\n\n\n\n this.typeEdit = false;\n }\n Tranfer() {\n\n const json = {\n CompanyID: this.CompanyID,\n TypeIDS: JSON.stringify(this.FrustrationTypeIDs),\n CreatedBy: this.currentUser,\n PointerTypeID: 1\n }\n\n this.dorseyService.SaveTypes(json, 'No').subscribe(data => {\n // console.log(data['_body'].toString());\n if (data['_body'].toString() === 'true') {\n\n\n this.GetFrustrationType();\n // this.dialogRef.close(true);\n this.dataSelf = 'Frustration type saved successfully';\n setTimeout(() => {\n this.dataSelf = '';\n }, 2000);\n } else {\n this.dataSelf = 'Frustration type saved failed';\n setTimeout(() => {\n this.dataSelf = '';\n }, 2000);\n }\n\n });\n }\n GetFrustrationType() {\n this.dorseyService.GetFrustrationType(\"1\", this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n\n let tempType: any;\n tempType = subData;\n // console.log(tempType);\n if (tempType.length === 0) {\n this.suggestionAssignTypes = true;\n this.dorseyService.GetFrustrationType('1', \"0\").subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.frustrationtypeData = subData;\n // console.log(this.frustrationtypeData)\n });\n }\n else {\n this.frustrationtypeData = tempType;\n this.suggestionAssignTypes = false;\n }\n\n });\n\n\n }\n\n}\n\n\n@Component({\n selector: 'app-dialog',\n templateUrl: 'dialog.html',\n styleUrls: ['dialog.css'],\n providers: [DorseyService]\n})\nexport class PointerDialogComponent2 implements OnInit {\n condition = false;\n processData: any;\n //ProcessID:string;\n dataSelf: string;\n TeamName: string;\n TeamID: string;\n teamData: any;\n CompanyID: string;\n currentUser: string;\n TeamDescription: string;\n processIDs = [];\n updatedBy: any;\n updatedDate = new Date();\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any, public dorseyService: DorseyService) {\n // dialogRef.disableClose=true;\n this.data = this.data.split('æææ');\n if (this.data[1] === 'true') {\n this.condition = true;\n } else {\n this.condition = false;\n }\n this.data = this.data[0];\n }\n ngOnInit() {\n\n }\n onYesClick() {\n this.dialogRef.close(true);\n }\n onNoClick(): void {\n this.dialogRef.close();\n }\n\n Clear() {\n this.dialogRef.close(false);\n }\n\n}\n","module.exports = \".dialogHead{\\r\\n display: flex;\\r\\n width: 100%;\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n justify-content: space-between;\\r\\n}\\r\\n\\r\\n.infoHead{\\r\\nflex:2;\\r\\ndisplay:flex;\\r\\n}\\r\\n\\r\\n.companyInfo{\\r\\nflex: 2;\\r\\n}\\r\\n\\r\\n.teamInfo{\\r\\n flex: 1;\\r\\n }\\r\\n\\r\\n.teamInfo{\\r\\n padding-left: 10px;\\r\\n }\\r\\n\\r\\n.ActionButton{\\r\\n flex: 1;\\r\\n display: flex;\\r\\n justify-content: flex-end;\\r\\n}\\r\\n\\r\\n.ActionButton div{\\r\\nmargin: 10px;\\r\\n}\\r\\n\\r\\n.XBtn{\\r\\n display: flex;\\r\\n justify-content: flex-end;\\r\\n position: relative;\\r\\n padding: 0;\\r\\n margin-top: -15px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.Xbtn .close{\\r\\ncursor: pointer !important;\\r\\n}\\r\\n\\r\\n@media (max-width:916px){\\r\\n.dialogHead{\\r\\n flex-direction: column;\\r\\n}\\r\\n.ActionButton{\\r\\n flex: 1;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n}\\r\\n\\r\\n}\\r\\n\\r\\n@media (max-width:916px){\\r\\n .dialogHead{\\r\\n flex-direction: column;\\r\\n }\\r\\n .ActionButton{\\r\\n flex: 1;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n }\\r\\n \\r\\n }\\r\\n\\r\\n@media (max-width:576px){\\r\\n \\r\\n .dialogHead, .ActionButton, .infoHead{\\r\\n flex-direction: column;\\r\\n }\\r\\n\\r\\n .teamInfo{\\r\\n padding-left: 0;\\r\\n }\\r\\n\\r\\n .ActionButton {\\r\\n margin-top: 10px;\\r\\n }\\r\\n\\r\\n .ActionButton div{\\r\\n margin: 0;\\r\\n }\\r\\n \\r\\n}\\r\\n\\r\\n.mappings, .mappings1 {\\r\\n min-width: 700px;\\r\\n min-height: 200px;\\r\\n}\\r\\n\\r\\n[tble] table {\\r\\n width:100%;\\r\\n font-size: smaller;\\r\\n}\\r\\n\\r\\n[tble] th,td{\\r\\n align-content: center;\\r\\n text-align: left;\\r\\n font-size: smaller;\\r\\n}\\r\\n\\r\\n.btn-info{\\r\\n background-color:#3775b5 !important;\\r\\n}\\r\\n\\r\\n.redstar{\\r\\n margin-right: 3px;\\r\\n}\\r\\n\\r\\n.circlelg {\\r\\n width: 17px;\\r\\n height: 17px;\\r\\n border-radius: 50%;\\r\\n font-size: 10px;\\r\\n font-weight: bold;\\r\\n color: white;\\r\\n border: 2px solid white;\\r\\n text-align: center;\\r\\n \\r\\n}\\r\\n\\r\\n.frustrationbg {\\r\\n background-color: #d55632;\\r\\n}\\r\\n\\r\\n.metricsbg {\\r\\n background-color: #4aabe7;\\r\\n}\\r\\n\\r\\n[tble] th {\\r\\n color:white; \\r\\nbackground-color: \\t#474747;\\r\\nheight: 35px;\\r\\n font-size: 13px;\\r\\n}\\r\\n\\r\\n[tble] td {\\r\\n height: 35px;\\r\\n font-size: 13px;\\r\\n}\\r\\n\\r\\n[tble] table {\\r\\n border-collapse: collapse;\\r\\n \\r\\n}\\r\\n\\r\\n[tble] table, th, td {\\r\\n border: 0px solid #e1e1e1;\\r\\n overflow:hidden;\\r\\n word-wrap:break-word;\\r\\n}\\r\\n\\r\\n[tble] table.fixed { table-layout:fixed; }\\r\\n\\r\\n[tble] table.fixed td { overflow: hidden; }\\r\\n\\r\\n[tble1] table {\\r\\n width:100%;\\r\\n font-size: smaller;\\r\\n}\\r\\n\\r\\n[tble1] th,td{\\r\\nalign-content: center;\\r\\n text-align: left;\\r\\n font-size: smaller;\\r\\n}\\r\\n\\r\\n[tble1] th {\\r\\ncolor:white; \\r\\nbackground-color: \\t#474747;\\r\\nheight: 35px;\\r\\nfont-size: 13px;\\r\\n}\\r\\n\\r\\n[tble1] td {\\r\\n height: 35px;\\r\\n font-size: 13px;\\r\\n}\\r\\n\\r\\n[tble1] table {\\r\\n border-collapse: collapse;\\r\\n \\r\\n}\\r\\n\\r\\n[tble1] table, th, td {\\r\\n border: 0px solid #e1e1e1;\\r\\n overflow:hidden;\\r\\n word-wrap:break-word;\\r\\n}\\r\\n\\r\\n[tble1] table.fixed { table-layout:fixed; }\\r\\n\\r\\n[tble1] table.fixed td { overflow: hidden; }\\r\\n\\r\\n.highlight td {background: #C0C0C0;}\\r\\n\\r\\n.fa{\\r\\n font-size: 18px; \\r\\n}\\r\\n\\r\\n.fa-square-o{\\r\\n font-size:24px\\r\\n}\\r\\n\\r\\n.fa-plus{\\r\\nfont-size: 13px;\\r\\n}\\r\\n\\r\\n.dots {\\r\\n flex-wrap: wrap;\\r\\n}\\r\\n\\r\\ninput {\\r\\n width: 181%;\\r\\n}\\r\\n\\r\\n.square {\\r\\n padding: 0px;\\r\\n background-color: #3775b5;\\r\\n color: white;\\r\\n text-align: center;\\r\\n cursor: pointer;\\r\\n border-radius: 5px;\\r\\n border: 2px solid #3775b5;\\r\\n font-size: 13px;\\r\\n font-weight: bold;\\r\\n box-shadow: 0px 8px 3px 0px #265382;\\r\\n font-family: unset;\\r\\n}\\r\\n\\r\\n.squareActvty {\\r\\n padding: 0px;\\r\\n background-color: #FFFFCC;\\r\\n color: black;\\r\\n text-align: center;\\r\\n cursor: pointer;\\r\\n border: 2px solid #FFFFCC;\\r\\n border-radius: 5px;\\r\\n word-break: break-word;\\r\\n width: 100px;\\r\\n box-shadow: 3px 3px 3px\\r\\n }\\r\\n\\r\\n[squareBox] {\\r\\n padding-top: 6%;\\r\\n padding-right: 2%;\\r\\n }\\r\\n\\r\\n.squareInActvty {\\r\\n padding: 3px;\\r\\n background-color: #e2e3e4;\\r\\n color: black;\\r\\n text-align: left;\\r\\n cursor: pointer;\\r\\n border: 2px solid #e2e3e4;\\r\\n border-radius: 5px;\\r\\n font-size: 12px;\\r\\n word-break: break-word;\\r\\n font-family: unset;\\r\\n \\r\\n }\\r\\n\\r\\n.squareExActvty {\\r\\n padding: 3px;\\r\\n background-color: #a3cda2;\\r\\n color: black;\\r\\n text-align: left;\\r\\n cursor: pointer;\\r\\n border: 2px solid #a3cda2;\\r\\n border-radius: 5px;\\r\\n font-size: 12px;\\r\\n word-break: break-word;\\r\\n \\r\\n }\\r\\n\\r\\n.squareKPI {\\r\\n padding-left: 9%;\\r\\n padding-right: 7px;\\r\\n background-color: #6ADAFF;\\r\\n color: white;\\r\\n text-align: center;\\r\\n border-radius: 5px;\\r\\n font-size: 17px;\\r\\n width: 25px;\\r\\n cursor: pointer;\\r\\n }\\r\\n\\r\\n.squareKPI1 {\\r\\n background-color: #6ADAFF;\\r\\n color: white;\\r\\n text-align: center;\\r\\n border-radius: 5px;\\r\\n font-size: 11px;\\r\\n border-radius: 5px;\\r\\n cursor: pointer;\\r\\n }\\r\\n\\r\\n.squareKPI2 {\\r\\n border: 2px solid white;\\r\\n height: 17px;\\r\\n width: 17px;\\r\\n background-color: #4aabe7;\\r\\n border-radius: 50%;\\r\\n display: inline-block;\\r\\n text-align: center;\\r\\n color: white;\\r\\n font-size: 10px;\\r\\n margin-left: 6px;\\r\\n font-weight:bold;\\r\\n /* margin-top: 29px; */\\r\\n margin-left: 1px;\\r\\n }\\r\\n\\r\\n.squareIssue {\\r\\n background-color: #FFAAE3;\\r\\n color: white;\\r\\n text-align: center;\\r\\n cursor: pointer;\\r\\n width: 25px;\\r\\n word-wrap: break-word;\\r\\n word-break: break-all;\\r\\n border-radius: 5px;\\r\\n font-size: 17px;\\r\\n }\\r\\n\\r\\n.squareIssue1 {\\r\\n border: 2px solid white;\\r\\n height: 17px;\\r\\n width: 17px;\\r\\n background-color: #d55632;\\r\\n border-radius: 50%;\\r\\n display: inline-block;\\r\\n text-align: center;\\r\\n color: white;\\r\\n font-size: 10px;\\r\\n margin-left: 6px;\\r\\n font-weight:bold;\\r\\n /* margin-top: 29px; */\\r\\n }\\r\\n\\r\\n.circleM {\\r\\n height: 10%;\\r\\n width: 10%;\\r\\n background-color: #6ADAFF;\\r\\n border-radius: 50%;\\r\\n text-align: center;\\r\\n color: white;\\r\\n padding: 0px 5px;\\r\\n }\\r\\n\\r\\n.circleI {\\r\\n height: 40%;\\r\\n width: 5%;\\r\\n /* background-color: #EF74FC; */\\r\\n border-radius: 50%;\\r\\n text-align: center;\\r\\n padding: 0px 0px;\\r\\n font-size: 12px;\\r\\n margin-left: 5px;\\r\\n }\\r\\n\\r\\n.circleI .fa-lg{\\r\\n margin-left: -8px;\\r\\n }\\r\\n\\r\\ntable td,\\r\\n th {\\r\\n font-size: 10px;\\r\\n }\\r\\n\\r\\n.squareIssues {\\r\\n background-color: #f7aaa3;\\r\\n border: 2px solid #f7aaa3;\\r\\n color: black;\\r\\n text-align: center;\\r\\n cursor: pointer;\\r\\n border-radius: 5px;\\r\\n font-size: 11px;\\r\\n word-break: break-word;\\r\\n box-shadow: 0 3px 3px 0px #d55632;\\r\\n width: 270px;\\r\\n }\\r\\n\\r\\n.squareM {\\r\\n background-color: #4aabe7;\\r\\n border: 2px solid #4aabe7;\\r\\n color: black;\\r\\n text-align: center;\\r\\n cursor: pointer;\\r\\n border-radius: 5px;\\r\\n font-size: 11px;\\r\\n word-break: break-word;\\r\\n box-shadow: 0 3px 3px 0px #4aabe7;\\r\\n /* width:100px; */\\r\\n width: 270px;\\r\\n }\\r\\n\\r\\n.circleS {\\r\\n background-color: #d9c25a;\\r\\n border-radius: 15px;\\r\\n text-align: center;\\r\\n color: white;\\r\\n padding: 0px 5px;\\r\\n width: 12px;\\r\\n height: 12px;\\r\\n border: 1px solid white;\\r\\n margin-top: 3px;\\r\\n }\\r\\n\\r\\n.warningMsg{\\r\\n color: red;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.Addcolor {\\r\\n color: #ef5350 !important ;\\r\\n cursor: pointer !important ; \\r\\n}\\r\\n\\r\\n.removeColor {\\r\\n color: #ccc !important ;\\r\\n cursor: none !important ;\\r\\n}\\r\\n\\r\\n#Rowcontainer{\\r\\n display: flex;\\r\\n margin: 0;\\r\\n margin-top: -10px;\\r\\n margin-bottom: -10px;\\r\\n padding: 0;\\r\\n justify-content: space-between;\\r\\n \\r\\n\\r\\n}\\r\\n\\r\\n.tableDiv{\\r\\n overflow: auto;\\r\\n max-height: 70vh;\\r\\n}\\r\\n\\r\\n.tableDiv td{\\r\\n padding-right: 5px;\\r\\n}\\r\\n\\r\\n.tableDiv th{\\r\\n min-width: 100px !important;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.tableDiv::-webkit-scrollbar {\\r\\n width: 4px;\\r\\n}\\r\\n\\r\\n.offset-1{\\r\\n margin-left: 0%;\\r\\n}\\r\\n\\r\\n#Rowheading{\\r\\n flex: 1;\\r\\n text-align: center;\\r\\n flex-basis: 30%;\\r\\n}\\r\\n\\r\\n#Rowwrapper{\\r\\nflex: 2;\\r\\n}\\r\\n\\r\\n#RowtableActions{\\r\\ndisplay: flex;\\r\\n\\r\\njustify-content: center;\\r\\n\\r\\n}\\r\\n\\r\\n#field, #buttonview{\\r\\n margin: 2%;\\r\\n \\r\\n}\\r\\n\\r\\n#Rowheadingsmap{\\r\\n flex: 1;\\r\\n text-align: center;\\r\\n flex-basis: 30%;\\r\\n font-size: 14px;\\r\\n margin-left: -3%;\\r\\n}\\r\\n\\r\\n#buttonviewsmap{\\r\\n margin-right: 2%;\\r\\n \\r\\n}\\r\\n\\r\\n/* #searchField{\\r\\n width: 100%;\\r\\n} */\\r\\n\\r\\n/********For Mobile view ********/\\r\\n\\r\\n@media (max-width:576px){\\r\\n *{\\r\\n box-sizing: border-box;\\r\\n }\\r\\n\\r\\n table{\\r\\n margin: 2%;\\r\\n }\\r\\n\\r\\n #Rowcontainer{\\r\\n display: flex;\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n flex-direction: column;\\r\\n justify-content: left;\\r\\n \\r\\n margin: 2%;\\r\\n \\r\\n }\\r\\n\\r\\n #Rowwrapper{\\r\\n width: 100%;\\r\\n }\\r\\n \\r\\n #RowtableActions{\\r\\n display: flex;\\r\\n width: 100%;\\r\\n flex-direction: column;\\r\\n justify-content: center;\\r\\n \\r\\n }\\r\\n #Rowheading{\\r\\n \\r\\n \\r\\n }\\r\\n \\r\\n\\r\\n.btn{\\r\\n width: 100%;\\r\\n \\r\\n }\\r\\n .mappings {\\r\\n min-width: 280px;\\r\\n min-height: 75px;\\r\\n }\\r\\n #btnmob{\\r\\n margin: 2%;\\r\\n }\\r\\n \\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcHJvY2Vzcy1tYXAvZGlhbG9nLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGFBQWE7RUFDYixXQUFXO0VBQ1gsU0FBUztFQUNULFVBQVU7RUFDViw4QkFBOEI7QUFDaEM7O0FBRUE7QUFDQSxNQUFNO0FBQ04sWUFBWTtBQUNaOztBQUVBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0VBQ0UsT0FBTztFQUNQOztBQUVBO0lBQ0Usa0JBQWtCO0VBQ3BCOztBQUVGO0VBQ0UsT0FBTztFQUNQLGFBQWE7RUFDYix5QkFBeUI7QUFDM0I7O0FBRUE7QUFDQSxZQUFZO0FBQ1o7O0FBRUE7RUFDRSxhQUFhO0VBQ2IseUJBQXlCO0VBQ3pCLGtCQUFrQjtFQUNsQixVQUFVO0VBQ1YsaUJBQWlCO0VBQ2pCLGVBQWU7QUFDakI7O0FBQ0E7QUFDQSwwQkFBMEI7QUFDMUI7O0FBRUE7QUFDQTtFQUNFLHNCQUFzQjtBQUN4QjtBQUNBO0VBQ0UsT0FBTztFQUNQLGFBQWE7RUFDYix1QkFBdUI7QUFDekI7O0FBRUE7O0FBRUE7RUFDRTtJQUNFLHNCQUFzQjtFQUN4QjtFQUNBO0lBQ0UsT0FBTztJQUNQLGFBQWE7SUFDYix1QkFBdUI7RUFDekI7O0VBRUE7O0FBRUY7O0VBRUU7SUFDRSxzQkFBc0I7RUFDeEI7O0VBRUE7SUFDRSxlQUFlO0VBQ2pCOztFQUVBO0lBQ0UsZ0JBQWdCO0VBQ2xCOztFQUVBO0lBQ0UsU0FBUztJQUNUOztBQUVKOztBQUdBO0NBQ0MsZ0JBQWdCO0NBQ2hCLGlCQUFpQjtBQUNsQjs7QUFDQTtJQUNJLFVBQVU7SUFDVixrQkFBa0I7QUFDdEI7O0FBQ0E7RUFDRSxxQkFBcUI7SUFDbkIsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtBQUN0Qjs7QUFDQTtFQUNFLG1DQUFtQztBQUNyQzs7QUFDQTtFQUNFLGlCQUFpQjtBQUNuQjs7QUFHRTtJQUNFLFdBQVc7SUFDWCxZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLGVBQWU7SUFDZixpQkFBaUI7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QixvQkFBb0I7RUFDcEIsVUFBVTtFQUNWLDhCQUE4Qjs7O0FBR2hDOztBQUVBO0VBQ0UsY0FBYztFQUNkLGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLDJCQUEyQjtFQUMzQixlQUFlO0FBQ2pCOztBQUVBO0VBQ0UsVUFBVTtBQUNaOztBQU1BO0VBQ0UsZUFBZTtBQUNqQjs7QUFDQTtFQUNFLE9BQU87RUFDUCxrQkFBa0I7RUFDbEIsZUFBZTtBQUNqQjs7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFDQTtBQUNBLGFBQWE7O0FBRWIsdUJBQXVCOztBQUV2Qjs7QUFFQTtFQUNFLFVBQVU7O0FBRVo7O0FBRUE7RUFDRSxPQUFPO0VBQ1Asa0JBQWtCO0VBQ2xCLGVBQWU7RUFDZixlQUFlO0VBQ2YsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0UsZ0JBQWdCOztBQUVsQjs7QUFFQTs7R0FFRzs7QUFFSCxpQ0FBaUM7O0FBQ2pDO0VBQ0U7TUFDSSxzQkFBc0I7RUFDMUI7O0VBRUE7TUFDSSxVQUFVO0VBQ2Q7O0NBRUQ7S0FDSSxhQUFhO0tBQ2IsU0FBUztLQUNULFVBQVU7S0FDVixzQkFBc0I7S0FDdEIscUJBQXFCOztLQUVyQixVQUFVOztDQUVkOztDQUVBO0tBQ0ksV0FBVztDQUNmOztDQUVBO0NBQ0EsYUFBYTtDQUNiLFdBQVc7Q0FDWCxzQkFBc0I7Q0FDdEIsdUJBQXVCOztDQUV2QjtFQUNDOzs7Q0FHRDs7O0FBR0Q7S0FDSyxXQUFXOztDQUVmO0NBQ0E7RUFDQyxnQkFBZ0I7RUFDaEIsZ0JBQWdCO0NBQ2pCO0NBQ0E7R0FDRSxVQUFVO0NBQ1o7O0FBRUQiLCJmaWxlIjoic3JjL2FwcC9wcm9jZXNzLW1hcC9kaWFsb2cuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmRpYWxvZ0hlYWR7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbn1cclxuXHJcbi5pbmZvSGVhZHtcclxuZmxleDoyO1xyXG5kaXNwbGF5OmZsZXg7XHJcbn1cclxuXHJcbi5jb21wYW55SW5mb3tcclxuZmxleDogMjtcclxufVxyXG5cclxuLnRlYW1JbmZve1xyXG4gIGZsZXg6IDE7XHJcbiAgfVxyXG5cclxuICAudGVhbUluZm97XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgfVxyXG5cclxuLkFjdGlvbkJ1dHRvbntcclxuICBmbGV4OiAxO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxufVxyXG5cclxuLkFjdGlvbkJ1dHRvbiBkaXZ7XHJcbm1hcmdpbjogMTBweDtcclxufVxyXG5cclxuLlhCdG57XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG1hcmdpbi10b3A6IC0xNXB4O1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG4uWGJ0biAuY2xvc2V7XHJcbmN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDo5MTZweCl7XHJcbi5kaWFsb2dIZWFke1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbn1cclxuLkFjdGlvbkJ1dHRvbntcclxuICBmbGV4OiAxO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOjkxNnB4KXtcclxuICAuZGlhbG9nSGVhZHtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgfVxyXG4gIC5BY3Rpb25CdXR0b257XHJcbiAgICBmbGV4OiAxO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIH1cclxuICBcclxuICB9XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDo1NzZweCl7XHJcbiAgXHJcbiAgLmRpYWxvZ0hlYWQsIC5BY3Rpb25CdXR0b24sIC5pbmZvSGVhZHtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgfVxyXG5cclxuICAudGVhbUluZm97XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgfVxyXG5cclxuICAuQWN0aW9uQnV0dG9uIHtcclxuICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgfVxyXG5cclxuICAuQWN0aW9uQnV0dG9uIGRpdntcclxuICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuICBcclxufVxyXG5cclxuXHJcbi5tYXBwaW5ncywgLm1hcHBpbmdzMSB7XHJcbiBtaW4td2lkdGg6IDcwMHB4O1xyXG4gbWluLWhlaWdodDogMjAwcHg7XHJcbn1cclxuW3RibGVdIHRhYmxlIHtcclxuICAgIHdpZHRoOjEwMCU7XHJcbiAgICBmb250LXNpemU6IHNtYWxsZXI7XHJcbn1cclxuW3RibGVdIHRoLHRke1xyXG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBmb250LXNpemU6IHNtYWxsZXI7XHJcbn1cclxuLmJ0bi1pbmZve1xyXG4gIGJhY2tncm91bmQtY29sb3I6IzM3NzViNSAhaW1wb3J0YW50O1xyXG59XHJcbi5yZWRzdGFye1xyXG4gIG1hcmdpbi1yaWdodDogM3B4O1xyXG59XHJcblxyXG5cclxuICAuY2lyY2xlbGcge1xyXG4gICAgd2lkdGg6IDE3cHg7XHJcbiAgICBoZWlnaHQ6IDE3cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBmb250LXNpemU6IDEwcHg7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkIHdoaXRlO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIFxyXG59XHJcblxyXG4uZnJ1c3RyYXRpb25iZyB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q1NTYzMjtcclxufVxyXG5cclxuLm1ldHJpY3NiZyB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRhYWJlNztcclxufVxyXG5cclxuW3RibGVdIHRoIHtcclxuIGNvbG9yOndoaXRlOyAgICAgXHJcbmJhY2tncm91bmQtY29sb3I6IFx0IzQ3NDc0NztcclxuaGVpZ2h0OiAzNXB4O1xyXG4gZm9udC1zaXplOiAxM3B4O1xyXG59XHJcblt0YmxlXSB0ZCB7XHJcbiAgICBoZWlnaHQ6IDM1cHg7XHJcbiAgICAgZm9udC1zaXplOiAxM3B4O1xyXG59XHJcblt0YmxlXSB0YWJsZSB7XHJcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG4gICAgXHJcbn1cclxuW3RibGVdIHRhYmxlLCB0aCwgdGQge1xyXG4gICAgYm9yZGVyOiAwcHggc29saWQgI2UxZTFlMTtcclxuICAgIG92ZXJmbG93OmhpZGRlbjtcclxuICAgIHdvcmQtd3JhcDpicmVhay13b3JkO1xyXG59XHJcblt0YmxlXSB0YWJsZS5maXhlZCB7IHRhYmxlLWxheW91dDpmaXhlZDsgfVxyXG5bdGJsZV0gdGFibGUuZml4ZWQgdGQgeyBvdmVyZmxvdzogaGlkZGVuOyB9XHJcblxyXG5cclxuXHJcblxyXG5bdGJsZTFdIHRhYmxlIHtcclxuICB3aWR0aDoxMDAlO1xyXG4gIGZvbnQtc2l6ZTogc21hbGxlcjtcclxufVxyXG5bdGJsZTFdIHRoLHRke1xyXG5hbGlnbi1jb250ZW50OiBjZW50ZXI7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxuICBmb250LXNpemU6IHNtYWxsZXI7XHJcbn1cclxuXHJcblt0YmxlMV0gdGgge1xyXG5jb2xvcjp3aGl0ZTsgICAgIFxyXG5iYWNrZ3JvdW5kLWNvbG9yOiBcdCM0NzQ3NDc7XHJcbmhlaWdodDogMzVweDtcclxuZm9udC1zaXplOiAxM3B4O1xyXG59XHJcblt0YmxlMV0gdGQge1xyXG4gIGhlaWdodDogMzVweDtcclxuICAgZm9udC1zaXplOiAxM3B4O1xyXG59XHJcblt0YmxlMV0gdGFibGUge1xyXG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgXHJcbn1cclxuW3RibGUxXSB0YWJsZSwgdGgsIHRkIHtcclxuICBib3JkZXI6IDBweCBzb2xpZCAjZTFlMWUxO1xyXG4gIG92ZXJmbG93OmhpZGRlbjtcclxuICB3b3JkLXdyYXA6YnJlYWstd29yZDtcclxufVxyXG5bdGJsZTFdIHRhYmxlLmZpeGVkIHsgdGFibGUtbGF5b3V0OmZpeGVkOyB9XHJcblt0YmxlMV0gdGFibGUuZml4ZWQgdGQgeyBvdmVyZmxvdzogaGlkZGVuOyB9XHJcblxyXG5cclxuLmhpZ2hsaWdodCB0ZCB7YmFja2dyb3VuZDogI0MwQzBDMDt9XHJcblxyXG4uZmF7XHJcbiAgICAgZm9udC1zaXplOiAxOHB4OyBcclxufVxyXG5cclxuLmZhLXNxdWFyZS1ve1xyXG4gIGZvbnQtc2l6ZToyNHB4XHJcbn1cclxuLmZhLXBsdXN7XHJcbmZvbnQtc2l6ZTogMTNweDtcclxufVxyXG4uZG90cyB7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbn1cclxuICBcclxuaW5wdXQge1xyXG4gIHdpZHRoOiAxODElO1xyXG59XHJcbiAgXHJcbi5zcXVhcmUge1xyXG4gIHBhZGRpbmc6IDBweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzc3NWI1O1xyXG4gIGNvbG9yOiB3aGl0ZTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICBib3JkZXI6IDJweCBzb2xpZCAjMzc3NWI1O1xyXG4gIGZvbnQtc2l6ZTogMTNweDtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBib3gtc2hhZG93OiAwcHggOHB4IDNweCAwcHggIzI2NTM4MjtcclxuICBmb250LWZhbWlseTogdW5zZXQ7XHJcbn1cclxuICAuc3F1YXJlQWN0dnR5IHtcclxuICAgIHBhZGRpbmc6IDBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGQ0M7XHJcbiAgICBjb2xvcjogYmxhY2s7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjRkZGRkNDO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcclxuICAgIHdpZHRoOiAxMDBweDtcclxuICAgIGJveC1zaGFkb3c6IDNweCAzcHggM3B4XHJcbiAgfVxyXG5cclxuICBcclxuICBbc3F1YXJlQm94XSB7XHJcbiAgICBwYWRkaW5nLXRvcDogNiU7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAyJTtcclxuICB9XHJcbiAgXHJcbiAgLnNxdWFyZUluQWN0dnR5IHtcclxuICAgIHBhZGRpbmc6IDNweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlMmUzZTQ7XHJcbiAgICBjb2xvcjogYmxhY2s7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgI2UyZTNlNDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XHJcbiAgICBmb250LWZhbWlseTogdW5zZXQ7XHJcbiAgIFxyXG4gIH1cclxuICBcclxuICAuc3F1YXJlRXhBY3R2dHkge1xyXG4gICAgcGFkZGluZzogM3B4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2EzY2RhMjtcclxuICAgIGNvbG9yOiBibGFjaztcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjYTNjZGEyO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcclxuICAgXHJcbiAgfVxyXG4gIFxyXG4gIC5zcXVhcmVLUEkge1xyXG4gIHBhZGRpbmctbGVmdDogOSU7XHJcbiAgcGFkZGluZy1yaWdodDogN3B4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICM2QURBRkY7XHJcbiAgY29sb3I6IHdoaXRlO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgZm9udC1zaXplOiAxN3B4O1xyXG4gIHdpZHRoOiAyNXB4O1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICB9XHJcbiAgXHJcbiAgLnNxdWFyZUtQSTEge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzZBREFGRjtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIGZvbnQtc2l6ZTogMTFweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICB9XHJcblxyXG4gIC5zcXVhcmVLUEkyIHtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkIHdoaXRlO1xyXG4gICAgaGVpZ2h0OiAxN3B4O1xyXG4gICAgd2lkdGg6IDE3cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGFhYmU3O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgZm9udC1zaXplOiAxMHB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDZweDtcclxuICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XHJcbiAgICAvKiBtYXJnaW4tdG9wOiAyOXB4OyAqL1xyXG4gICAgbWFyZ2luLWxlZnQ6IDFweDtcclxuICB9XHJcbiAgXHJcbiAgLnNxdWFyZUlzc3VlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkFBRTM7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB3aWR0aDogMjVweDtcclxuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcclxuICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIGZvbnQtc2l6ZTogMTdweDtcclxuICB9XHJcbiAgXHJcbiAgLnNxdWFyZUlzc3VlMSB7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCB3aGl0ZTtcclxuICAgIGhlaWdodDogMTdweDtcclxuICAgIHdpZHRoOiAxN3B4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q1NTYzMjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIGZvbnQtc2l6ZTogMTBweDtcclxuICAgIG1hcmdpbi1sZWZ0OiA2cHg7XHJcbiAgICBmb250LXdlaWdodDpib2xkO1xyXG4gICAgLyogbWFyZ2luLXRvcDogMjlweDsgKi9cclxuICB9XHJcbiAgXHJcbiAgLmNpcmNsZU0ge1xyXG4gICAgaGVpZ2h0OiAxMCU7XHJcbiAgICB3aWR0aDogMTAlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzZBREFGRjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIHBhZGRpbmc6IDBweCA1cHg7XHJcbiAgfVxyXG4gIFxyXG4gIC5jaXJjbGVJIHtcclxuICAgIGhlaWdodDogNDAlO1xyXG4gICAgd2lkdGg6IDUlO1xyXG4gICAgLyogYmFja2dyb3VuZC1jb2xvcjogI0VGNzRGQzsgKi9cclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDBweCAwcHg7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gIH1cclxuXHJcbiAgLmNpcmNsZUkgLmZhLWxne1xyXG4gICAgbWFyZ2luLWxlZnQ6IC04cHg7XHJcbiAgfVxyXG4gIFxyXG4gIHRhYmxlIHRkLFxyXG4gIHRoIHtcclxuICAgIGZvbnQtc2l6ZTogMTBweDtcclxuICB9XHJcbiAgXHJcbiAgLnNxdWFyZUlzc3VlcyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAgI2Y3YWFhMztcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkICNmN2FhYTM7XHJcbiAgICBjb2xvcjogYmxhY2s7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBmb250LXNpemU6IDExcHg7XHJcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xyXG4gICAgYm94LXNoYWRvdzogMCAzcHggM3B4IDBweCAjZDU1NjMyO1xyXG4gICAgd2lkdGg6IDI3MHB4O1xyXG4gIH1cclxuICBcclxuICAuc3F1YXJlTSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGFhYmU3O1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgIzRhYWJlNztcclxuICAgIGNvbG9yOiBibGFjaztcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIGZvbnQtc2l6ZTogMTFweDtcclxuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XHJcbiAgICBib3gtc2hhZG93OiAgMCAzcHggM3B4IDBweCAgIzRhYWJlNztcclxuICAgIC8qIHdpZHRoOjEwMHB4OyAqL1xyXG4gICAgd2lkdGg6IDI3MHB4O1xyXG4gIH1cclxuICAuY2lyY2xlUyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDljMjVhO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTVweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIHBhZGRpbmc6IDBweCA1cHg7XHJcbiAgICB3aWR0aDogMTJweDtcclxuICAgIGhlaWdodDogMTJweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHdoaXRlO1xyXG4gICAgbWFyZ2luLXRvcDogM3B4O1xyXG4gIH1cclxuLndhcm5pbmdNc2d7XHJcbiAgY29sb3I6IHJlZDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuLkFkZGNvbG9yIHtcclxuICBjb2xvcjogI2VmNTM1MCAhaW1wb3J0YW50IDtcclxuICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudCA7ICBcclxufVxyXG4ucmVtb3ZlQ29sb3Ige1xyXG4gIGNvbG9yOiAjY2NjICFpbXBvcnRhbnQgO1xyXG4gIGN1cnNvcjogbm9uZSAhaW1wb3J0YW50IDtcclxufVxyXG4jUm93Y29udGFpbmVye1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIG1hcmdpbi10b3A6IC0xMHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IC0xMHB4O1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gXHJcblxyXG59XHJcblxyXG4udGFibGVEaXZ7XHJcbiAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgbWF4LWhlaWdodDogNzB2aDtcclxufVxyXG5cclxuLnRhYmxlRGl2IHRke1xyXG4gIHBhZGRpbmctcmlnaHQ6IDVweDtcclxufVxyXG5cclxuLnRhYmxlRGl2IHRoe1xyXG4gIG1pbi13aWR0aDogMTAwcHggIWltcG9ydGFudDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi50YWJsZURpdjo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG4gIHdpZHRoOiA0cHg7XHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG4ub2Zmc2V0LTF7XHJcbiAgbWFyZ2luLWxlZnQ6IDAlO1xyXG59XHJcbiNSb3doZWFkaW5ne1xyXG4gIGZsZXg6IDE7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGZsZXgtYmFzaXM6IDMwJTtcclxufVxyXG4jUm93d3JhcHBlcntcclxuZmxleDogMjtcclxufVxyXG4jUm93dGFibGVBY3Rpb25ze1xyXG5kaXNwbGF5OiBmbGV4O1xyXG5cclxuanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG59XHJcblxyXG4jZmllbGQsICNidXR0b252aWV3e1xyXG4gIG1hcmdpbjogMiU7XHJcbiAgXHJcbn1cclxuXHJcbiNSb3doZWFkaW5nc21hcHtcclxuICBmbGV4OiAxO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBmbGV4LWJhc2lzOiAzMCU7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIG1hcmdpbi1sZWZ0OiAtMyU7XHJcbn1cclxuXHJcbiNidXR0b252aWV3c21hcHtcclxuICBtYXJnaW4tcmlnaHQ6IDIlO1xyXG4gIFxyXG59XHJcblxyXG4vKiAjc2VhcmNoRmllbGR7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn0gKi9cclxuXHJcbi8qKioqKioqKkZvciBNb2JpbGUgdmlldyAqKioqKioqKi9cclxuQG1lZGlhIChtYXgtd2lkdGg6NTc2cHgpe1xyXG4gICp7XHJcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgfVxyXG5cclxuICB0YWJsZXtcclxuICAgICAgbWFyZ2luOiAyJTtcclxuICB9XHJcblxyXG4gI1Jvd2NvbnRhaW5lcntcclxuICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgIG1hcmdpbjogMDtcclxuICAgICBwYWRkaW5nOiAwO1xyXG4gICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAganVzdGlmeS1jb250ZW50OiBsZWZ0O1xyXG4gICAgXHJcbiAgICAgbWFyZ2luOiAyJTtcclxuIFxyXG4gfVxyXG5cclxuICNSb3d3cmFwcGVye1xyXG4gICAgIHdpZHRoOiAxMDAlO1xyXG4gfVxyXG4gXHJcbiAjUm93dGFibGVBY3Rpb25ze1xyXG4gZGlzcGxheTogZmxleDtcclxuIHdpZHRoOiAxMDAlO1xyXG4gZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gXHJcbiB9XHJcbiAgI1Jvd2hlYWRpbmd7XHJcbiAgICAgXHJcbiAgICBcclxuIH1cclxuIFxyXG5cclxuLmJ0bntcclxuICAgICB3aWR0aDogMTAwJTtcclxuICAgICBcclxuIH1cclxuIC5tYXBwaW5ncyB7XHJcbiAgbWluLXdpZHRoOiAyODBweDtcclxuICBtaW4taGVpZ2h0OiA3NXB4O1xyXG4gfVxyXG4gI2J0bm1vYntcclxuICAgbWFyZ2luOiAyJTtcclxuIH1cclxuICBcclxufVxyXG4iXX0= */\"","module.exports = \"/**************************Process Map Top Buttons and dropdown*******************************/\\n#topContainer {\\n width: 100%;\\n margin: 0;\\n padding: 0;\\n}\\n.label-style {\\n text-align: center;\\n vertical-align: middle;\\n color: #c5c0ab;\\n padding-top: 15px;\\n}\\n.screenActions {\\n display: flex;\\n}\\n.selectDropDowns {\\n width: 33%;\\n}\\n.actionBtns {\\n width: 67%;\\n}\\n.selectWrapper, .btnWrapper {\\n display: flex;\\n}\\n.mapTypeSelect {\\n width: 25%;\\n margin: 2%;\\n}\\n.teamSelect {\\n width: 32%;\\n margin: 2%;\\n}\\n.versionSelect {\\n width: 32%;\\n margin: 2%;\\n}\\n.btnWrapper button {\\n margin: 2.5% 1% 0 1%;\\n}\\n/************************** END Process Map Top Buttons and dropdown*******************************/\\n/************************** For Mobile View Process Map Top Buttons and dropdown*******************************/\\n@media (max-width: 576px) {\\n #topContainer {\\n width: 100%;\\n margin: 0;\\n padding: 0;\\n }\\n\\n .screenActions {\\n display: flex;\\n flex-direction: column;\\n justify-content: space-betaween;\\n }\\n\\n .selectDropDowns {\\n width: 100%;\\n }\\n\\n .actionBtns {\\n width: 100%;\\n }\\n\\n .selectWrapper, .btnWrapper {\\n display: flex;\\n flex-direction: column;\\n }\\n\\n .mapTypeSelect, .versionSelect, .teamSelect {\\n width: 100%;\\n display: flex;\\n margin: 2%;\\n }\\n\\n .mapTypeSelect mat-form-field, .versionSelect mat-form-field, .teamSelect mat-form-field {\\n width: 100%;\\n margin: 0 2%;\\n }\\n\\n .btnWrapper button {\\n margin: 2.5% 1% 0 1%;\\n }\\n\\n .offset-1 {\\n margin-left: 0%;\\n }\\n}\\n/************************** END For Mobile View Process Map Top Buttons and dropdown*******************************/\\n.mat-form-field-appearance-legacy .mat-form-field-wrapper {\\n padding-bottom: 1.25em;\\n width: 42% !important;\\n}\\nmat-form-field {\\n display: initial;\\n}\\n@media print {\\n .donotprintthis {\\n display: none;\\n }\\n}\\n@media print {\\n @page {\\n size: auto;\\n margin: 0mm !important;\\n }\\n a[href]:after {\\n content: none !important;\\n }\\n}\\n@media print {\\n #Header, #Footer {\\n display: none !important;\\n margin: 0mm !important;\\n }\\n}\\n@media screen {\\n .donotprintthis {\\n display: block;\\n }\\n}\\n.Addcolor {\\n cursor: pointer !important;\\n}\\n.removeColor {\\n cursor: pointer !important;\\n}\\n.removeColor1 {\\n color: #ccc !important;\\n cursor: pointer !important;\\n}\\n.dots {\\n flex-wrap: wrap;\\n}\\nhtml,\\nbody {\\n overflow-x: hidden;\\n}\\ninput {\\n width: 181%;\\n}\\n.square {\\n padding: 0px;\\n background-color: #FFFF99;\\n color: black;\\n text-align: center;\\n cursor: pointer;\\n border-radius: 5px;\\n border: 2px solid #C9C927;\\n font-size: 13px;\\n font-weight: bold;\\n box-shadow: 3px 3px 3px #C9C927;\\n font-family: unset;\\n}\\n.squareActvty {\\n padding: 0px;\\n background-color: #FFFFCC;\\n color: black;\\n text-align: center;\\n cursor: pointer;\\n border: 2px solid #C9C927;\\n border-radius: 5px;\\n /*font-size: 11px;*/\\n word-break: break-word;\\n /*height: 51px;*/\\n width: 100px;\\n box-shadow: 3px 3px 3px;\\n}\\n/*#activity {\\nfont-size: .5vw;\\n }*/\\n[squareBox] {\\n padding-top: 6%;\\n padding-right: 2%;\\n}\\n.squareInActvty {\\n padding: 0px;\\n background-color: #e2e3e4;\\n color: black;\\n text-align: center;\\n cursor: pointer;\\n border: 2px solid #e2e3e4;\\n border-radius: 5px;\\n font-size: 12px;\\n word-break: break-word;\\n min-height: 51px;\\n width: 100px;\\n font-family: unset;\\n}\\n.squareExActvty {\\n padding: 0px;\\n background-color: #a3cda2;\\n color: black;\\n text-align: center;\\n cursor: pointer;\\n border: 2px solid #a3cda2;\\n border-radius: 5px;\\n font-size: 12px;\\n word-break: break-word;\\n min-height: 51px;\\n width: 100px;\\n}\\n.squareKPI {\\n /*border: 2px solid #10BCF5;*/\\n background-color: #6ADAFF;\\n color: white;\\n text-align: center;\\n border-radius: 5px;\\n /*border: 1px solid #10BCF5;*/\\n font-size: 17px;\\n /* margin-left:-21px; */\\n width: 25px;\\n /* height: 21px; */\\n cursor: pointer;\\n /* box-shadow: 3px 3px 3px #1EBFF4; */\\n /* padding-left: 7%;\\n padding-right: 6%; */\\n}\\n.squareKPI1 {\\n /*border: 2px solid #10BCF5;*/\\n background-color: #6ADAFF;\\n color: white;\\n text-align: center;\\n border-radius: 5px;\\n /*border: 1px solid #10BCF5;*/\\n font-size: 11px;\\n /* margin-left:-21px; */\\n width: 20px;\\n /*height: 21px;*/\\n border-radius: 5px;\\n cursor: pointer;\\n /*box-shadow: 3px 3px 3px #1EBFF4;*/\\n}\\n.squareIssue {\\n /*border: 2px solid #FF5DCA;*/\\n background-color: #FFAAE3;\\n color: white;\\n text-align: center;\\n cursor: pointer;\\n width: 25px;\\n /* padding: 14%; */\\n /*height: 21px;*/\\n border-radius: 5px;\\n font-size: 17px;\\n /* box-shadow: 3px 3px 3px #FF5DCA; */\\n /* margin-left:-11px; */\\n}\\n.squareIssue1 {\\n /*border: 2px solid #FF5DCA;*/\\n background-color: #FFAAE3;\\n color: white;\\n text-align: center;\\n cursor: pointer;\\n width: 25px;\\n /* padding: 14%; */\\n /*height: 21px;*/\\n border-radius: 5px;\\n font-size: 17px;\\n /* box-shadow: 3px 3px 3px #FF5DCA; */\\n /* margin-left:-11px; */\\n}\\n.circleM {\\n height: 10%;\\n width: 10%;\\n background-color: #6ADAFF;\\n border-radius: 50%;\\n text-align: center;\\n color: white;\\n padding: 0px 5px;\\n}\\n.circleI {\\n height: 10%;\\n width: 10%;\\n border-radius: 50%;\\n text-align: center;\\n color: white;\\n padding: 0px 5px;\\n}\\ntable td,\\nth {\\n font-size: 10px;\\n}\\n@media print {\\n .donotprintthis {\\n display: none;\\n }\\n}\\n@media print {\\n @page {\\n size: auto;\\n margin: 0mm;\\n }\\n a[href]:after {\\n content: none !important;\\n }\\n}\\n@media print {\\n #Header,\\n#Footer {\\n display: none !important;\\n }\\n}\\n@media screen {\\n .donotprintthis {\\n display: block;\\n }\\n}\\n@media (max-width: 576px) {\\n #moblgd {\\n margin-left: -2%;\\n }\\n\\n .alignment {\\n margin-bottom: 1px;\\n }\\n\\n .alignment1 {\\n margin-bottom: -3px;\\n }\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcHJvY2Vzcy1tYXAvRjpcXE5pa2lsIFdvcmtcXFByb2plY3RzXFxEb3JzZXlcXEhpZXJhcmNoeSBTb3VyY2UgQ29kZVxcV29ya2luZ1xcZG9yc2V5R3JvdXAvc3JjXFxhcHBcXHByb2Nlc3MtbWFwXFxwcm9jZXNzLW1hcC5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvcHJvY2Vzcy1tYXAvcHJvY2Vzcy1tYXAuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsOEZBQUE7QUFDQTtFQUVFLFdBQUE7RUFDQSxTQUFBO0VBQ0EsVUFBQTtBQ0FGO0FESUE7RUFDRSxrQkFBQTtFQUNBLHNCQUFBO0VBQ0EsY0FBQTtFQUNBLGlCQUFBO0FDREY7QURJQTtFQUNFLGFBQUE7QUNERjtBRElBO0VBQ0UsVUFBQTtBQ0RGO0FESUE7RUFDRSxVQUFBO0FDREY7QURJQTtFQUNFLGFBQUE7QUNERjtBRElBO0VBQ0UsVUFBQTtFQUNBLFVBQUE7QUNERjtBRElBO0VBQ0UsVUFBQTtFQUNBLFVBQUE7QUNERjtBRElBO0VBQ0UsVUFBQTtFQUNBLFVBQUE7QUNERjtBRElBO0VBQ0Usb0JBQUE7QUNERjtBREtBLDhHQUFBO0FBRUEsaUhBQUE7QUFDQTtFQUNFO0lBRUUsV0FBQTtJQUNBLFNBQUE7SUFDQSxVQUFBO0VDSkY7O0VEUUE7SUFDRSxhQUFBO0lBQ0Esc0JBQUE7SUFDQSwrQkFBQTtFQ0xGOztFRFFBO0lBQ0UsV0FBQTtFQ0xGOztFRFFBO0lBQ0UsV0FBQTtFQ0xGOztFRFFBO0lBQ0UsYUFBQTtJQUNBLHNCQUFBO0VDTEY7O0VEUUE7SUFDRSxXQUFBO0lBQ0EsYUFBQTtJQUNBLFVBQUE7RUNMRjs7RURRQTtJQUNFLFdBQUE7SUFDQSxZQUFBO0VDTEY7O0VEVUE7SUFDRSxvQkFBQTtFQ1BGOztFRFVBO0lBQ0UsZUFBQTtFQ1BGO0FBQ0Y7QURTQSw2SEFBQTtBQUlBO0VBQ0ksc0JBQUE7RUFDQSxxQkFBQTtBQ1ZKO0FEWUE7RUFFSSxn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NkRFO0VBQ0U7SUFDRSxjQUFBO0VDM0RKO0FBQ0Y7QUQ4REU7RUFDRTtJQUNFLGdCQUFBO0VDNURKOztFRDhERTtJQUNFLGtCQUFBO0VDM0RKOztFRDZERTtJQUNFLG1CQUFBO0VDMURKO0FBQ0YiLCJmaWxlIjoic3JjL2FwcC9wcm9jZXNzLW1hcC9wcm9jZXNzLW1hcC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqKioqKioqKioqKioqKioqKlByb2Nlc3MgTWFwIFRvcCBCdXR0b25zIGFuZCBkcm9wZG93bioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbiN0b3BDb250YWluZXJ7XHJcbiBcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICBcclxufVxyXG5cclxuLmxhYmVsLXN0eWxlIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICBjb2xvcjogI2M1YzBhYjtcclxuICBwYWRkaW5nLXRvcDogMTVweDtcclxufVxyXG5cclxuLnNjcmVlbkFjdGlvbnN7XHJcbiAgZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuLnNlbGVjdERyb3BEb3duc3sgXHJcbiAgd2lkdGg6IDMzJTtcclxufVxyXG5cclxuLmFjdGlvbkJ0bnN7ICBcclxuICB3aWR0aDogNjclO1xyXG59XHJcblxyXG4uc2VsZWN0V3JhcHBlciwgLmJ0bldyYXBwZXJ7XHJcbiAgZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuLm1hcFR5cGVTZWxlY3R7XHJcbiAgd2lkdGg6IDI1JTtcclxuICBtYXJnaW46IDIlO1xyXG59XHJcblxyXG4udGVhbVNlbGVjdHtcclxuICB3aWR0aDogMzIlO1xyXG4gIG1hcmdpbjogMiU7XHJcbn1cclxuXHJcbi52ZXJzaW9uU2VsZWN0e1xyXG4gIHdpZHRoOiAzMiU7XHJcbiAgbWFyZ2luOiAyJTtcclxufVxyXG5cclxuLmJ0bldyYXBwZXIgYnV0dG9ue1xyXG4gIG1hcmdpbjogMi41JSAxJSAwIDElO1xyXG4gIFxyXG59XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKiogICAgICBFTkQgICAgICAgUHJvY2VzcyBNYXAgVG9wIEJ1dHRvbnMgYW5kIGRyb3Bkb3duKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKiBGb3IgTW9iaWxlIFZpZXcgICBQcm9jZXNzIE1hcCBUb3AgQnV0dG9ucyBhbmQgZHJvcGRvd24qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogNTc2cHgpe1xyXG4gICN0b3BDb250YWluZXJ7XHJcbiBcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIFxyXG4gIH1cclxuICBcclxuICAuc2NyZWVuQWN0aW9uc3tcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXRhd2VlbjtcclxuICB9XHJcbiAgXHJcbiAgLnNlbGVjdERyb3BEb3duc3sgXHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcbiAgXHJcbiAgLmFjdGlvbkJ0bnN7ICBcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxuICBcclxuICAuc2VsZWN0V3JhcHBlciwgLmJ0bldyYXBwZXJ7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICB9XHJcbiAgXHJcbiAgLm1hcFR5cGVTZWxlY3QsIC52ZXJzaW9uU2VsZWN0LCAudGVhbVNlbGVjdHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIG1hcmdpbjogMiU7XHJcbiAgfVxyXG5cclxuICAubWFwVHlwZVNlbGVjdCBtYXQtZm9ybS1maWVsZCwgLnZlcnNpb25TZWxlY3QgbWF0LWZvcm0tZmllbGQsIC50ZWFtU2VsZWN0IG1hdC1mb3JtLWZpZWxke1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW46MCAyJTtcclxuICB9XHJcbiAgXHJcbiAgXHJcblxyXG4gIC5idG5XcmFwcGVyIGJ1dHRvbntcclxuICAgIG1hcmdpbjogMi41JSAxJSAwIDElO1xyXG4gICAgXHJcbiAgfVxyXG4gIC5vZmZzZXQtMXtcclxuICAgIG1hcmdpbi1sZWZ0OiAwJTtcclxuICB9XHJcbn1cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqICAgICAgRU5EICAgRm9yIE1vYmlsZSBWaWV3ICAgIFByb2Nlc3MgTWFwIFRvcCBCdXR0b25zIGFuZCBkcm9wZG93bioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5cclxuXHJcbi5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSAubWF0LWZvcm0tZmllbGQtd3JhcHBlciB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMS4yNWVtO1xyXG4gICAgd2lkdGg6IDQyJSAhaW1wb3J0YW50O1xyXG59XHJcbm1hdC1mb3JtLWZpZWxkIHtcclxuIFxyXG4gICAgZGlzcGxheTogaW5pdGlhbDtcclxuXHJcbn1cclxuQG1lZGlhIHByaW50XHJcbntcclxuICAgIC5kb25vdHByaW50dGhpc1xyXG4gICAge1xyXG4gICAgICBcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgXHJcbiAgICB9XHJcbn1cclxuQG1lZGlhIHByaW50IHtcclxuICAgIEBwYWdlIHsgc2l6ZTogYXV0bzsgIG1hcmdpbjogMG1tICFpbXBvcnRhbnQ7ICB9XHJcblxyXG4gICAgYVtocmVmXTphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgcHJpbnQge1xyXG4gICAgI0hlYWRlciwgI0Zvb3RlciB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgbWFyZ2luOiAwbW0gICFpbXBvcnRhbnR9XHJcbn1cclxuQG1lZGlhIHNjcmVlblxyXG57XHJcbiAgICAuZG9ub3RwcmludHRoaXNcclxuICAgIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxufVxyXG4uQWRkY29sb3Ige1xyXG4gICAgLy8gY29sb3I6ICNlZjUzNTAgIWltcG9ydGFudCA7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudCA7ICBcclxuIH1cclxuIC5yZW1vdmVDb2xvciB7XHJcbiAgICAvLyBjb2xvcjogI2NjYyAhaW1wb3J0YW50IDtcclxuICAgIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50IDtcclxuIH1cclxuXHJcbiAucmVtb3ZlQ29sb3IxIHtcclxuICBjb2xvcjogI2NjYyAhaW1wb3J0YW50IDtcclxuICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudCA7XHJcbn1cclxuXHJcbiAuZG90cyB7XHJcblxyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG5cclxuICB9XHJcblxyXG4gIGh0bWwsXHJcbiAgYm9keSB7XHJcblxyXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gIH1cclxuXHJcbiAgaW5wdXQge1xyXG4gICAgd2lkdGg6IDE4MSU7XHJcbiAgfVxyXG5cclxuICAuc3F1YXJlIHtcclxuICAgIHBhZGRpbmc6IDBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGOTk7XHJcbiAgICBjb2xvcjogYmxhY2s7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjQzlDOTI3O1xyXG4gICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBib3gtc2hhZG93OiAzcHggM3B4IDNweCAjQzlDOTI3O1xyXG4gICAgZm9udC1mYW1pbHk6IHVuc2V0O1xyXG4gIH1cclxuXHJcbiAgLnNxdWFyZUFjdHZ0eSB7XHJcbiAgICBwYWRkaW5nOiAwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkNDO1xyXG4gICAgY29sb3I6IGJsYWNrO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgI0M5QzkyNztcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIC8qZm9udC1zaXplOiAxMXB4OyovXHJcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xyXG4gICAgLypoZWlnaHQ6IDUxcHg7Ki9cclxuICAgIHdpZHRoOiAxMDBweDtcclxuICAgIGJveC1zaGFkb3c6IDNweCAzcHggM3B4XHJcbiAgfVxyXG5cclxuICAvKiNhY3Rpdml0eSB7XHJcbmZvbnQtc2l6ZTogLjV2dztcclxuICB9Ki9cclxuXHJcbiAgW3NxdWFyZUJveF0ge1xyXG4gICAgcGFkZGluZy10b3A6IDYlO1xyXG4gICAgcGFkZGluZy1yaWdodDogMiU7XHJcbiAgfVxyXG5cclxuICAuc3F1YXJlSW5BY3R2dHkge1xyXG4gICAgcGFkZGluZzogMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UyZTNlNDtcclxuICAgIGNvbG9yOiBibGFjaztcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkICNlMmUzZTQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xyXG4gICAgbWluLWhlaWdodDogNTFweDtcclxuICAgIHdpZHRoOiAxMDBweDtcclxuICAgIC8vIGJveC1zaGFkb3c6IDNweCAzcHggM3B4ICNDOUM5Mjc7XHJcbiAgICBmb250LWZhbWlseTogdW5zZXQ7XHJcblxyXG4gIH1cclxuXHJcbiAgLnNxdWFyZUV4QWN0dnR5IHtcclxuICAgIHBhZGRpbmc6IDBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNhM2NkYTI7XHJcbiAgICBjb2xvcjogYmxhY2s7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjYTNjZGEyO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcclxuICAgIG1pbi1oZWlnaHQ6IDUxcHg7XHJcbiAgICB3aWR0aDogMTAwcHg7XHJcbiAgICAvLyBib3gtc2hhZG93OiAzcHggM3B4IDNweCAjNzNBRDIxO1xyXG4gIH1cclxuXHJcbiAgLnNxdWFyZUtQSSB7XHJcbiAgICAvKmJvcmRlcjogMnB4IHNvbGlkICMxMEJDRjU7Ki9cclxuICAgIC8vIHBhZGRpbmctbGVmdDogOSU7XHJcbiAgICAvLyBwYWRkaW5nLXJpZ2h0OiA3cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNkFEQUZGO1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgLypib3JkZXI6IDFweCBzb2xpZCAjMTBCQ0Y1OyovXHJcbiAgICBmb250LXNpemU6IDE3cHg7XHJcbiAgICAvKiBtYXJnaW4tbGVmdDotMjFweDsgKi9cclxuICAgIHdpZHRoOiAyNXB4O1xyXG4gICAgLyogaGVpZ2h0OiAyMXB4OyAqL1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgLyogYm94LXNoYWRvdzogM3B4IDNweCAzcHggIzFFQkZGNDsgKi9cclxuICAgIC8qIHBhZGRpbmctbGVmdDogNyU7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiA2JTsgKi9cclxuICB9XHJcblxyXG4gIC5zcXVhcmVLUEkxIHtcclxuICAgIC8qYm9yZGVyOiAycHggc29saWQgIzEwQkNGNTsqL1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzZBREFGRjtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIC8qYm9yZGVyOiAxcHggc29saWQgIzEwQkNGNTsqL1xyXG4gICAgZm9udC1zaXplOiAxMXB4O1xyXG4gICAgLyogbWFyZ2luLWxlZnQ6LTIxcHg7ICovXHJcbiAgICB3aWR0aDogMjBweDtcclxuICAgIC8qaGVpZ2h0OiAyMXB4OyovXHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAvKmJveC1zaGFkb3c6IDNweCAzcHggM3B4ICMxRUJGRjQ7Ki9cclxuICB9XHJcblxyXG4gIC5zcXVhcmVJc3N1ZSB7XHJcbiAgICAvKmJvcmRlcjogMnB4IHNvbGlkICNGRjVEQ0E7Ki9cclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkFBRTM7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB3aWR0aDogMjVweDtcclxuICAgIC8qIHBhZGRpbmc6IDE0JTsgKi9cclxuICAgIC8qaGVpZ2h0OiAyMXB4OyovXHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBmb250LXNpemU6IDE3cHg7XHJcbiAgICAvKiBib3gtc2hhZG93OiAzcHggM3B4IDNweCAjRkY1RENBOyAqL1xyXG4gICAgLyogbWFyZ2luLWxlZnQ6LTExcHg7ICovXHJcbiAgfVxyXG5cclxuICAuc3F1YXJlSXNzdWUxIHtcclxuICAgIC8qYm9yZGVyOiAycHggc29saWQgI0ZGNURDQTsqL1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGQUFFMztcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHdpZHRoOiAyNXB4O1xyXG4gICAgLyogcGFkZGluZzogMTQlOyAqL1xyXG4gICAgLypoZWlnaHQ6IDIxcHg7Ki9cclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIGZvbnQtc2l6ZTogMTdweDtcclxuICAgIC8vIHBhZGRpbmctbGVmdDogNnB4O1xyXG4gICAgLy8gcGFkZGluZy1yaWdodDogNnB4O1xyXG4gICAgLyogYm94LXNoYWRvdzogM3B4IDNweCAzcHggI0ZGNURDQTsgKi9cclxuICAgIC8qIG1hcmdpbi1sZWZ0Oi0xMXB4OyAqL1xyXG4gIH1cclxuXHJcbiAgLmNpcmNsZU0ge1xyXG4gICAgaGVpZ2h0OiAxMCU7XHJcbiAgICB3aWR0aDogMTAlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzZBREFGRjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIHBhZGRpbmc6IDBweCA1cHg7XHJcbiAgfVxyXG5cclxuICAuY2lyY2xlSSB7XHJcbiAgICBoZWlnaHQ6IDEwJTtcclxuICAgIHdpZHRoOiAxMCU7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICBwYWRkaW5nOiAwcHggNXB4O1xyXG4gIH1cclxuXHJcbiAgdGFibGUgdGQsXHJcbiAgdGgge1xyXG4gICAgZm9udC1zaXplOiAxMHB4O1xyXG4gIH1cclxuXHJcbiAgLy8gLnNxdWFyZUlzc3VlcyB7XHJcbiAgLy8gICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZBQUUzO1xyXG4gIC8vICAgYm9yZGVyOiAycHggc29saWQgI0ZGNURDQTtcclxuICAvLyAgIGNvbG9yOiBibGFjaztcclxuICAvLyAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAvLyAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAvLyAgIGZvbnQtc2l6ZTogMTFweDtcclxuICAvLyAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XHJcbiAgLy8gICBtaW4td2lkdGg6IDYwcHg7XHJcbiAgLy8gICB3aWR0aDogMTUwcHg7XHJcbiAgLy8gICBtYXJnaW4tbGVmdDogMnB4O1xyXG4gIC8vICAgYm94LXNoYWRvdzogM3B4IDNweCAzcHggI0ZGNURDQTtcclxuICAvLyB9XHJcblxyXG4gIC8vIC5zcXVhcmVNIHtcclxuICAvLyAgIGJhY2tncm91bmQtY29sb3I6ICM2QURBRkY7XHJcbiAgLy8gICBib3JkZXI6IDJweCBzb2xpZCAjMTBCQ0Y1O1xyXG4gIC8vICAgY29sb3I6IGJsYWNrO1xyXG4gIC8vICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIC8vICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gIC8vICAgZm9udC1zaXplOiAxMXB4O1xyXG4gIC8vICAgd29yZC1icmVhazogYnJlYWstd29yZDtcclxuICAvLyAgIG1pbi13aWR0aDogNjBweDtcclxuICAvLyAgIHdpZHRoOiAxNDZweDtcclxuICAvLyAgIG1hcmdpbi1sZWZ0OiAycHg7XHJcbiAgLy8gICBib3gtc2hhZG93OiAzcHggM3B4IDNweCAjMTBCQ0Y1O1xyXG4gIC8vIH1cclxuXHJcbiAgQG1lZGlhIHByaW50IHtcclxuICAgIC5kb25vdHByaW50dGhpcyB7XHJcblxyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG5cclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBtZWRpYSBwcmludCB7XHJcbiAgICBAcGFnZSB7XHJcbiAgICAgIHNpemU6IGF1dG87XHJcbiAgICAgIG1hcmdpbjogMG1tO1xyXG4gICAgfVxyXG5cclxuICAgIGFbaHJlZl06YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgcHJpbnQge1xyXG5cclxuICAgICNIZWFkZXIsXHJcbiAgICAjRm9vdGVyIHtcclxuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQG1lZGlhIHNjcmVlbiB7XHJcbiAgICAuZG9ub3RwcmludHRoaXMge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOjU3NnB4KXtcclxuICAgICNtb2JsZ2R7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMiU7XHJcbiAgICB9XHJcbiAgICAuYWxpZ25tZW50e1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxcHg7XHJcbiAgICB9XHJcbiAgICAuYWxpZ25tZW50MXtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogLTNweDtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuXHJcbiIsIi8qKioqKioqKioqKioqKioqKioqKioqKioqKlByb2Nlc3MgTWFwIFRvcCBCdXR0b25zIGFuZCBkcm9wZG93bioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4jdG9wQ29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLmxhYmVsLXN0eWxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjb2xvcjogI2M1YzBhYjtcbiAgcGFkZGluZy10b3A6IDE1cHg7XG59XG5cbi5zY3JlZW5BY3Rpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLnNlbGVjdERyb3BEb3ducyB7XG4gIHdpZHRoOiAzMyU7XG59XG5cbi5hY3Rpb25CdG5zIHtcbiAgd2lkdGg6IDY3JTtcbn1cblxuLnNlbGVjdFdyYXBwZXIsIC5idG5XcmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLm1hcFR5cGVTZWxlY3Qge1xuICB3aWR0aDogMjUlO1xuICBtYXJnaW46IDIlO1xufVxuXG4udGVhbVNlbGVjdCB7XG4gIHdpZHRoOiAzMiU7XG4gIG1hcmdpbjogMiU7XG59XG5cbi52ZXJzaW9uU2VsZWN0IHtcbiAgd2lkdGg6IDMyJTtcbiAgbWFyZ2luOiAyJTtcbn1cblxuLmJ0bldyYXBwZXIgYnV0dG9uIHtcbiAgbWFyZ2luOiAyLjUlIDElIDAgMSU7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKiAgICAgIEVORCAgICAgICBQcm9jZXNzIE1hcCBUb3AgQnV0dG9ucyBhbmQgZHJvcGRvd24qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqIEZvciBNb2JpbGUgVmlldyAgIFByb2Nlc3MgTWFwIFRvcCBCdXR0b25zIGFuZCBkcm9wZG93bioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5AbWVkaWEgKG1heC13aWR0aDogNTc2cHgpIHtcbiAgI3RvcENvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAuc2NyZWVuQWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0YXdlZW47XG4gIH1cblxuICAuc2VsZWN0RHJvcERvd25zIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5hY3Rpb25CdG5zIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5zZWxlY3RXcmFwcGVyLCAuYnRuV3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG5cbiAgLm1hcFR5cGVTZWxlY3QsIC52ZXJzaW9uU2VsZWN0LCAudGVhbVNlbGVjdCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW46IDIlO1xuICB9XG5cbiAgLm1hcFR5cGVTZWxlY3QgbWF0LWZvcm0tZmllbGQsIC52ZXJzaW9uU2VsZWN0IG1hdC1mb3JtLWZpZWxkLCAudGVhbVNlbGVjdCBtYXQtZm9ybS1maWVsZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIDIlO1xuICB9XG5cbiAgLmJ0bldyYXBwZXIgYnV0dG9uIHtcbiAgICBtYXJnaW46IDIuNSUgMSUgMCAxJTtcbiAgfVxuXG4gIC5vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlO1xuICB9XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKiogICAgICBFTkQgICBGb3IgTW9iaWxlIFZpZXcgICAgUHJvY2VzcyBNYXAgVG9wIEJ1dHRvbnMgYW5kIGRyb3Bkb3duKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSAubWF0LWZvcm0tZmllbGQtd3JhcHBlciB7XG4gIHBhZGRpbmctYm90dG9tOiAxLjI1ZW07XG4gIHdpZHRoOiA0MiUgIWltcG9ydGFudDtcbn1cblxubWF0LWZvcm0tZmllbGQge1xuICBkaXNwbGF5OiBpbml0aWFsO1xufVxuXG5AbWVkaWEgcHJpbnQge1xuICAuZG9ub3RwcmludHRoaXMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbkBtZWRpYSBwcmludCB7XG4gIEBwYWdlIHtcbiAgICBzaXplOiBhdXRvO1xuICAgIG1hcmdpbjogMG1tICFpbXBvcnRhbnQ7XG4gIH1cbiAgYVtocmVmXTphZnRlciB7XG4gICAgY29udGVudDogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgcHJpbnQge1xuICAjSGVhZGVyLCAjRm9vdGVyIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwbW0gIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiB7XG4gIC5kb25vdHByaW50dGhpcyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbi5BZGRjb2xvciB7XG4gIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50O1xufVxuXG4ucmVtb3ZlQ29sb3Ige1xuICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDtcbn1cblxuLnJlbW92ZUNvbG9yMSB7XG4gIGNvbG9yOiAjY2NjICFpbXBvcnRhbnQ7XG4gIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50O1xufVxuXG4uZG90cyB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuaHRtbCxcbmJvZHkge1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbmlucHV0IHtcbiAgd2lkdGg6IDE4MSU7XG59XG5cbi5zcXVhcmUge1xuICBwYWRkaW5nOiAwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGOTk7XG4gIGNvbG9yOiBibGFjaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYm9yZGVyOiAycHggc29saWQgI0M5QzkyNztcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgYm94LXNoYWRvdzogM3B4IDNweCAzcHggI0M5QzkyNztcbiAgZm9udC1mYW1pbHk6IHVuc2V0O1xufVxuXG4uc3F1YXJlQWN0dnR5IHtcbiAgcGFkZGluZzogMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkNDO1xuICBjb2xvcjogYmxhY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXI6IDJweCBzb2xpZCAjQzlDOTI3O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIC8qZm9udC1zaXplOiAxMXB4OyovXG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gIC8qaGVpZ2h0OiA1MXB4OyovXG4gIHdpZHRoOiAxMDBweDtcbiAgYm94LXNoYWRvdzogM3B4IDNweCAzcHg7XG59XG5cbi8qI2FjdGl2aXR5IHtcbmZvbnQtc2l6ZTogLjV2dztcbiAgfSovXG5bc3F1YXJlQm94XSB7XG4gIHBhZGRpbmctdG9wOiA2JTtcbiAgcGFkZGluZy1yaWdodDogMiU7XG59XG5cbi5zcXVhcmVJbkFjdHZ0eSB7XG4gIHBhZGRpbmc6IDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UyZTNlNDtcbiAgY29sb3I6IGJsYWNrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyOiAycHggc29saWQgI2UyZTNlNDtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gIG1pbi1oZWlnaHQ6IDUxcHg7XG4gIHdpZHRoOiAxMDBweDtcbiAgZm9udC1mYW1pbHk6IHVuc2V0O1xufVxuXG4uc3F1YXJlRXhBY3R2dHkge1xuICBwYWRkaW5nOiAwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhM2NkYTI7XG4gIGNvbG9yOiBibGFjaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNhM2NkYTI7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICBtaW4taGVpZ2h0OiA1MXB4O1xuICB3aWR0aDogMTAwcHg7XG59XG5cbi5zcXVhcmVLUEkge1xuICAvKmJvcmRlcjogMnB4IHNvbGlkICMxMEJDRjU7Ki9cbiAgYmFja2dyb3VuZC1jb2xvcjogIzZBREFGRjtcbiAgY29sb3I6IHdoaXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgLypib3JkZXI6IDFweCBzb2xpZCAjMTBCQ0Y1OyovXG4gIGZvbnQtc2l6ZTogMTdweDtcbiAgLyogbWFyZ2luLWxlZnQ6LTIxcHg7ICovXG4gIHdpZHRoOiAyNXB4O1xuICAvKiBoZWlnaHQ6IDIxcHg7ICovXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLyogYm94LXNoYWRvdzogM3B4IDNweCAzcHggIzFFQkZGNDsgKi9cbiAgLyogcGFkZGluZy1sZWZ0OiA3JTtcbiAgcGFkZGluZy1yaWdodDogNiU7ICovXG59XG5cbi5zcXVhcmVLUEkxIHtcbiAgLypib3JkZXI6IDJweCBzb2xpZCAjMTBCQ0Y1OyovXG4gIGJhY2tncm91bmQtY29sb3I6ICM2QURBRkY7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIC8qYm9yZGVyOiAxcHggc29saWQgIzEwQkNGNTsqL1xuICBmb250LXNpemU6IDExcHg7XG4gIC8qIG1hcmdpbi1sZWZ0Oi0yMXB4OyAqL1xuICB3aWR0aDogMjBweDtcbiAgLypoZWlnaHQ6IDIxcHg7Ki9cbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC8qYm94LXNoYWRvdzogM3B4IDNweCAzcHggIzFFQkZGNDsqL1xufVxuXG4uc3F1YXJlSXNzdWUge1xuICAvKmJvcmRlcjogMnB4IHNvbGlkICNGRjVEQ0E7Ki9cbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGQUFFMztcbiAgY29sb3I6IHdoaXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd2lkdGg6IDI1cHg7XG4gIC8qIHBhZGRpbmc6IDE0JTsgKi9cbiAgLypoZWlnaHQ6IDIxcHg7Ki9cbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBmb250LXNpemU6IDE3cHg7XG4gIC8qIGJveC1zaGFkb3c6IDNweCAzcHggM3B4ICNGRjVEQ0E7ICovXG4gIC8qIG1hcmdpbi1sZWZ0Oi0xMXB4OyAqL1xufVxuXG4uc3F1YXJlSXNzdWUxIHtcbiAgLypib3JkZXI6IDJweCBzb2xpZCAjRkY1RENBOyovXG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkFBRTM7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdpZHRoOiAyNXB4O1xuICAvKiBwYWRkaW5nOiAxNCU7ICovXG4gIC8qaGVpZ2h0OiAyMXB4OyovXG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgZm9udC1zaXplOiAxN3B4O1xuICAvKiBib3gtc2hhZG93OiAzcHggM3B4IDNweCAjRkY1RENBOyAqL1xuICAvKiBtYXJnaW4tbGVmdDotMTFweDsgKi9cbn1cblxuLmNpcmNsZU0ge1xuICBoZWlnaHQ6IDEwJTtcbiAgd2lkdGg6IDEwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZBREFGRjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZzogMHB4IDVweDtcbn1cblxuLmNpcmNsZUkge1xuICBoZWlnaHQ6IDEwJTtcbiAgd2lkdGg6IDEwJTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZzogMHB4IDVweDtcbn1cblxudGFibGUgdGQsXG50aCB7XG4gIGZvbnQtc2l6ZTogMTBweDtcbn1cblxuQG1lZGlhIHByaW50IHtcbiAgLmRvbm90cHJpbnR0aGlzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5AbWVkaWEgcHJpbnQge1xuICBAcGFnZSB7XG4gICAgc2l6ZTogYXV0bztcbiAgICBtYXJnaW46IDBtbTtcbiAgfVxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBwcmludCB7XG4gICNIZWFkZXIsXG4jRm9vdGVyIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4ge1xuICAuZG9ub3RwcmludHRoaXMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNTc2cHgpIHtcbiAgI21vYmxnZCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0yJTtcbiAgfVxuXG4gIC5hbGlnbm1lbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDFweDtcbiAgfVxuXG4gIC5hbGlnbm1lbnQxIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtM3B4O1xuICB9XG59Il19 */\"","import { Component, OnInit, Inject, OnChanges } from '@angular/core';\nimport { DorseyService } from '../dorsey.service';\nimport { GoalService } from '../services/goal.service';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { PointerDialogComponent } from '../pointer/pointer.component';\nimport { MetricDialogComponent } from '../metric/metric.component';\nimport { LocalStorageService } from 'ngx-webstorage';\nimport { ProcessDialogComponent } from '../process/process.component';\nimport { ActivityDialogComponent } from '../activity/activity.component';\nimport { trigger, state, style, animate, transition } from '@angular/animations';\nimport { CdkDragDrop, transferArrayItem } from '@angular/cdk/drag-drop';\nimport { EmployeeLoginLevel } from '../common/models/login-level.model';\nimport { PerformanceScoreCardService } from '../performance-score-card/performance-score-card.service';\nimport { HostListener } from '@angular/core';\nimport { LoginComponent } from '../login/login.component';\nimport { LocationStrategy } from '@angular/common'\nimport { copyRight } from '../copyRight.model';\n\n@Component({\n selector: 'app-process-map',\n templateUrl: './process-map.component.html',\n styleUrls: ['./process-map.component.scss'],\n providers: [DorseyService, ProcessMapComponent],\n animations: [\n trigger('changeDivSize', [\n state('initial', style({\n width: '100%',\n height: '100%',\n })),\n state('final', style({\n // width: '50%',\n height: '100%'\n })),\n transition('initial=>final', animate('1500ms')),\n transition('final=>initial', animate('1000ms'))\n ]),\n\n trigger('changeTextSize', [\n state('initial', style({\n fontSize: '13px'\n })),\n state('final', style({\n fontSize: '6px'\n })),\n transition('initial=>final', animate('1500ms')),\n transition('final=>initial', animate('1000ms'))\n ]),\n trigger('changeBoxSize', [\n state('initial', style({\n fontSize: '17px',\n padding: '0px 6px 0px 6px'\n })),\n state('final', style({\n fontSize: '10px',\n padding: '0px 2px 0px 2px'\n })),\n transition('initial=>final', animate('1500ms')),\n transition('final=>initial', animate('1000ms'))\n ]),\n trigger('changeActBoxSize', [\n state('initial', style({\n fontSize: '17px',\n height: '26px',\n width: '26px'\n })),\n state('final', style({\n fontSize: '6px',\n height: '11px',\n width: '11px'\n })),\n transition('initial=>final', animate('1500ms')),\n transition('final=>initial', animate('1000ms'))\n ]),\n trigger('changeActBoxSize1', [\n state('initial', style({\n fontSize: '17px',\n height: '26px',\n width: '26px'\n })),\n state('final', style({\n fontSize: '8px',\n height: '11px',\n width: '11px'\n })),\n transition('initial=>final', animate('1500ms')),\n transition('final=>initial', animate('1000ms'))\n ]),\n trigger('changeMFDivSize', [\n state('initial', style({\n // width: '100%',\n // height: '100%',\n })),\n state('final', style({\n // width: '90%',\n // height: '50%'\n })),\n transition('initial=>final', animate('1500ms')),\n transition('final=>initial', animate('1000ms'))\n ]),\n trigger('changeAlertBoxSize', [\n state('initial', style({\n // fontSize:'12px',\n // height:'40%px',\n width: '20px'\n })),\n state('final', style({\n // fontSize:'6px',\n // height:'20%',\n width: '11px'\n })),\n transition('initial=>final', animate('1500ms')),\n transition('final=>initial', animate('1000ms'))\n ])\n ]\n})\nexport class ProcessMapComponent implements OnInit, OnChanges {\n copyRight: string = copyRight;\n isDisabledTeamId: boolean = false\n menuCCheck = false;\n menuReadCheck = false;\n menuCreateCheck = false;\n activityTemp: any;\n menuUpdateCheck = false;\n menuDeleteCheck = false;\n RoleData: any;\n readOnly = false;\n TeamName: string;\n empID: number;\n granualActivity = [];\n granualProcess = [];\n granualTeam = [];\n versions = [];\n currentVersion = '';\n showPrintData: boolean = false;\n\n filterDropProcess: any;\n filterDropActivity: any;\n MapType: string;\n CompanyID: string;\n\n processLists = [];\n pointerList = [];\n activityLists: any;\n ActiveActivities = {};\n tempSubList = [];\n ProcessFinalList = [];\n IssuesLists = {\n\n };\n\n granulProcessLists = {\n\n };\n\n granualTempProcess = [];\n employeeData: any;\n processData: any;\n connectedTo = [];\n activityData: any;\n pointerTypeData: any;\n frustrationtypeData: any;\n departmentData: any;\n teamData: any;\n severityData: any;\n statusData: any;\n ProcessType: string;\n EmployeeID: string;\n ProcessID: string;\n ActivityID: string;\n PointerTypeID: string;\n FrustrationTypeID: string;\n DepartmentID: string;\n TeamID: any;\n StatusID: string;\n SeverityID: string;\n Subject: string;\n Description: string;\n PointerID: string;\n pointerData: any;\n tempActivity = [];\n tempFrustrationType = [];\n CaseData = [];\n processIDs = [];\n expandMap = false;\n cased: any;\n IsVersion = false;\n condition = false;\n pocessSepecficActivity = [];\n subProcessMap = {};\n headerDate = new Date();\n metricData: any;\n expandProcess = false;\n selcetdProcessId = [];\n errorMessage: string;\n Permissons: any;\n showDiv = true;\n companyData: any;\n CompanyName: string;\n subTeam = false;\n MenuPermissions: any;\n menuData: any;\n menuID: string;\n activityTypeData: any;\n menuName: string;\n ParentID: string;\n VersionNumber: number;\n childTableName: string;\n childTableNameType: string;\n currentVersionFileds = true;\n currentUser: string;\n EmpROleID: string;\n hideButton = true;\n dashboardTeamID: any;\n typeName: any;\n alertData: any;\n alertPTypeID: any;\n alertMTypeID: any;\n alertValue: any;\n\n alertMetricValue: any;\n alertMetricPointer: any;\n ifMetricAlert = false;\n //showMetricAlert=false;\n showMetricAlert = {};\n AlertMetricStatus: any;\n copyDate: number;\n childTablePointers: any;\n squence: any;\n parentID: any;\n\n currentZoomLevel: number;\n width = 100;\n height = 100;\n currentState = 'initial';\n changeSize = false;\n previousVersionID: string;\n sequenceList = [];\n lastSequence: any;\n GoalsList: any;\n employeeDetails: any;\n employeeLoginLevel = EmployeeLoginLevel;\n constructor(private dorseyService: DorseyService, private location: LocationStrategy,\n private dialog: MatDialog, private storage: LocalStorageService,\n private goalService: GoalService\n ) {\n history.pushState(null, null, window.location.href);\n this.location.onPopState(() => {\n history.pushState(null, null, window.location.href);\n });\n\n this.currentUser = this.storage.retrieve('user');\n this.menuData = this.storage.retrieve('menuData');\n this.CompanyID = this.storage.retrieve('companyID');\n this.EmployeeID = this.storage.retrieve('EmployeeID');\n this.MenuPermissions = this.storage.retrieve('MenuPermissions');\n this.EmpROleID = this.storage.retrieve(\"EmpRoleID\");\n this.empID = this.storage.retrieve(\"EmployeeID\");\n this.dashboardTeamID = this.storage.retrieve(\"id\");\n this.CompanyName = this.storage.retrieve('CompanyName');\n if (this.dashboardTeamID !== null) {\n this.TeamID = Number(this.dashboardTeamID);\n }\n else if (this.EmployeeID.toString() === \"0\") {\n this.TeamID = Number(this.storage.retrieve('TeamIDLeader'));\n }\n else {\n this.TeamID = (this.storage.retrieve('TeamID'));\n }\n this.employeeDetails = this.storage.retrieve(\"employeeDetails\");\n this.GetEmployee();\n this.MapType = \"3\";\n this.typeName = 'Both';\n this.GetTeam();\n }\n\n ngOnChanges() {\n\n }\n\n // @HostListener('window:popstate', ['$event'])\n // onPopState(event) {\n // console.log('Back button pressed');\n // var loginLevel = this.storage.retrieve(\"loginLevel\");\n // if (loginLevel === 'organization' || loginLevel === 'superadmin' || loginLevel === 'entity') {\n // this.login.BackToAdmin();\n // }\n // }\n\n ngOnInit() {\n this.GetRoles();\n this.GetGoals();\n let tempdata = this.menuData;\n this.menuData = tempdata.filter(x => x.MenuName.toString().toLowerCase() === 'processmap');\n if (this.menuData.length > 0) {\n this.menuName = this.menuData[0][\"MenuName\"];\n this.menuID = this.menuData[0][\"MenuID\"];\n }\n\n if ((this.MenuPermissions[this.menuName][this.menuID]['C'] && this.MenuPermissions[this.menuName][this.menuID]['R']) || (this.MenuPermissions[this.menuName][this.menuID]['U'] && this.MenuPermissions[this.menuName][this.menuID]['R']) || (this.MenuPermissions[this.menuName][this.menuID]['D'] && this.MenuPermissions[this.menuName][this.menuID]['R'])) {\n this.readOnly = false;\n }\n else {\n this.readOnly = true;\n }\n this.GetActivityType();\n this.GetCompany();\n this.GetPointer();\n this.GetActivities();\n this.GetDepartment();\n this.GetPointerType();\n this.GetSeverity();\n this.GetStatus();\n this.GetFrustrationType();\n this.GetAlertValues();\n this.GetMetricAlert();\n setTimeout(() => {\n this.checkForMetricAlert();\n }, 500);\n\n this.copyDate = (new Date()).getFullYear();\n }\n\n\n GetGoals() {\n this.GoalsList = [];\n this.goalService.getGoals(parseInt(this.CompanyID)).subscribe(resp => {\n\n this.GoalsList = resp.Data;\n });\n }\n changeState() {\n this.changeSize = !this.changeSize;\n this.currentState = this.currentState === 'initial' ? 'final' : 'initial';\n }\n GetCompany() {\n this.dorseyService.GetCompanyData().subscribe(company => {\n this.companyData = JSON.parse(company['_body']);\n let filterCompanyName = this.companyData.filter(x => x.CompanyID === this.CompanyID);\n if (filterCompanyName.length === 1) {\n this.CompanyName = filterCompanyName[0].CompanyName;\n\n }\n });\n\n }\n isOverflown(element) {\n return element.scrollHeight > element.clientHeight || element.scrollWidth > element.clientWidth;\n }\n\n AutoFit() {\n let el = document.getElementsByClassName('squareInActvty');\n\n for (let index = 0; index < el.length; ++index) {\n var div = el[index];\n\n\n }\n }\n GetVersions() {\n\n this.errorMessage = \"\";\n\n this.dorseyService.GetVersions(Number(this.CompanyID), this.TeamID).subscribe(versions => {\n this.versions = JSON.parse(versions['_body']);\n if (this.versions.length > 0) {\n if (this.TeamID) {\n this.currentVersion = this.versions[this.versions.length - 1];\n this.DepartmentID = this.versions[this.versions.length - 1]['VersionID'];\n }\n this.ConstructMap();\n }\n else {\n this.ProcessFinalList = [];\n this.granualActivity = [];\n this.granualProcess = [];\n this.pointerList = [];\n\n this.processLists = [];\n this.TeamID = this.TeamID;\n }\n\n });\n }\n GetSelectedVersion(event) {\n this.processLists = [];\n this.activityLists = [];\n this.pointerList = [];\n this.previousVersionID = event.value;\n for (let i = 0; i < this.versions.length; i++) {\n if (this.versions[i].VersionID === event.value) {\n this.currentVersion = this.versions[i];\n if (this.versions[i].VersionName.split('_').length !== 1) {\n this.headerDate = new Date(this.versions[i].VersionName.split('_')[1]);\n this.currentVersionFileds = false;\n }\n else {\n this.headerDate = new Date();\n this.currentVersionFileds = false;\n }\n }\n }\n this.ConstructMap();\n }\n GetSelectedProcessMap(event) {\n\n this.selcetdProcessId = [];\n this.activityLists = [];\n this.ActiveActivities = [];\n this.TeamID = event.value;\n\n this.subTeam = true;\n\n this.GetVersions();\n for (let i = 0; i < this.teamData.length; i++) {\n\n if (this.teamData[i].TeamID === event.value) {\n\n }\n }\n }\n\n GetRoles() {\n this.dorseyService.GetRoles(this.CompanyID).subscribe(data => {\n\n let roledata = JSON.parse(data[\"_body\"]);\n this.RoleData = roledata;\n\n let tempData = roledata.filter(x => x.RoleID === this.EmpROleID);\n if (tempData.length == 0) {\n\n return;\n }\n\n else {\n if (!tempData[0].PermissionJson) {\n return;\n }\n else {\n this.Permissons = JSON.parse(tempData[0].PermissionJson);\n }\n }\n\n });\n }\n\n\n ConstructMap() {\n if (!this.TeamID)\n return;\n this.connectedTo = [];\n this.IssuesLists = [];\n this.ActiveActivities = [];\n this.ProcessFinalList = [];\n\n this.dorseyService.GetVersions(Number(this.CompanyID), this.TeamID).subscribe(versions => {\n this.versions = JSON.parse(versions['_body']);\n let CurrentVersionNumber;\n this.processLists = [];\n this.processIDs = [];\n this.granualProcess = [];\n this.granualActivity = [];\n this.hideButton = true;\n\n let tableName;\n let tableAct;\n let tablePointers;\n let tableKeyProcessTeam;\n let tableActivitiesTeam;\n let tablefrustrationType;\n this.CompanyID = this.CompanyID;\n if (this.TeamID !== '0') {\n let data = this.teamData.filter(x => x.TeamID === this.TeamID);\n if (data.length > 0) {\n this.TeamName = data[0].TeamName;\n }\n\n\n }\n CurrentVersionNumber = this.currentVersion['VersionID'];\n this.VersionNumber = CurrentVersionNumber;\n\n if (this.currentVersion['VersionName'] != undefined)\n if (this.currentVersion['VersionName'].split('_').length === 1) {\n this.IsVersion = false;\n }\n\n\n if (this.currentVersion['VersionName'] != undefined)\n if (!(this.currentVersion['VersionName'].split('_').length === 1)) {\n\n this.IsVersion = true;\n tableName = 'Ver_KeyProcess';\n tableAct = 'Ver_Activities';\n tablePointers = 'Ver_Pointers';\n tablefrustrationType = 'Ver_FrustrationsType';\n\n }\n else {\n this.IsVersion = false;\n tableName = 'KeyProcess';\n tableAct = 'Activities';\n tablePointers = 'Pointers';\n\n tablefrustrationType = 'FrustrationsType';\n }\n this.childTableName = tablePointers;\n this.childTablePointers = tablePointers;\n this.childTableNameType = tableAct;\n this.dorseyService.GetSelectedVersionData(Number(CurrentVersionNumber), Number(this.CompanyID), Number(this.TeamID), tableName).subscribe(process => {\n\n process = JSON.parse(process['_body']);\n\n let Prcesses: any = process;\n\n this.dorseyService.GetSelectedVersionPointerData(CurrentVersionNumber, Number(this.CompanyID), Number(this.TeamID), tablePointers).subscribe(pointer => {\n this.pointerList = JSON.parse(pointer['_body']);\n\n for (let i = 0; i < Prcesses.length; i++) {\n\n let PmCount = 0; let PfCount = 0;\n let smCount = 0, sfCount = 0;\n\n let subActiCount = 0;\n if (Prcesses[i]['CompanyID'].toString() === this.CompanyID.toString() || this.CompanyID.toString() == \"0\") {\n\n\n this.processLists.push(Prcesses[i]);\n\n\n if (!this.Permissons) {\n this.granualProcess = this.processLists;\n\n }\n else {\n\n\n if (this.Permissons[\"Process\"] !== undefined) {\n let ProcessPer = this.Permissons[\"Process\"];\n\n let processKeys = Object.keys(ProcessPer);\n\n this.granualProcess = [];\n\n for (let i = 0; i < processKeys.length; i++) {\n\n let prsData = this.processLists.filter(x => x.ProcessID.toString() === processKeys[i].toString());\n\n if (prsData.length > 0) {\n let permissonKeys = Object.keys(ProcessPer[processKeys[i]]);\n\n if (permissonKeys.indexOf('R') > -1)\n prsData[0]['R'] = ProcessPer[processKeys[i]]['R'];\n else\n prsData[0]['R'] = false;\n\n\n if (permissonKeys.indexOf('C') > -1)\n prsData[0]['C'] = ProcessPer[processKeys[i]]['C'];\n else\n prsData[0]['C'] = false;\n\n\n if (permissonKeys.indexOf('U') > -1)\n prsData[0]['U'] = ProcessPer[processKeys[i]]['U'];\n else\n prsData[0]['U'] = false;\n\n\n if (permissonKeys.indexOf('D') > -1)\n prsData[0]['D'] = ProcessPer[processKeys[i]]['D'];\n else\n prsData[0]['D'] = false;\n\n this.granualProcess.push(prsData[0]);\n }\n else {\n\n }\n\n\n\n }\n\n if (this.granualProcess.length === 0) {\n this.granualProcess = this.processLists;\n }\n }\n else {\n\n if (this.TeamID != \"0\" && this.CompanyID != \"0\") {\n let data = this.processLists.filter(x => x.TeamID === this.TeamID && x.CompanyID === this.CompanyID);\n this.processLists = data;\n this.granualProcess = this.processLists;\n\n }\n else {\n let data = this.processLists.filter(x => x.CompanyID === this.CompanyID);\n this.processLists = data;\n this.granualProcess = this.processLists;\n }\n\n\n }\n }\n\n\n this.dorseyService.GetSelectedVersionActivityData(CurrentVersionNumber, Number(this.CompanyID), Number(this.TeamID), tableAct).subscribe(activity => {\n\n activity = JSON.parse(activity['_body']);\n\n this.activityLists = activity;\n\n\n\n\n\n // let filter=this.activityLists.filter(x=>x.ProcessID=== this.granualProcess[i].ProcessID);\n // if(filter.length>0){\n // this.activityTemp=filter;\n // }\n\n // else{\n // this.activityTemp=[];\n // }\n\n\n\n if (!this.Permissons) {\n this.granualActivity = this.activityLists;\n\n }\n else {\n\n if (this.Permissons[\"Activity\"] !== undefined) {\n\n\n let ActPer = this.Permissons[\"Activity\"];\n\n let activityKeys = Object.keys(ActPer);\n\n this.granualActivity = [];\n for (let i = 0; i < activityKeys.length; i++) {\n\n\n let actData = this.activityLists.filter(x => x.ActivityID.toString() === activityKeys[i].toString());\n if (actData.length > 0) {\n let permissonKeys = Object.keys(ActPer[activityKeys[i]]);\n\n if (permissonKeys.indexOf('R') > -1)\n actData[0]['R'] = ActPer[activityKeys[i]]['R'];\n else\n actData[0]['R'] = false;\n\n\n if (permissonKeys.indexOf('C') > -1)\n actData[0]['C'] = ActPer[activityKeys[i]]['C'];\n else\n actData[0]['C'] = false;\n\n\n if (permissonKeys.indexOf('U') > -1)\n actData[0]['U'] = ActPer[activityKeys[i]]['U'];\n else\n actData[0]['U'] = false;\n\n\n if (permissonKeys.indexOf('D') > -1)\n actData[0]['D'] = ActPer[activityKeys[i]]['D'];\n else\n actData[0]['D'] = false;\n\n this.granualActivity.push(actData[0]);\n }\n\n }\n if (this.granualActivity.length === 0) {\n this.granualActivity = this.activityLists;\n }\n\n }\n else {\n\n if (this.TeamID != \"0\" && this.CompanyID != \"0\") {\n let data = this.activityLists.filter(x => x.TeamID === this.TeamID && x.CompanyID === this.CompanyID);\n this.activityLists = data;\n this.granualActivity = this.activityLists;\n\n }\n else {\n let data = this.activityLists.filter(x => x.CompanyID === this.CompanyID);\n this.activityLists = data;\n this.granualActivity = this.activityLists;\n }\n\n }\n }\n\n const ActivityJson = [];\n let ActiDummyM = {}; const ActiDummyI = {}; let procesDummy = {};\n let issueDummy = {}; let metricDummy = {};\n let issueProcess = {}; let metricProcess = {};\n let metricMoreThanDummy = {};\n let issueProbool = {};\n let metricProbool = {};\n\n for (let j = 0; j < this.granualActivity.length; j++) {\n let frustationCount = []; let fCount = 0;\n let metricCount = []; let mCount = 0;\n\n\n if (this.granualActivity[j]['ProcessID'].toString() === this.granualProcess[i].ProcessID.toString() && this.granualActivity[j].ParentID === 0) {\n\n\n this.metricData = this.pointerList.filter(x => x.PointerTypeID != null && x.PointerTypeID.toString() === '2');\n this.pointerList.forEach(element => {\n\n\n if (element['ProcessID'] === this.granualProcess[i].ProcessID && element['ActivityID'] === this.granualActivity[j]['ActivityID']) {\n if (element['PointerTypeID'] === 2) {\n mCount++;\n this.expandProcess = false;\n let metric = this.metricData.filter(x => x.ProcessID === this.granualProcess[i].ProcessID && x.ActivityID === this.granualActivity[j].ActivityID)\n metricDummy[this.granualActivity[j]['ActivityID']] = metric;\n } else {\n\n fCount++;\n this.expandProcess = false;\n this.dorseyService.GetCaseData(this.granualProcess[i].ProcessID, this.granualActivity[j].ActivityID, 1, CurrentVersionNumber, this.childTableName, this.childTableNameType).subscribe(cases => {\n cases = JSON.parse(cases['_body']);\n this.cased = cases;\n issueDummy[this.granualActivity[j]['ActivityID']] = this.cased;\n });\n }\n }\n else {\n if (element['PointerTypeID'] === 2) {\n let metric = this.metricData.filter(x => x.ProcessID === this.granualProcess[i].ProcessID && x.ActivityID === this.granualActivity[j].ActivityID)\n\n metricMoreThanDummy[this.granualActivity[j]['ActivityID']] = metric.length;\n }\n }\n });\n\n\n let subActData = this.granualActivity.filter(x => x.ProcessID === this.granualProcess[i].ProcessID && x.ParentID !== 0);\n\n for (let n = 0; n < subActData.length; n++) {\n\n if (subActData[n]['ProcessID'].toString() === this.granualProcess[i].ProcessID.toString()) {\n\n for (let a = 0; a < this.pointerList.length; a++) {\n if (subActData[n].ActivityID === this.pointerList[a].ActivityID && this.pointerList[a].PointerTypeID === 2) {\n\n smCount++;\n } else if (subActData[n].ActivityID === this.pointerList[a].ActivityID && this.pointerList[a].PointerTypeID === 1) {\n\n sfCount++;\n }\n }\n\n }\n }\n\n this.granualProcess[i].SubMetricCount = smCount;\n this.granualProcess[i].SubIssueCount = sfCount;\n\n if (this.granualProcess[i].MetricCount) {\n this.granualProcess[i].MetricCount = +this.granualProcess[i].MetricCount + mCount;\n }\n else { this.granualProcess[i].MetricCount = mCount; }\n if (this.granualProcess[i].IssueCount) {\n this.granualProcess[i].IssueCount = +this.granualProcess[i].IssueCount + fCount;\n }\n else { this.granualProcess[i].IssueCount = fCount; }\n\n if (mCount !== 0) {\n ActiDummyM[this.granualActivity[j]['ActivityID']] = mCount;\n }\n\n\n if (fCount !== 0) {\n ActiDummyI[this.granualActivity[j]['ActivityID']] = fCount;\n }\n\n let element = document.getElementById('metric');\n\n procesDummy['Metric'] = ActiDummyM;\n procesDummy['MetricCount'] = this.granualProcess[i].MetricCount;\n procesDummy['Issue'] = ActiDummyI;\n procesDummy['IssueCount'] = this.granualProcess[i].IssueCount;\n\n ActivityJson.push(this.granualActivity[j]);\n ActivityJson.sort(function (a, b) {\n return a.squence - b.squence;\n });\n\n this.ActiveActivities[this.granualProcess[i].ProcessID] = ActivityJson;\n\n this.tempSubList[this.granualActivity[j]];\n\n\n } if (this.granualActivity[j]['ProcessID'].toString() === this.granualProcess[i].ProcessID.toString() && this.granualActivity[j].ParentID !== 0) {\n\n subActiCount++;\n }\n procesDummy['SubActivity'] = subActiCount;\n\n }\n\n this.pointerList.forEach(element => {\n if (element['ProcessID'] === this.granualProcess[i].ProcessID && element['ActivityID'] === 0) {\n if (this.processIDs.indexOf(this.granualProcess[i].ProcessID) > -1) {\n } else {\n if (element['StatusID'] !== 4 || element['StatusID'] !== 5) {\n if (element['PointerTypeID'] === 2) {\n PmCount++;\n this.metricData = this.pointerList.filter(x => x.PointerTypeID != null && x.PointerTypeID.toString() === '2');\n let metricd = this.metricData.filter(x => x.ProcessID === this.granualProcess[i].ProcessID && x.ActivityID === 0)\n metricProcess[Prcesses[i]['ProcessID']] = metricd;\n metricProbool[Prcesses[i]['ProcessID']] = true;\n this.expandProcess = true;\n\n } else {\n PfCount++;\n this.dorseyService.GetCaseData(this.granualProcess[i].ProcessID, 0, 1, CurrentVersionNumber, this.childTableName, this.childTableNameType).subscribe(cases => {\n cases = JSON.parse(cases['_body']);\n\n issueProcess[Prcesses[i]['ProcessID']] = cases;\n this.expandProcess = true;\n issueProbool[Prcesses[i]['ProcessID']] = true;\n\n });\n }\n }\n }\n }\n });\n\n this.granualProcess.forEach(elementProcess => {\n this.granualTempProcess = [];\n this.granulProcessLists = [];\n this.granualActivity.forEach(elementActivity => {\n\n\n if (elementProcess.ProcessID == elementActivity.ProcessID && elementActivity.ParentID == 0) {\n this.granualTempProcess.push(elementActivity);\n }\n\n });\n\n\n this.granualTempProcess.sort(function (a, b) {\n return a.squence - b.squence;\n });\n // this.granulProcessLists['weeklist'] = this.granualTempProcess;\n if (this.granualProcess.length == this.ProcessFinalList.length) {\n return;\n }\n else {\n this.ProcessFinalList.push({\n 'ProcessID': elementProcess.ProcessName,\n 'ActivityList': this.granualTempProcess,\n 'Process': elementProcess\n });\n\n this.connectedTo.push(elementProcess.ProcessName);\n }\n })\n\n if (this.processIDs.indexOf(this.granualProcess[i].ProcessID) > -1) { }\n else { this.processIDs.push(this.granualProcess[i].ProcessID); }\n procesDummy['IssueProcess'] = issueProcess;\n procesDummy['MetricProcess'] = metricProcess;\n Prcesses[i].pMetricCount = PmCount;\n Prcesses[i].pIssueCount = PfCount;\n Prcesses[i].SubMetricCount = smCount;\n Prcesses[i].SubIssueCount = sfCount;\n procesDummy['pMetricCount'] = PmCount;\n procesDummy['pIssueCount'] = PfCount;\n procesDummy['SubMetricCount'] = smCount;\n procesDummy['SubIssueCount'] = sfCount;\n procesDummy['IssueList'] = issueDummy;\n procesDummy['MetricList'] = metricDummy;\n procesDummy['MetricMoreThan'] = metricMoreThanDummy;\n procesDummy['TeamID'] = Prcesses[i].TeamID;\n if (Object.keys(procesDummy).length > 0) {\n this.IssuesLists[this.granualProcess[i].ProcessID] = procesDummy;\n }\n\n\n let datatemp = this.chunk(this.tempSubList, 3);\n this.checkForMetricAlert();\n\n\n });\n }\n }\n });\n });\n });\n }\n chunk(arr, size) {\n var newArr = [];\n for (var i = 0; i < arr.length; i += size) {\n newArr.push(arr.slice(i, i + size));\n }\n return newArr;\n }\n Print1() {\n var id = document.getElementById('Map');\n var prt = document.getElementById('printMap');\n // prt.style.height ='1000px';\n // id.classList.remove('donotprintthis');\n var printContents = document.getElementById('printMap').innerHTML;\n var originalContents = document.body.innerHTML;\n document.body.innerHTML = printContents;\n window.print();\n\n //prt.style.height ='440px';\n // document.body.innerHTML = originalContents;\n }\n\n Print() {\n // var id = document.getElementById('Map');\n // var prt = document.getElementById('printMap');\n // prt.style.height ='1000px';\n //id.classList.remove('donotprintthis');\n var printContents = document.getElementById('printMap').innerHTML;\n document.body.innerHTML = printContents;\n window.print();\n //prt.style.height ='440px';\n // document.body.innerHTML = originalContents;\n }\n\n\n Versioning(menuPer) {\n if (!menuPer) {\n return;\n }\n const json = {\n CompanyID: this.CompanyID,\n TeamID: this.TeamID,\n createdby: this.currentUser\n };\n const dialogRef = this.dialog.open(ProcessMapDialogComponent, {\n data: 'Are you sure you want to version it ' + '?æææ' + true,\n });\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n this.dorseyService.SaveProcess(json, 'Yes').subscribe(data => {\n if (data.ok) {\n this.condition = true;\n this.dialogCall('Version saved successfully');\n }\n // this.GetProcess();\n // this.GetActivities();\n // this.GetPointer();\n this.GetVersions();\n });\n }\n });\n }\n\n ExpandMap() {\n this.processLists = [];\n this.IssuesLists = {};\n this.processIDs = [];\n this.pointerList = [];\n this.ConstructMap()\n this.expandMap = true;\n\n }\n HideMap() {\n this.expandMap = false;\n }\n\n GetPointer() {\n this.dorseyService.GetPointer(this.CompanyID).subscribe(subData => {\n\n subData = JSON.parse(subData['_body']);\n this.pointerData = subData;\n this.metricData = this.pointerData.filter(x => x.PointerTypeID != null && x.PointerTypeID.toString() === '2');\n\n });\n }\n GetEmployee() {\n this.dorseyService.GetEmployee(this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.employeeData = subData;\n let temmEmployee = this.employeeData;\n\n if (this.TeamID != '0') {\n this.employeeData = temmEmployee.filter(x => x.TeamID === this.TeamID || x.CompanyID == this.CompanyID);\n } else {\n this.employeeData = temmEmployee.filter(x => x.CompanyID === this.CompanyID);\n }\n\n\n\n if (this.empID.toString() !== '0') {\n let filterEmp = this.employeeData.filter(x => x.EmployeeID === this.empID);\n if (filterEmp.length > 0) {\n if (filterEmp[0].TeamID !== '0') {\n this.TeamID = filterEmp[0].TeamID;\n }\n\n }\n\n\n }\n });\n }\n\n\n GetDepartment() {\n this.dorseyService.GetDepartment().subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.departmentData = subData;\n });\n }\n\n GetPointerType() {\n this.dorseyService.GetPointerType().subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.pointerTypeData = subData;\n });\n }\n GetStatus() {\n this.dorseyService.GetStatus().subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.statusData = subData;\n });\n }\n GetSeverity() {\n this.dorseyService.GetSeverity().subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.severityData = subData;\n });\n }\n\n GetTeam() {\n this.GetRoles();\n this.ProcessFinalList = []; ``\n this.granualProcess = [];\n this.granualActivity = [];\n this.IssuesLists = [];\n this.processLists = [];\n this.pointerList = [];\n this.activityLists = [];\n\n this.dorseyService.GetTeam(this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.teamData = subData;\n if (!this.Permissons) {\n\n if (this.EmployeeID.toString() !== \"0\") {\n if (this.employeeLoginLevel.Department == this.employeeDetails.IsEmployeeLoginLevel) {\n this.teamData = this.teamData.filter(ent => ent.DepartmentID == this.employeeDetails.DepartmentID);\n }\n else if (this.employeeLoginLevel.Team == this.employeeDetails.IsEmployeeLoginLevel) {\n this.teamData = this.teamData.filter(ent => ent.DepartmentID == this.employeeDetails.DepartmentID && ent.TeamID == this.employeeDetails.TeamID);\n }\n else {\n this.teamData = subData;\n }\n // if (this.TeamID.toString() !== \"0\" && this.CompanyID.toString() !== \"0\") {\n // let data = this.teamData.filter(x => x.TeamID === this.TeamID && x.CompanyID === this.CompanyID);\n\n // this.teamData = data;\n // this.TeamID = this.teamData[0].TeamID;\n // }\n // else {\n // let data = this.teamData.filter(x => x.CompanyID === this.CompanyID);\n // this.teamData = data;\n // }\n }\n else {\n this.teamData = subData;\n }\n\n }\n else if (this.Permissons[\"Team\"] !== undefined) {\n\n let TeamPer = this.Permissons[\"Team\"];\n let TeamKeys = Object.keys(TeamPer);\n let teamTemp = TeamKeys;\n\n if (!TeamKeys) {\n this.teamData = subData;\n }\n else {\n\n let tempList = [];\n for (let k = 0; k < TeamKeys.length; k++) {\n let data = this.teamData.filter(x => x.TeamID.toString() === TeamKeys[k].toString());\n if (data.length > 0) {\n tempList[k] = (data[0]);\n }\n }\n this.teamData = tempList;\n }\n }\n else {\n if (this.employeeLoginLevel.Department == this.employeeDetails.IsEmployeeLoginLevel) {\n this.teamData = this.teamData.filter(ent => ent.DepartmentID == this.employeeDetails.DepartmentID);\n }\n else if (this.employeeLoginLevel.Team == this.employeeDetails.IsEmployeeLoginLevel) {\n this.teamData = this.teamData.filter(ent => ent.DepartmentID == this.employeeDetails.DepartmentID && ent.TeamID == this.employeeDetails.TeamID);\n }\n else {\n this.teamData = subData;\n }\n // if (this.TeamID.toString() !== \"0\" && this.CompanyID.toString() !== \"0\") {\n // let data = this.teamData.filter(x => x.TeamID === this.TeamID && x.CompanyID === this.CompanyID);\n\n // this.teamData = data;\n // }\n // else {\n // let data = this.teamData.filter(x => x.CompanyID === this.CompanyID);\n // this.teamData = data;\n // this.TeamID = this.teamData[0].TeamID;\n // }\n }\n\n if (this.TeamID.toString() === '0') {\n if (this.teamData !== undefined) {\n for (let i = 0; i < this.teamData.length; i++) {\n if (this.teamData[i].TeamName === 'Leadership Team') {\n this.TeamID = this.teamData[i].TeamID;\n }\n }\n }\n }\n this.GetVersions();\n });\n\n }\n\n //drag drop activity\n dropActivity(event: CdkDragDrop, ProcessData: any) {\n this.sequenceList = [];\n this.filterDropActivity = [];\n\n if (event.previousContainer === event.container) {\n // moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);\n\n this.filterDropActivity = event.container.data;\n let filterArrayActivity = this.filterDropActivity.filter(x => x.squence == event.previousIndex + 1);\n\n if (filterArrayActivity.length > 0 && filterArrayActivity.length == 1) {\n this.SaveActivity(filterArrayActivity, event.currentIndex + 1, filterArrayActivity[0].ProcessID, 'move');\n }\n }\n else {\n\n transferArrayItem(event.previousContainer.data,\n event.container.data,\n event.previousIndex,\n event.currentIndex);\n\n\n this.filterDropActivity = event.container.data;\n for (let i = 0; i < this.filterDropActivity.length; i++) {\n\n if (this.filterDropActivity[i].ProcessID === ProcessData.ProcessID && this.filterDropActivity[i].ParentID === 0 && this.TeamID === this.filterDropActivity[i].TeamID) {\n this.sequenceList.push(this.filterDropActivity[i].squence);\n }\n\n\n }\n\n let filterArrayActivity = this.filterDropActivity.filter(x => x.squence == event.previousIndex + 1 && x.ProcessID !== ProcessData.ProcessID);\n\n this.SaveActivity(filterArrayActivity, event.currentIndex + 1, ProcessData.ProcessID, 'transfer');\n }\n\n\n }\n //drag drop process\n dropProcess(event: CdkDragDrop) {\n\n if (event.previousContainer === event.container) {\n this.filterDropProcess = event.container.data;\n let filterArrayProcess = this.filterDropProcess.filter(x => x['Process'].squence == event.previousIndex + 1);\n\n if (filterArrayProcess.length > 0 && filterArrayProcess.length == 1) {\n this.SaveProcess(filterArrayProcess[0]['Process'], event.currentIndex + 1);\n }\n }\n // moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);\n }\n SaveProcess(processData: any, currentIndex) {\n\n const json = {\n CompanyID: processData.CompanyID,\n\n processName: processData.ProcessName,\n createdby: processData.CreatedBy,\n processID: processData.ProcessID,\n updatedby: processData.CreatedBy,\n ProcessDescription: processData.ProcessDescription,\n\n DepartmentID: \"0\",\n EmployeeID: processData.EmployeeID,\n\n type: 'edit',\n TeamID: processData.TeamID,\n squence: currentIndex,\n lastSequence: processData.squence\n };\n\n this.dorseyService.SaveProcess(json, 'No').subscribe(data => {\n if (data['_body'].toString() === 'true') {\n\n } else {\n\n }\n this.ConstructMap();\n });\n\n\n }\n\n SaveActivity(currentAct: any, currentIndex, ProcessID, typeOf) {\n this.lastSequence = [];\n\n\n if (typeOf.toString() == 'transfer') {\n if (ProcessID != currentAct[0].ProcessID) {\n let seq = this.sequenceList.length + 1;\n\n if (this.sequenceList.length !== 0) {\n this.sequenceList.push(seq);\n }\n else this.sequenceList.push(1);\n }\n\n if (currentAct[0].ParentID === 0) {\n this.squence = this.sequenceList[this.sequenceList.length - 1];\n this.lastSequence = this.sequenceList.length;\n }\n }\n\n for (let i = 0; i < currentAct.length; i++) {\n\n if (typeOf.toString() == 'move') {\n this.lastSequence = currentAct[i].squence;\n\n }\n const json = {\n CompanyID: this.CompanyID,\n ActivityID: currentAct[i].ActivityID,\n ParentID: currentAct[i].ParentID,\n ActivityName: currentAct[i].ActivityName,\n ProcessID: ProcessID,\n ActivityTypeID: currentAct[i].ActivityTypeID,\n DepartmentID: currentAct[i].DepartmentID,\n EmployeeID: currentAct[i].EmployeeID,\n CreatedBy: this.currentUser,\n UpdatedBy: this.currentUser,\n TeamIDs: this.TeamID,\n squence: currentIndex,\n type: 'edit',\n lastSequence: this.lastSequence\n };\n\n // return;\n this.dorseyService.SaveActivity(json, 'No').subscribe(data => {\n if (data['_body'].toString() === 'true') {\n this.ConstructMap();\n\n } else {\n\n }\n this.GetActivities();\n\n });\n }\n }\n\n\n GetActivities() {\n this.dorseyService.GetActivity(this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.activityData = subData;\n\n });\n }\n GetProcess() {\n this.dorseyService.GetProcess(this.CompanyID).subscribe(subData => {\n this.processLists = JSON.parse(subData['_body']);\n if (this.processLists.length === 0) {\n this.showDiv = true;\n\n }\n\n });\n }\n GetActivity() {\n\n this.dorseyService.GetActivity(this.CompanyID).subscribe(activity => {\n activity = JSON.parse(activity['_body']);\n this.activityLists = activity;\n this.activityData = this.activityLists;\n });\n }\n\n GetPointers() {\n\n this.dorseyService.GetPointer(this.CompanyID).subscribe(pointer => {\n this.pointerList = JSON.parse(pointer['_body']);\n\n });\n\n }\n getCase(processID, activityID, pointerID, menuUpdate, menuDelete) {\n\n this.menuUpdateCheck = menuUpdate;\n this.menuDeleteCheck = menuDelete;\n\n if (this.expandMap === true) {\n this.expandMap = true;\n }\n\n let activityName = '';\n\n if (activityID !== 0) {\n activityName = activityID.ActivityName;\n activityID = activityID.ActivityID;\n\n }\n\n this.dorseyService.GetCaseData(processID.ProcessID, activityID, pointerID, this.currentVersion['VersionID'], this.childTableName, this.childTableNameType).subscribe(cases => {\n cases = JSON.parse(cases['_body']);\n\n const dialogRef = this.dialog.open(ProcessMapDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: 'new' + 'æææ' + true + 'æææ' + pointerID,\n width: '800px',\n });\n\n let filterROle = this.RoleData.filter(x => x.RoleName === \"Read Only\" && x.RoleID === this.EmpROleID);\n\n if (filterROle.length > 0) {\n this.readOnly = true;\n }\n else {\n this.readOnly = false;\n\n }\n\n\n\n\n\n dialogRef.componentInstance.IsVersion = this.IsVersion;\n dialogRef.componentInstance.readOnly = this.readOnly;\n dialogRef.componentInstance.GoalsList = this.GoalsList;\n\n dialogRef.componentInstance.menuDeleteCheck = this.menuDeleteCheck;\n dialogRef.componentInstance.menuUpdateCheck = this.menuUpdateCheck;\n\n dialogRef.componentInstance.childTablePointers = this.childTablePointers;\n dialogRef.componentInstance.currentVersion = this.currentVersion;\n dialogRef.componentInstance.versionID = this.currentVersion['VersionID'];\n dialogRef.componentInstance.childTableNameType = this.childTableNameType;\n dialogRef.componentInstance.CaseData = cases;\n dialogRef.componentInstance.Process = processID.ProcessName;\n dialogRef.componentInstance.Activity = activityName;\n dialogRef.componentInstance.pointerList = this.pointerList;\n dialogRef.componentInstance.processData = this.processData;\n\n dialogRef.componentInstance.childTableName = this.childTableName;\n\n dialogRef.componentInstance.processData = this.processLists;\n dialogRef.componentInstance.activityData = this.activityData;\n dialogRef.componentInstance.departmentData = this.departmentData;\n dialogRef.componentInstance.pointerTypeData = this.pointerTypeData;\n dialogRef.componentInstance.severityData = this.severityData;\n // dialogRef.componentInstance.statusData = this.statusData;\n dialogRef.componentInstance.teamData = this.teamData;\n dialogRef.componentInstance.employeeData = this.employeeData;\n dialogRef.componentInstance.frustrationtypeData = this.frustrationtypeData;\n dialogRef.componentInstance.tempActivity = this.tempActivity;\n dialogRef.componentInstance.tempFrustrationType = this.tempFrustrationType;\n dialogRef.componentInstance.statusData = this.statusData;\n dialogRef.componentInstance.ActivityID = activityID;\n dialogRef.componentInstance.ProcessID = processID;\n dialogRef.componentInstance.IssuesLists = this.IssuesLists;\n dialogRef.componentInstance.ProcessFinalList = this.ProcessFinalList;\n dialogRef.afterClosed().subscribe(result => {\n this.ConstructMap();\n })\n\n\n });\n\n\n }\n\n getCaseData(processID, activityID, pointerID, versionID) {\n this.dorseyService.GetCaseData(processID.ProcessID, activityID.ActivityID, pointerID, versionID, this.childTableName, this.childTableNameType).subscribe(cases => {\n cases = JSON.parse(cases['_body']);\n this.cased = cases;\n\n });\n\n\n }\n\n\n GetFrustrationType() {\n this.dorseyService.GetFrustrationType('1', this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.frustrationtypeData = subData;\n\n });\n\n\n }\n ChooseMatricOrIssue(processID, activityID, menuPer, isver, read, menuUpdate, menuDelete) {\n\n this.ActivityID = activityID;\n\n\n\n\n // if(isver){\n // let filter=this.activityData.filter(x=>x.ProcessID===processID && x.VersionID===this.currentVersion['VersionID']);\n // if(filter.length>0){\n // this.activityTemp=filter;\n // }\n\n // else{\n // this.activityTemp=[];\n // }\n\n // }\n // else{\n\n // }\n\n\n\n let filter = this.granualActivity.filter(x => x.ProcessID === processID);\n if (filter.length > 0) {\n this.activityTemp = filter;\n }\n\n else {\n this.activityTemp = [];\n }\n\n\n\n\n\n let filterROle = this.RoleData.filter(x => x.RoleName === \"Read Only\" && x.RoleID === this.EmpROleID);\n\n if (filterROle.length > 0) {\n this.readOnly = true;\n }\n else {\n this.readOnly = false;\n\n }\n\n\n if (!this.TeamID) {\n return;\n }\n\n\n this.menuReadCheck = read;\n\n this.menuUpdateCheck = menuUpdate;\n\n this.menuDeleteCheck = menuDelete;\n // if(!this.readOnly){\n // this.readOnly=read;\n // }\n this.menuCreateCheck = menuPer;\n\n\n if (this.menuCreateCheck && this.menuReadCheck) {\n this.menuCreateCheck = this.menuCreateCheck;\n this.menuUpdateCheck = this.menuUpdateCheck;\n this.menuDeleteCheck = this.menuDeleteCheck;\n }\n else if (this.menuDeleteCheck && this.menuReadCheck) {\n this.menuDeleteCheck = this.menuDeleteCheck;\n this.menuUpdateCheck = this.menuUpdateCheck;\n\n }\n else if (this.menuUpdateCheck && this.menuReadCheck) {\n this.menuUpdateCheck = this.menuUpdateCheck;\n this.menuDeleteCheck = this.menuDeleteCheck;\n }\n else if (!this.menuCreateCheck && this.menuReadCheck) {\n this.menuCCheck = this.menuReadCheck;\n }\n\n\n if (activityID != 0 && (this.readOnly || this.IsVersion || this.menuCCheck)) {\n return;\n }\n\n\n\n // if(processID!=0 && activityID!=0 && this.readOnly || this.IsVersion)\n // {\n // return;\n // }\n\n this.subProcessMap = {};\n\n const dialogRef = this.dialog.open(ProcessMapDialogComponent, {\n data: 'choose' + 'æææ' + true,\n\n });\n dialogRef.componentInstance.isSub = activityID;\n dialogRef.componentInstance.ActivityID = activityID;\n dialogRef.componentInstance.ProcessID = processID;\n dialogRef.componentInstance.isProcess = processID;\n dialogRef.componentInstance.IsVersion = isver;\n dialogRef.componentInstance.readOnly = this.readOnly;\n dialogRef.componentInstance.menuDeleteCheck = this.menuDeleteCheck;\n dialogRef.componentInstance.menuUpdateCheck = this.menuUpdateCheck;\n dialogRef.componentInstance.menuCreateCheck = this.menuCreateCheck;\n dialogRef.componentInstance.menuReadCheck = this.menuReadCheck;\n dialogRef.componentInstance.menuCCheck = this.menuCCheck;\n dialogRef.componentInstance.activityTemp = this.activityTemp;\n\n dialogRef.componentInstance.GoalsList = this.GoalsList;\n\n dialogRef.afterClosed().subscribe(pointerType => {\n\n dialogRef.componentInstance.isSub = activityID;\n if (pointerType === 'Issue') {\n\n this.AddIssue(processID, activityID);\n } else if (pointerType === 'Metric') {\n this.AddMetric(processID, activityID);\n } else if (pointerType === 'processView') {\n\n this.DisplaySubMap(processID);\n\n }\n else if (pointerType === 'Activity') {\n dialogRef.componentInstance.isActivity = activityID;\n this.AddActivity(processID, activityID);\n }\n else if (pointerType === 'SubActivity') {\n this.AddActivity(processID, activityID);\n }\n\n else if (pointerType === 'subAct') {\n\n this.DisplaySubActivityMap(processID, activityID);\n\n\n }\n else if (pointerType === 'changSquence' && activityID != 0) {\n\n const subDialogref = this.dialog.open(ActivityDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: 'rearrange' + 'æææ' + true,\n });\n\n let activityFilter = this.activityData.filter(x =>\n x.ProcessID.toString() == processID.toString() && x.ActivityID.toString() == activityID.toString()\n );\n subDialogref.componentInstance.ProcessID = processID;\n subDialogref.componentInstance.ActivityID = activityID;\n subDialogref.componentInstance.ActivityName = activityFilter[0].ActivityName;\n subDialogref.componentInstance.ParentActivityID = activityFilter[0].ParentID;\n subDialogref.componentInstance.DepartmentID = activityFilter[0].DepartmentID;\n subDialogref.componentInstance.EmployeeID = activityFilter[0].EmployeeID;\n subDialogref.componentInstance.ActivityTypeID = activityFilter[0].ActivityTypeID;\n subDialogref.componentInstance.tempActivity = this.activityData;\n subDialogref.componentInstance.squence = activityFilter[0].squence;\n subDialogref.componentInstance.processData = this.processLists;\n subDialogref.componentInstance.TeamID = activityFilter[0].TeamID;\n\n subDialogref.componentInstance.teamData = this.teamData;\n subDialogref.componentInstance.ActivityTypeID = activityFilter[0].ActivityTypeID;\n subDialogref.componentInstance.activityTypeData = this.activityTypeData;\n subDialogref.componentInstance.ParentActivityID = activityFilter[0].ParentID;\n subDialogref.componentInstance.activityData = this.activityData;\n subDialogref.componentInstance.CompanyID = this.CompanyID;\n subDialogref.afterClosed().subscribe(result => {\n // this.GetActivity();\n this.dorseyService.GetActivity(this.CompanyID).subscribe(subData => {\n this.activityData = JSON.parse(subData['_body']);\n\n this.processLists = [];\n this.IssuesLists = {};\n this.processIDs = [];\n this.pointerList = [];\n this.granualProcess = [];\n this.ProcessFinalList = [];\n\n this.GetActivities();\n // this.ngOnInit();\n // this.dialogCall('Updated Successfully');\n this.ConstructMap();\n\n this.checkForMetricAlert();\n\n });\n });\n } else if (pointerType === 'changSquence' && processID != 0) {\n\n this.dorseyService.GetProcess(this.CompanyID).subscribe(subData => {\n this.processData = JSON.parse(subData['_body']);\n const processDialogref = this.dialog.open(ProcessDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: 'rearrange' + 'æææ' + true,\n });\n\n let processFilter = this.processData.filter(x =>\n x.ProcessID.toString() == processID.toString()\n );\n processDialogref.componentInstance.processID = processID;\n processDialogref.componentInstance.TeamID = this.TeamID;\n processDialogref.componentInstance.teamData = this.teamData;\n processDialogref.componentInstance.CompanyID = this.CompanyID;\n processDialogref.componentInstance.ProcessName = processFilter[0].ProcessName;\n processDialogref.componentInstance.TeamID = processFilter[0].TeamID;\n processDialogref.componentInstance.EmployeeID = processFilter[0].EmployeeID;\n processDialogref.componentInstance.DepartmentID = processFilter[0].DepartmentID;\n processDialogref.componentInstance.ProcessDescription = processFilter[0].ProcessDescription;\n processDialogref.componentInstance.squence = processFilter[0].squence;\n processDialogref.componentInstance.processData = this.processData;\n\n processDialogref.afterClosed().subscribe(res => {\n dialogRef.close(false);\n this.ConstructMap();\n });\n });\n\n }\n\n else if (pointerType === 'edit' && activityID != 0) {\n\n let activityFilter = this.activityData.filter(x => x.ProcessID === processID && x.ActivityID === activityID);\n if (activityFilter.length > 0) {\n const dialogRef = this.dialog.open(ActivityDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: 'edit' + 'æææ' + true,\n });\n\n if (activityFilter[0].ActivityID === 0) {\n dialogRef.componentInstance.ParentActivityID = 0;\n }\n else {\n dialogRef.componentInstance.ParentActivityID = activityFilter[0].ActivityID;\n }\n\n this.activityData.sort(function (a, b) {\n return a.squence - b.squence;\n });\n\n\n let tempProcessData = this.processLists.filter(x => x.TeamID === activityFilter[0].TeamID);\n\n dialogRef.componentInstance.processData = tempProcessData;\n\n dialogRef.componentInstance.ActivityID = activityFilter[0].ActivityID;\n\n dialogRef.componentInstance.ParentActivityID = activityFilter[0].ParentID;\n dialogRef.componentInstance.DepartmentID = activityFilter[0].DepartmentID;\n dialogRef.componentInstance.EmployeeID = activityFilter[0].EmployeeID;\n dialogRef.componentInstance.tempActivity = this.activityData;\n\n dialogRef.componentInstance.oldProcessID = activityFilter[0].ProcessID;\n\n dialogRef.componentInstance.oldActivityID = this.ParentID;\n\n dialogRef.componentInstance.ActivityTypeID = activityFilter[0].ActivityTypeID;\n dialogRef.componentInstance.ActivityName = activityFilter[0].ActivityName;\n dialogRef.componentInstance.squence = activityFilter[0].squence;\n dialogRef.componentInstance.activityData = this.activityData;\n dialogRef.componentInstance.processData = this.processLists;\n dialogRef.componentInstance.TeamID = activityFilter[0].TeamID;\n dialogRef.componentInstance.departmentData = this.departmentData;\n dialogRef.componentInstance.teamData = this.teamData;\n dialogRef.componentInstance.employeeData = this.employeeData;\n\n dialogRef.componentInstance.actData = this.activityData;\n\n dialogRef.componentInstance.ProcessID = activityFilter[0].ProcessID;\n dialogRef.componentInstance.CompanyID = activityFilter[0].CompanyID;\n dialogRef.componentInstance.activityTypeData = this.activityTypeData;\n\n dialogRef.componentInstance.currentUser = this.currentUser;\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n this.dialogCall(\"Updated successfully\");\n this.processLists = [];\n this.IssuesLists = {};\n this.processIDs = [];\n //this.pointerList=[];\n\n this.GetActivities();\n // this.ngOnInit();\n this.ConstructMap()\n }\n\n\n });\n }\n\n }\n\n else if (pointerType === 'edit' && processID != 0) {\n\n\n const dialogRef = this.dialog.open(ProcessDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: 'edit' + 'æææ' + true,\n });\n\n let processFilter = this.processLists.filter(x => x.ProcessID === processID);\n if (processFilter.length > 0) {\n dialogRef.componentInstance.EmployeeID = processFilter[0].EmployeeID;\n dialogRef.componentInstance.TeamID = processFilter[0].TeamID;\n dialogRef.componentInstance.teamData = this.teamData;\n dialogRef.componentInstance.CompanyID = processFilter[0].CompanyID;\n dialogRef.componentInstance.processData = this.processLists;\n dialogRef.componentInstance.procData = this.processLists;\n\n dialogRef.componentInstance.processID = processFilter[0].ProcessID;\n dialogRef.componentInstance.ProcessName = processFilter[0].ProcessName;\n dialogRef.componentInstance.ProcessDescription = processFilter[0].ProcessDescription;\n dialogRef.componentInstance.squence = processFilter[0].squence;\n dialogRef.afterClosed().subscribe(result => {\n\n if (result)\n this.dialogCall(\"Updated successfully\");\n\n this.processLists = [];\n this.IssuesLists = {};\n this.processIDs = [];\n this.pointerList = [];\n this.GetTeam();\n\n });\n }\n\n }\n else if (pointerType === 'delete' && activityID != 0) {\n let activityFilter = this.activityData.filter(x => x.ProcessID === processID && x.ActivityID === activityID);\n if (activityFilter.length > 0) {\n\n this.ActivityID = activityFilter[0].ActivityID;\n this.CompanyID = activityFilter[0].CompanyID;\n this.TeamID = activityFilter[0].TeamID;\n this.squence = activityFilter[0].squence;\n this.ProcessID = activityFilter[0].ProcessID;\n this.parentID = activityFilter[0].ParentID;\n\n const dialogRef = this.dialog.open(ActivityDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: 'Are you sure you want to delete activity: ' + activityFilter[0].ActivityName + '?æææ' + true,\n\n });\n\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n\n\n this.dorseyService.DeleteActivity(this.ActivityID, this.CompanyID, this.TeamID, this.squence, this.ProcessID, this.parentID).subscribe(data => {\n\n if (data.ok) {\n this.condition = true;\n this.dialogCall('Deleted successfully');\n }\n this.GetActivities();\n this.ConstructMap();\n });\n\n }\n });\n\n }\n }\n\n else if (pointerType === 'delete' && processID != 0) {\n let processFilter = this.processLists.filter(x => x.ProcessID === processID);\n if (processFilter.length > 0) {\n\n this.ProcessID = processFilter[0].ProcessID;\n this.CompanyID = processFilter[0].CompanyID;\n this.TeamID = processFilter[0].TeamID;\n this.squence = processFilter[0].squence;\n\n const dialogRef = this.dialog.open(ProcessDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: 'Are you sure you want to delete process: ' + processFilter[0].ProcessName + '?æææ' + true,\n });\n\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n\n\n this.dorseyService.DeleteProcess(this.ProcessID, this.CompanyID, this.TeamID, this.squence).subscribe(data => {\n if (data.ok) {\n this.condition = true;\n this.dialogCall('Deleted successfully');\n\n this.GetProcess();\n setTimeout(() => {\n this.ConstructMap();\n }, 100);\n }\n });\n\n }\n });\n }\n }\n });\n\n }\n\n onChange(event) {\n this.MapType = event.value.toString();\n\n if (this.MapType === '0') {\n this.typeName = \"Only Frustrations\";\n } else if (this.MapType === '1') {\n this.typeName = \"Only Metrics\";\n } else if (this.MapType === '2') {\n this.typeName = \"No Frustrations & Metrics\";\n } else {\n this.typeName = \"Both\";\n }\n }\n DisplaySubActivityMap(processID, activityID) {\n\n this.granualActivity = [];\n this.activityLists = [];\n let CurrentVersionNumber;\n CurrentVersionNumber = this.currentVersion['VersionID'];\n this.dorseyService.GetSelectedVersionActivityData(CurrentVersionNumber, Number(this.CompanyID), Number(this.TeamID), this.childTableNameType).subscribe(activity => {\n\n activity = JSON.parse(activity['_body']);\n this.activityLists = activity;\n this.granualActivity = this.activityLists;\n\n this.subProcessMap = {};\n var procssName = '';\n let activitys = [];\n let subActivities = [];\n let subactTemp = {};\n if (this.TeamID === 0) {\n for (let i = 0; i < this.granualActivity.length; i++) {\n if (this.granualActivity[i].ProcessID === processID && this.granualActivity[i].ParentID === 0) {\n activitys.push(this.granualActivity[i]);\n }\n }\n }\n else {\n for (let i = 0; i < this.granualActivity.length; i++) {\n if (this.granualActivity[i].ProcessID === processID && this.granualActivity[i].TeamID === this.TeamID && this.granualActivity[i].ParentID === 0) {\n activitys.push(this.granualActivity[i]);\n }\n }\n }\n\n for (let i = 0; i < this.processLists.length; i++) {\n\n if (this.processLists[i].ProcessID === processID) {\n procssName = this.processLists[i].ProcessName;\n\n }\n }\n let tempSub;\n\n\n let subact = this.granualActivity.filter(x => x.ParentID != 0);\n subActivities = [];\n let metricDummy = {};\n let issueDummy = {};\n let SubFsCounts = {};\n activitys.forEach(actElement => {\n tempSub = subact.filter(x => x.ParentID.toString() === actElement['ActivityID'].toString() && x.ProcessID.toString() === processID.toString());\n if (tempSub.length > 0) {\n subActivities = tempSub;\n subactTemp[actElement['ActivityID']] = subActivities;\n }\n subActivities.sort(function (a, b) {\n return a.squence - b.squence;\n });\n this.granualActivity = this.activityLists;\n\n\n tempSub.forEach(subAct => {\n this.dorseyService.GetSelectedVersionPointerData(CurrentVersionNumber, Number(this.CompanyID), Number(this.TeamID), this.childTableName).subscribe(pointer => {\n this.pointerData = JSON.parse(pointer['_body']);\n let fSCount = 0;\n let mSCount = 0;\n let procesDummy = {};\n let ActiDummyM = {}; const ActiDummyI = {};\n this.metricData = this.pointerData.filter(x => x.PointerTypeID != null && x.PointerTypeID.toString() === '2');\n this.pointerData.forEach(element => {\n\n if (element['ProcessID'] === processID && element['ActivityID'] === subAct['ActivityID']) {\n\n if (element['PointerTypeID'] === 2) {\n mSCount++;\n this.expandProcess = false;\n let metric = this.metricData.filter(x => x.ProcessID === processID && x.ActivityID === element['ActivityID'])\n metricDummy[subAct['ActivityID']] = metric;\n\n } else {\n fSCount++;\n this.expandProcess = false;\n this.dorseyService.GetCaseData(processID, element['ActivityID'], 1, CurrentVersionNumber, this.childTableName, this.childTableNameType).subscribe(cases => {\n cases = JSON.parse(cases['_body']);\n this.cased = cases;\n issueDummy[subAct['ActivityID']] = this.cased;\n });\n }\n }\n });\n if (mSCount !== 0) {\n ActiDummyM[subAct['ActivityID']] = mSCount;\n }\n if (fSCount !== 0) {\n ActiDummyI[subAct['ActivityID']] = fSCount;\n }\n procesDummy['SubMetric'] = ActiDummyM;\n procesDummy['SubIssue'] = ActiDummyI;\n SubFsCounts[subAct['ActivityID']] = procesDummy;\n });\n });\n\n });\n\n this.IssuesLists[processID]['SubMCount'] = SubFsCounts;\n let data = [];\n const ActivityJson = [];\n for (let i = 0; i < activitys.length; i++) {\n if (activitys[i].ParentID === 0) {\n data.push(activitys[i]);\n }\n }\n activitys.sort(function (a, b) {\n return a.squence - b.squence;\n });\n this.IssuesLists[processID]['Activity'] = activitys;\n this.IssuesLists[processID]['SubActivity'] = subactTemp;\n this.IssuesLists[processID]['SubActivityMetric'] = metricDummy;\n this.IssuesLists[processID]['SubActivityIssues'] = issueDummy;\n\n this.subProcessMap[processID] = this.IssuesLists[processID];\n const dialogRef = this.dialog.open(ProcessMapDialogComponent, {\n panelClass: ['custom-dialog-containerSub'],\n data: 'subAct' + 'æææ',\n maxWidth: '90vw'\n });\n dialogRef.componentInstance.copyRight = this.copyRight;\n dialogRef.componentInstance.currentVersion = this.currentVersion;\n dialogRef.componentInstance.IsVersion = this.IsVersion;\n dialogRef.componentInstance.readOnly = this.readOnly;\n dialogRef.componentInstance.GoalsList = this.GoalsList;\n dialogRef.componentInstance.menuDeleteCheck = this.menuDeleteCheck;\n dialogRef.componentInstance.menuUpdateCheck = this.menuUpdateCheck;\n dialogRef.componentInstance.menuCreateCheck = this.menuCreateCheck;\n dialogRef.componentInstance.menuReadCheck = this.menuReadCheck;\n dialogRef.componentInstance.menuCCheck = this.menuCCheck;\n dialogRef.componentInstance.IssuesLists = this.subProcessMap;\n dialogRef.componentInstance.MapType = this.MapType;\n dialogRef.componentInstance.isProcess = processID;\n dialogRef.componentInstance.isActivity = activityID;\n dialogRef.componentInstance.ProcessName = procssName;\n dialogRef.componentInstance.TeamID = this.TeamID\n dialogRef.componentInstance.tempProcess = this.processLists;\n dialogRef.componentInstance.activityData = this.activityData;\n dialogRef.componentInstance.departmentData = this.departmentData;\n dialogRef.componentInstance.pointerTypeData = this.pointerTypeData;\n dialogRef.componentInstance.severityData = this.severityData;\n dialogRef.componentInstance.statusData = this.statusData;\n dialogRef.componentInstance.teamData = this.teamData;\n dialogRef.componentInstance.employeeData = this.employeeData;\n dialogRef.componentInstance.frustrationtypeData = this.frustrationtypeData;\n dialogRef.componentInstance.tempActivity = this.activityData;\n dialogRef.componentInstance.tempFrustrationType = this.tempFrustrationType;\n dialogRef.componentInstance.ProcessID = processID;\n dialogRef.componentInstance.CompanyID = this.CompanyID;\n dialogRef.componentInstance.VersionNumber = this.VersionNumber;\n dialogRef.componentInstance.childTable = this.childTableName;\n dialogRef.componentInstance.childFrustType = this.childTableNameType;\n dialogRef.componentInstance.pointerList = this.pointerList;\n dialogRef.componentInstance.CompanyName = this.CompanyName;\n dialogRef.componentInstance.TeamName = this.TeamName;\n dialogRef.componentInstance.alertValue = this.alertValue;\n dialogRef.componentInstance.alertMetricValue = this.alertMetricValue;\n dialogRef.componentInstance.alertPTypeID = this.alertPTypeID;\n dialogRef.componentInstance.alertMTypeID = this.alertMTypeID;\n dialogRef.componentInstance.alertMetricPointer = this.alertMetricPointer;\n dialogRef.componentInstance.TeamID = this.TeamID\n dialogRef.componentInstance.processData = this.processLists;\n dialogRef.componentInstance.activityData = this.activityData;\n dialogRef.componentInstance.departmentData = this.departmentData;\n dialogRef.componentInstance.pointerTypeData = this.pointerTypeData;\n dialogRef.componentInstance.severityData = this.severityData;\n dialogRef.componentInstance.statusData = this.statusData;\n dialogRef.componentInstance.teamData = this.teamData;\n dialogRef.componentInstance.employeeData = this.employeeData;\n dialogRef.componentInstance.frustrationtypeData = this.frustrationtypeData;\n dialogRef.componentInstance.tempActivity = this.activityData;\n dialogRef.componentInstance.tempFrustrationType = this.tempFrustrationType;\n dialogRef.componentInstance.ProcessID = processID;\n dialogRef.componentInstance.ActivityID = activityID;\n dialogRef.componentInstance.CompanyID = this.CompanyID;\n this.StatusID = this.statusData[0].StatusID;\n dialogRef.componentInstance.StatusID = this.StatusID;\n dialogRef.componentInstance.currentUser = this.currentUser;\n dialogRef.componentInstance.childTablePointers = this.childTablePointers;\n dialogRef.componentInstance.childTableName = this.childTableName;\n dialogRef.componentInstance.activityTypeData = this.activityTypeData;\n dialogRef.componentInstance.RoleData = this.RoleData;\n dialogRef.componentInstance.EmpROleID = this.EmpROleID;\n dialogRef.componentInstance.CurrentVersionNumber = CurrentVersionNumber;\n dialogRef.componentInstance.childTableNameType = this.childTableNameType;\n dialogRef.componentInstance.alertMetricPointer = this.alertMetricPointer;\n dialogRef.afterClosed().subscribe(res => {\n this.GetActivity();\n this.GetFrustrationType();\n this.ConstructMap();\n });\n });\n\n }\n DisplaySubMap(processID) {\n this.subProcessMap = {};\n var procssName = '';\n let process = \"\";\n let activitys = [];\n if (this.TeamID === 0) {\n for (let i = 0; i < this.granualActivity.length; i++) {\n if (this.granualActivity[i].ProcessID === processID && this.granualActivity[i].ParentID === 0) {\n activitys.push(this.granualActivity[i]);\n }\n }\n }\n else {\n for (let i = 0; i < this.granualActivity.length; i++) {\n if (this.granualActivity[i].ProcessID === processID && this.granualActivity[i].TeamID === this.TeamID && this.granualActivity[i].ParentID === 0) {\n activitys.push(this.granualActivity[i]);\n }\n }\n }\n activitys.sort(function (a, b) {\n return a.squence - b.squence;\n });\n for (let i = 0; i < this.processLists.length; i++) {\n\n if (this.processLists[i].ProcessID === processID) {\n procssName = this.processLists[i].ProcessID;\n process = this.processLists[i].ProcessName;\n }\n }\n let data = [];\n for (let i = 0; i < activitys.length; i++) {\n\n if (activitys[i].ParentID === 0) {\n data.push(activitys[i]);\n }\n }\n this.IssuesLists[procssName]['Activity'] = activitys;\n this.subProcessMap[procssName] = this.IssuesLists[procssName];\n const dialogRef = this.dialog.open(ProcessMapDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: 'subMap' + 'æææ',\n width: '800px'\n });\n dialogRef.componentInstance.currentVersion = this.currentVersion;\n dialogRef.componentInstance.IssuesLists = this.subProcessMap;\n dialogRef.componentInstance.MapType = this.MapType;\n dialogRef.componentInstance.ProcessName = process;\n dialogRef.componentInstance.pointerList = this.pointerList;\n dialogRef.componentInstance.CompanyName = this.CompanyName;\n dialogRef.componentInstance.TeamName = this.TeamName;\n dialogRef.componentInstance.alertValue = this.alertValue;\n dialogRef.componentInstance.alertMetricValue = this.alertMetricValue;\n dialogRef.componentInstance.alertPTypeID = this.alertPTypeID;\n dialogRef.componentInstance.GoalsList = this.GoalsList;\n dialogRef.componentInstance.alertMTypeID = this.alertMTypeID;\n dialogRef.componentInstance.alertMetricPointer = this.alertMetricPointer;\n dialogRef.afterClosed().subscribe(res => {\n this.GetActivity();\n });\n }\n\n\n AddIssue(processID, activityID) {\n const dialogRef = this.dialog.open(PointerDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: 'new' + 'æææ' + activityID,\n });\n dialogRef.componentInstance.TeamID = this.TeamID\n dialogRef.componentInstance.processData = this.processLists;\n dialogRef.componentInstance.activityData = this.activityData;\n dialogRef.componentInstance.departmentData = this.departmentData;\n dialogRef.componentInstance.pointerTypeData = this.pointerTypeData;\n dialogRef.componentInstance.severityData = this.severityData;\n dialogRef.componentInstance.statusData = this.statusData;\n dialogRef.componentInstance.teamData = this.teamData;\n dialogRef.componentInstance.employeeData = this.employeeData;\n dialogRef.componentInstance.frustrationtypeData = this.frustrationtypeData;\n dialogRef.componentInstance.tempActivity = this.activityData;\n dialogRef.componentInstance.tempFrustrationType = this.tempFrustrationType;\n dialogRef.componentInstance.ProcessID = processID;\n dialogRef.componentInstance.ActivityID = activityID;\n dialogRef.componentInstance.CompanyID = this.CompanyID;\n this.StatusID = this.statusData[0].StatusID;\n dialogRef.componentInstance.StatusID = this.StatusID;\n dialogRef.componentInstance.currentUser = this.currentUser;\n dialogRef.afterClosed().subscribe(result => {\n this.processLists = [];\n this.GetFrustrationType();\n this.IssuesLists = {};\n this.processIDs = [];\n this.pointerList = [];\n this.ConstructMap()\n });\n\n }\n AddProcess(menuPer, vers) {\n if (!menuPer || vers) {\n return;\n }\n const dialogRef = this.dialog.open(ProcessDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: 'new' + 'æææ' + 'process',\n });\n dialogRef.componentInstance.EmployeeID = this.empID;\n dialogRef.componentInstance.TeamID = this.TeamID;\n dialogRef.componentInstance.teamData = this.teamData;\n dialogRef.componentInstance.CompanyID = this.CompanyID;\n dialogRef.componentInstance.processData = this.processLists;\n dialogRef.afterClosed().subscribe(result => {\n this.processLists = [];\n this.IssuesLists = {};\n this.processIDs = [];\n this.pointerList = [];\n this.GetTeam();\n });\n }\n GetActivityType() {\n this.dorseyService.GetActivityType().subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.activityTypeData = subData;\n });\n }\n\n AddActivity(processID, activityID) {\n const dialogRef = this.dialog.open(ActivityDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: 'new' + 'æææ' + 'process',\n });\n\n if (activityID === 0) {\n dialogRef.componentInstance.ParentActivityID = 0;\n }\n else {\n dialogRef.componentInstance.ParentActivityID = activityID;\n }\n this.activityData.sort(function (a, b) {\n return a.squence - b.squence;\n });\n dialogRef.componentInstance.activityData = this.activityData;\n dialogRef.componentInstance.processData = this.processLists;\n dialogRef.componentInstance.TeamID = this.TeamID;\n dialogRef.componentInstance.tempActivity = this.activityData;\n dialogRef.componentInstance.departmentData = this.departmentData;\n dialogRef.componentInstance.teamData = this.teamData;\n dialogRef.componentInstance.employeeData = this.employeeData;\n dialogRef.componentInstance.tempActivity = this.activityData;\n dialogRef.componentInstance.ProcessID = processID;\n dialogRef.componentInstance.CompanyID = this.CompanyID;\n dialogRef.componentInstance.activityTypeData = this.activityTypeData;\n\n dialogRef.componentInstance.currentUser = this.currentUser;\n dialogRef.afterClosed().subscribe(result => {\n this.processLists = [];\n this.IssuesLists = {};\n this.processIDs = [];\n this.pointerList = [];\n this.GetActivities();\n this.ConstructMap()\n\n });\n\n }\n\n AddMetric(processID, activityID) {\n const dialogRef = this.dialog.open(MetricDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: 'new' + 'æææ' + activityID,\n });\n\n dialogRef.componentInstance.processData = this.processLists;\n dialogRef.componentInstance.TeamID = this.TeamID;\n dialogRef.componentInstance.GoalsList = this.GoalsList;\n dialogRef.componentInstance.tempActivity = this.activityData;\n dialogRef.componentInstance.departmentData = this.departmentData;\n dialogRef.componentInstance.pointerTypeData = this.pointerTypeData;\n dialogRef.componentInstance.severityData = this.severityData;\n dialogRef.componentInstance.statusData = this.statusData;\n dialogRef.componentInstance.teamData = this.teamData;\n dialogRef.componentInstance.employeeData = this.employeeData;\n dialogRef.componentInstance.frustrationtypeData = this.frustrationtypeData;\n dialogRef.componentInstance.tempActivity = this.activityData;\n dialogRef.componentInstance.tempFrustrationType = this.tempFrustrationType;\n dialogRef.componentInstance.ProcessID = processID;\n dialogRef.componentInstance.ActivityID = activityID;\n dialogRef.componentInstance.CompanyID = this.CompanyID;\n dialogRef.componentInstance.currentUser = this.currentUser;\n dialogRef.afterClosed().subscribe(result => {\n this.processLists = [];\n this.IssuesLists = {};\n this.processIDs = [];\n this.pointerList = [];\n this.GetFrustrationType();\n\n this.ConstructMap()\n this.checkForMetricAlert();\n });\n\n }\n dialogCall(msg: string) {\n\n const dialogRef = this.dialog.open(ProcessMapDialogComponent, {\n data: msg + 'æææ' + false,\n });\n dialogRef.afterClosed().subscribe(result => {\n\n if (result.toString() === 'true') {\n\n let statusMsg = '';\n if (msg === 'new') {\n statusMsg = 'Saved successfully';\n }\n }\n });\n }\n\n GetAlertValues() {\n this.dorseyService.GetAlertValue(this.CompanyID, 1).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.alertData = subData;\n\n for (let i = 0; i < this.alertData.length; i++) {\n\n if (this.alertData[i].AlertStatus === true) {\n this.alertPTypeID = this.alertData[i].PointerTypeID;\n this.alertValue = this.alertData[i].AlertValue;\n }\n }\n });\n\n }\n\n GetMetricAlert() {\n this.dorseyService.GetAlertValue(this.CompanyID, 2).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.alertData = subData;\n\n for (let i = 0; i < this.alertData.length; i++) {\n\n if (this.alertData[i].AlertStatus === true) {\n this.alertMetricPointer = this.alertData[i].PointerTypeID;\n this.alertMetricValue = this.alertData[i].AlertValue;\n this.AlertMetricStatus = this.alertData[i].AlertStatus;\n this.alertMTypeID = this.alertData[i].PointerTypeID;\n\n }\n\n }\n });\n\n }\n\n checkForMetricAlert() {\n this.showMetricAlert = [];\n if (this.AlertMetricStatus) {\n for (let i = 0; i < this.granualProcess.length; i++) {\n\n if (this.ActiveActivities[this.granualProcess[i].ProcessID] !== undefined) {\n for (let j = 0; j < this.ActiveActivities[this.granualProcess[i].ProcessID].length; j++) {\n let id = this.ActiveActivities[this.granualProcess[i].ProcessID][j].ActivityID;\n\n this.showMetricAlert[id] = false;\n\n if (this.IssuesLists[this.granualProcess[i].ProcessID]['MetricList'][this.ActiveActivities[this.granualProcess[i].ProcessID][j].ActivityID.toString()] != undefined) {\n\n j = j + this.alertMetricValue - (j % this.alertMetricValue) - 1;\n\n } else {\n\n if ((j + 1) % this.alertMetricValue == 0) {\n this.showMetricAlert[id] = true;\n\n } else {\n\n this.showMetricAlert[id] = false;\n\n }\n }\n\n }\n }\n\n\n\n }\n }\n }\n\n}\n@Component({\n selector: 'app-dialog',\n templateUrl: 'dialog.html',\n styleUrls: ['dialog.css'],\n providers: [DorseyService, ProcessMapComponent]\n})\nexport class ProcessMapDialogComponent implements OnInit {\n readOnly = false;\n copyRight: string;\n IsVersion = false;\n ActivityTypeID: string;\n condition = false;\n isActivity: any;\n dataSelf: string;\n processID: string;\n headerText: string;\n PointerType: string;\n CaseData: any;\n Process = '';\n Activity = '';\n toggle = '';\n IssuesLists = {};\n ProcessFinalList = [];\n subKey = '';\n MapType: string;\n TeamID: any;\n tempProcess = [];\n activityData: any;\n departmentData: any;\n pointerTypeData: any\n severityData: any;\n statusData: any;\n teamData: any;\n employeeData: any;\n frustrationtypeData: any;\n tempActivity: any;\n tempFrustrationType: any;\n ProcessID: string\n ActivityID: string\n CompanyID: string;\n ParentID: string;\n SubActivityID: string;\n tempSubActivity = [];\n subActivityStatus = false;\n ProcessName = '';\n GoalsList: any;\n VersionNumber: number;\n childTable: string;\n\n childFrustType: string;\n pointerList = [];\n ActivityName: string;\n activityTypeData: any;\n SubactivityData: any;\n isSub: any;\n isProcess: any;\n processData: any;\n expandMap = false;\n parentActivityName: string;\n CompanyName: string;\n TeamName: string;\n headerDate = new Date();\n versionID: any;\n childTableName: any;\n currentVersion = '';\n StatusID: string;\n alertPTypeID: any;\n alertValue: any;\n alertMetricValue: any;\n alertMetricPointer: any;\n showMetricAlert = {};\n alertMTypeID: any;\n copyDate: number;\n currentUser: string;\n childTablePointers: any;\n RoleData: any;\n EmpROleID: string;\n CurrentVersionNumber: any;\n childTableNameType: string;\n\n redLow: string;\n redHigh: string;\n yellowLow: string;\n yellowHigh: any;\n PointerID: any;\n //title=false;\n editSubActiibiyt = false;\n parentId: any;\n menuDeleteCheck: boolean;\n menuUpdateCheck: boolean;\n menuCreateCheck: boolean;\n menuReadCheck: boolean;\n menuCCheck: boolean;\n EmployeeID: any;\n subActivity: any;\n FrustrationTypeID: any;\n SeverityID: any;\n Subject: any;\n Description: any;\n Source: any;\n DepartmentID: string;\n conditionActivity: any;\n activityTemp: any;\n constructor(private parent: ProcessMapComponent,\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any, public dorseyService: DorseyService,\n private dialog: MatDialog, private storage: LocalStorageService,\n private scoreCardService: PerformanceScoreCardService) {\n // dialogRef.disableClose=true;\n\n this.data = this.data.split('æææ');\n\n if (this.data[1] === 'true') {\n this.condition = true;\n } else {\n this.condition = false;\n }\n this.toggle = this.data[2];\n this.data = this.data[0];\n\n }\n ngOnInit() {\n\n this.currentUser = this.storage.retrieve('user');\n this.CompanyID = this.storage.retrieve('companyID');\n\n this.subKey = Object.keys(this.IssuesLists)[0];\n this.checkForMetricAlert();\n\n this.copyDate = (new Date()).getFullYear();\n\n }\n\n ExpandMap() {\n let open = document.getElementById('open');\n ;\n if (open !== null) {\n open.style.marginTop = '8px'\n }\n this.expandMap = true;\n\n }\n HideMap() {\n let open = document.getElementById('open');\n if (open !== null) {\n open.style.marginTop = '30px';\n }\n\n this.expandMap = false;\n }\n\n Print() {\n window.print();\n var printContents = document.getElementById('Map').innerHTML;\n var popupWin = window.open('', '_blank', 'width=300,height=300');\n popupWin.document.open();\n popupWin.document.write(printContents);\n\n popupWin.window.print();\n popupWin.document.close();\n return true;\n\n }\n closeChoose() {\n this.dialogRef.close(this.PointerType);\n }\n Clear() {\n this.dialogRef.close(false);\n }\n onYesClick() {\n\n this.dialogRef.close(true);\n }\n onNoClick(): void {\n this.dialogRef.close();\n }\n PrintMap() {\n var id = document.getElementById('Map');\n id.className = 'donotprintthis';\n window.print();\n //this.title=true;\n }\n GetPointerData() {\n\n }\n GetActivityType() {\n this.dorseyService.GetActivityType().subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.activityTypeData = subData;\n });\n\n }\n\n\n dialogCall(msg: string) {\n\n const dialogRef = this.dialog.open(ProcessMapDialogComponent, {\n data: msg + 'æææ' + false,\n });\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n dialogRef.afterClosed().subscribe(result => {\n\n if (result.toString() === 'true') {\n\n let statusMsg = '';\n if (msg === 'new') {\n statusMsg = 'Saved successfully';\n }\n // else {\n\n // statusMsg = 'Updated successfully';\n // }\n\n }\n\n });\n }\n AddMetricOrIssue(activityID, parentID) {\n\n if (this.IsVersion && this.readOnly) {\n return;\n }\n else if (this.readOnly) {\n return;\n }\n else if (this.IsVersion && !this.readOnly) {\n return;\n }\n else if (this.menuCCheck) {\n return;\n }\n\n\n this.GetActivityType();\n this.GetProcess();\n const dialogRef = this.dialog.open(ProcessMapDialogComponent2, {\n data: 'chooseChild' + 'æææ' + true,\n });\n\n\n let processTemp = this.activityData.filter(x => x.ActivityID === activityID);\n if (processTemp.length > 0) {\n this.processID = processTemp[0].ProcessID;\n\n this.ActivityName = processTemp[0].ActivityName;\n this.ActivityID = processTemp[0].ActivityID;\n }\n\n dialogRef.componentInstance.isProcess = 0;\n dialogRef.componentInstance.IsVersion = this.IsVersion;\n dialogRef.componentInstance.readOnly = this.readOnly;\n\n\n dialogRef.componentInstance.menuDeleteCheck = this.menuDeleteCheck;\n dialogRef.componentInstance.menuUpdateCheck = this.menuUpdateCheck;\n\n dialogRef.componentInstance.GoalsList = this.GoalsList;\n dialogRef.componentInstance.menuCreateCheck = this.menuCreateCheck;\n dialogRef.componentInstance.menuReadCheck = this.menuReadCheck;\n\n dialogRef.componentInstance.menuCCheck = this.menuCCheck;\n\n let activityFilter1 = this.activityData.filter(x =>\n x.ProcessID.toString() === this.processID.toString() && x.ActivityID.toString() === activityID.toString());\n\n dialogRef.componentInstance.isSub = activityFilter1[0].ParentID;\n dialogRef.componentInstance.activityProcess = activityFilter1[0].ParentID;\n dialogRef.componentInstance.ActivityTypeID = activityFilter1[0].ActivityTypeID;\n\n dialogRef.componentInstance.isActivity = activityFilter1[0].Act;\n\n dialogRef.afterClosed().subscribe(pointerType => {\n\n if (pointerType === 'Issue') {\n this.AddIssue(activityID);\n }\n else if (pointerType === 'SubActivity') {\n\n this.AddSubActivity(activityID, this.processID);\n\n }\n else if (pointerType === 'Metric') {\n\n this.AddMetric(activityID);\n\n } else if (pointerType === 'changSquence') {\n\n const subDialogref = this.dialog.open(ActivityDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: 'rearrange' + 'æææ' + true,\n });\n\n this.ActivityID = activityID;\n let processTemp = this.activityData.filter(x => x.ActivityID === activityID);\n if (processTemp.length > 0) {\n this.processID = processTemp[0].ProcessID;\n this.ActivityName = processTemp[0].ActivityName;\n }\n let activityFilter = this.activityData.filter(x =>\n x.ProcessID.toString() === this.processID.toString() && x.ActivityID.toString() === activityID.toString()\n );\n\n subDialogref.componentInstance.ProcessID = this.processID;\n subDialogref.componentInstance.ActivityID = activityID;\n subDialogref.componentInstance.ActivityName = activityFilter[0].ActivityName;\n subDialogref.componentInstance.ParentActivityID = activityFilter[0].ParentID;\n subDialogref.componentInstance.DepartmentID = activityFilter[0].DepartmentID;\n subDialogref.componentInstance.EmployeeID = activityFilter[0].EmployeeID;\n subDialogref.componentInstance.ActivityTypeID = activityFilter[0].ActivityTypeID;\n subDialogref.componentInstance.tempActivity = this.activityData;\n subDialogref.componentInstance.squence = activityFilter[0].squence;\n subDialogref.componentInstance.processData = this.tempProcess;\n subDialogref.componentInstance.TeamID = activityFilter[0].TeamID;\n subDialogref.componentInstance.teamData = this.teamData;\n subDialogref.componentInstance.ActivityTypeID = activityFilter[0].ActivityTypeID;\n subDialogref.componentInstance.activityTypeData = this.activityTypeData;\n subDialogref.componentInstance.ParentActivityID = activityFilter[0].ParentID;\n subDialogref.componentInstance.activityData = this.activityData;\n subDialogref.componentInstance.CompanyID = this.CompanyID;\n subDialogref.afterClosed().subscribe(result => {\n\n this.dorseyService.GetActivity(this.CompanyID).subscribe(subData => {\n this.activityData = JSON.parse(subData['_body']);\n\n subData = JSON.parse(subData['_body']);\n\n this.SubactivityData = subData;\n\n this.SubactivityData = this.SubactivityData.filter(x => x.ParentID === activityFilter[0].ParentID && x.ProcessID === this.processID);\n let sQuen = this.SubactivityData.filter(x => x.ActivityID === activityID);\n\n let ParentName = this.activityData.filter(x => x.ActivityID === activityFilter[0].ParentID);\n this.SubactivityData.sort(function (a, b) {\n return a.squence - b.squence;\n });\n\n if (ParentName.length)\n this.IssuesLists[this.processID]['SubActivity'][ParentName[0].ActivityID] = this.SubactivityData;\n else this.IssuesLists[this.processID]['Activity'] = this.SubactivityData;\n\n });\n\n\n });\n }\n\n else if (pointerType === 'edit' && parentID === 0) {\n this.editSubActiibiyt = true;\n let activityFilter = this.activityData.filter(x => x.ActivityID === activityID);\n\n if (activityFilter.length > 0) {\n\n const dialogRef = this.dialog.open(ActivityDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: 'edit' + 'æææ' + true,\n });\n\n if (activityFilter[0].ActivityID === 0) {\n dialogRef.componentInstance.ParentActivityID = 0;\n }\n else {\n dialogRef.componentInstance.ParentActivityID = activityFilter[0].ActivityID;\n }\n\n this.activityData.sort(function (a, b) {\n return a.squence - b.squence;\n });\n\n let tempProcessData = this.tempProcess.filter(x => x.TeamID === activityFilter[0].TeamID);\n\n dialogRef.componentInstance.processData = tempProcessData;\n\n dialogRef.componentInstance.ActivityID = activityFilter[0].ActivityID;\n\n dialogRef.componentInstance.ProcessID = activityFilter[0].ProcessID;\n dialogRef.componentInstance.ParentActivityID = activityFilter[0].ParentID;\n dialogRef.componentInstance.DepartmentID = activityFilter[0].DepartmentID;\n dialogRef.componentInstance.EmployeeID = activityFilter[0].EmployeeID;\n\n dialogRef.componentInstance.tempActivity = this.activityData;\n\n\n dialogRef.componentInstance.oldProcessID = activityFilter[0].ProcessID;\n\n dialogRef.componentInstance.oldActivityID = activityFilter[0].ParentID;\n\n dialogRef.componentInstance.ActivityID = activityFilter[0].ActivityID;\n dialogRef.componentInstance.ActivityTypeID = activityFilter[0].ActivityTypeID;\n dialogRef.componentInstance.ActivityName = activityFilter[0].ActivityName;\n dialogRef.componentInstance.squence = activityFilter[0].squence;\n dialogRef.componentInstance.activityData = this.activityData;\n // dialogRef.componentInstance.processData = this.processLists;\n dialogRef.componentInstance.TeamID = activityFilter[0].TeamID;\n dialogRef.componentInstance.tempActivity = this.activityData;\n dialogRef.componentInstance.departmentData = this.departmentData;\n dialogRef.componentInstance.teamData = this.teamData;\n dialogRef.componentInstance.employeeData = this.employeeData;\n\n dialogRef.componentInstance.actData = this.activityData;\n dialogRef.componentInstance.tempActivity = this.activityData;\n\n dialogRef.componentInstance.ProcessID = activityFilter[0].ProcessID;\n dialogRef.componentInstance.CompanyID = activityFilter[0].CompanyID;\n dialogRef.componentInstance.activityTypeData = this.activityTypeData;\n\n dialogRef.componentInstance.currentUser = this.currentUser;\n dialogRef.afterClosed().subscribe(result => {\n if (result)\n this.dialogCall(\"Updated successfully\");\n\n this.processData = [];\n // this.pointerList=[];\n // this.GetFrustrations();\n\n let filAct = this.activityData;\n this.dorseyService.GetActivity(this.CompanyID).subscribe(subData => {\n this.activityData = JSON.parse(subData['_body']);\n\n subData = JSON.parse(subData['_body']);\n\n this.SubactivityData = subData;\n\n\n\n this.SubactivityData = this.SubactivityData.filter(x => x.ParentID === activityFilter[0].ParentID && x.ProcessID === activityFilter[0].ProcessID);\n let sQuen = this.SubactivityData.filter(x => x.ActivityID === activityFilter[0].ActivityID);\n\n\n let data = this.activityData.filter(x => x.ParentID === activityFilter[0].ActivityID);\n this.SubactivityData.sort(function (a, b) {\n return a.squence - b.squence;\n });\n\n\n let tempAct = this.activityData.filter(x => x.ActivityID === activityFilter[0].ActivityID);\n\n let temfilAct = filAct.filter(x => x.ActivityID === activityFilter[0].ActivityID);\n\n\n\n this.IssuesLists[activityFilter[0].ProcessID]['Activity'] = this.SubactivityData;\n this.ParentID = parentID.toString();;\n\n if (!(Object.keys(this.IssuesLists[this.processID]['SubActivity']).indexOf(this.SubactivityData[0].ActivityID.toString()) > -1)) {\n\n this.IssuesLists[activityFilter[0].ProcessID]['SubActivity'][tempAct[0].ActivityID] = data;\n this.ActivityName = this.SubactivityData[0].ActivityName;\n this.ActivityID = this.SubactivityData[0].ActivityID;\n this.ProcessID = this.SubactivityData[0].ProcessID;\n\n //this.GetFrustrations();\n\n }\n\n else {\n this.ActivityName = activityFilter[0].ActivityName;\n this.ActivityID = activityFilter[0].ActivityID;\n this.ProcessID = activityFilter[0].ProcessID;\n // this.GetFrustrations();\n }\n\n //this.pointerList=[];\n });\n\n\n });\n }\n }\n else if (pointerType === 'edit' && parentID != 0) {\n this.editSubActiibiyt = true;\n let filterAct = this.activityData.filter(x => x.ParentID === parentID && x.ActivityID === activityID);\n\n if (filterAct.length > 0) {\n\n\n const dialogRef = this.dialog.open(ActivityDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: 'edit' + 'æææ' + true,\n });\n\n this.activityData.sort(function (a, b) {\n return a.squence - b.squence;\n });\n\n\n let tempProcessData = this.tempProcess.filter(x => x.TeamID === this.TeamID);\n\n dialogRef.componentInstance.processData = tempProcessData;\n\n\n dialogRef.componentInstance.ParentActivityID = filterAct[0].ParentID;\n dialogRef.componentInstance.DepartmentID = filterAct[0].DepartmentID;\n dialogRef.componentInstance.EmployeeID = filterAct[0].EmployeeID;\n\n\n dialogRef.componentInstance.tempActivity = this.activityData;\n\n\n\n dialogRef.componentInstance.oldProcessID = this.ProcessID;\n\n dialogRef.componentInstance.oldActivityID = this.ParentID;\n\n dialogRef.componentInstance.ActivityID = filterAct[0].ActivityID;\n dialogRef.componentInstance.ActivityTypeID = filterAct[0].ActivityTypeID;\n dialogRef.componentInstance.ActivityName = filterAct[0].ActivityName;\n\n dialogRef.componentInstance.squence = filterAct[0].squence;\n dialogRef.componentInstance.activityData = this.activityData;\n // dialogRef.componentInstance.processData = this.processLists;\n dialogRef.componentInstance.TeamID = filterAct[0].TeamID;\n dialogRef.componentInstance.tempActivity = this.activityData;\n dialogRef.componentInstance.departmentData = this.departmentData;\n dialogRef.componentInstance.teamData = this.teamData;\n dialogRef.componentInstance.employeeData = this.employeeData;\n\n dialogRef.componentInstance.actData = this.activityData;\n dialogRef.componentInstance.tempActivity = this.activityData;\n\n dialogRef.componentInstance.ProcessID = filterAct[0].ProcessID;\n dialogRef.componentInstance.CompanyID = filterAct[0].CompanyID;\n dialogRef.componentInstance.activityTypeData = this.activityTypeData;\n\n dialogRef.componentInstance.currentUser = this.currentUser;\n dialogRef.afterClosed().subscribe(result => {\n if (result)\n\n this.dialogCall(\"Updated successfully\");\n this.processData = [];\n let activityFilter = this.activityData.filter(x =>\n x.ProcessID.toString() === filterAct[0].ProcessID.toString() && x.ActivityID.toString() === filterAct[0].ActivityID.toString()\n );\n\n this.dorseyService.GetActivity(this.CompanyID).subscribe(subData => {\n this.activityData = JSON.parse(subData['_body']);\n subData = JSON.parse(subData['_body']);\n this.SubactivityData = subData;\n this.SubactivityData = this.SubactivityData.filter(x => x.ParentID === activityFilter[0].ParentID && x.ProcessID === filterAct[0].ProcessID);\n let sQuen = this.SubactivityData.filter(x => x.ActivityID === filterAct[0].ActivityID);\n let ParentName = this.activityData.filter(x => x.ActivityID === activityFilter[0].ParentID);\n this.SubactivityData.sort(function (a, b) {\n return a.squence - b.squence;\n });\n if (ParentName.length)\n this.IssuesLists[filterAct[0].ProcessID]['SubActivity'][ParentName[0].ActivityID] = this.SubactivityData;\n else this.IssuesLists[filterAct[0].ProcessID]['Activity'] = this.SubactivityData;\n });\n });\n }\n }\n else if (pointerType === 'delete' && parentID === 0) {\n let activityFilter = this.activityData.filter(x => x.ProcessID === this.processID && x.ActivityID === activityID);\n if (activityFilter.length > 0) {\n this.ActivityID = activityFilter[0].ActivityID;\n this.CompanyID = activityFilter[0].CompanyID;\n this.TeamID = activityFilter[0].TeamID;\n this.ProcessID = activityFilter[0].ProcessID;\n const dialogRef = this.dialog.open(ActivityDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: 'Are you sure you want to delete activity: ' + activityFilter[0].ActivityName + '?æææ' + true,\n });\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n this.dorseyService.DeleteActivity(this.ActivityID, this.CompanyID, this.TeamID, activityFilter[0].squence, activityFilter[0].ProcessID, activityFilter[0].ParentID).subscribe(data => {\n if (data.ok) {\n this.condition = true;\n this.dialogCall('Deleted successfully');\n }\n this.processData = [];\n let filAct = this.activityData;\n this.dorseyService.GetActivity(this.CompanyID).subscribe(subData => {\n this.activityData = JSON.parse(subData['_body']);\n subData = JSON.parse(subData['_body']);\n this.SubactivityData = subData;\n this.SubactivityData = this.SubactivityData.filter(x => x.ParentID === activityFilter[0].ParentID && x.ProcessID === activityFilter[0].ProcessID);\n let sQuen = this.SubactivityData.filter(x => x.ActivityID === activityFilter[0].ActivityID);\n let data = this.activityData.filter(x => x.ParentID === activityFilter[0].ActivityID);\n this.SubactivityData.sort(function (a, b) {\n return a.squence - b.squence;\n });\n let tempAct = this.activityData.filter(x => x.ActivityID === activityFilter[0].ActivityID);\n let temfilAct = filAct.filter(x => x.ActivityID === activityFilter[0].ActivityID);\n this.IssuesLists[activityFilter[0].ProcessID]['Activity'] = this.SubactivityData;\n this.ParentID = parentID.toString();;\n if (!(Object.keys(this.IssuesLists[this.processID]['SubActivity']).indexOf(this.SubactivityData[0].ActivityID.toString()) > -1)) {\n this.IssuesLists[activityFilter[0].ProcessID]['SubActivity'][tempAct[0].ActivityID] = data;\n this.ActivityName = this.SubactivityData[0].ActivityName;\n this.ActivityID = this.SubactivityData[0].ActivityID;\n this.ProcessID = this.SubactivityData[0].ProcessID;\n }\n else {\n this.ActivityName = activityFilter[0].ActivityName;\n this.ActivityID = activityFilter[0].ActivityID;\n this.ProcessID = activityFilter[0].ProcessID;\n }\n });\n });\n }\n });\n }\n }\n\n else if (pointerType === 'delete' && parentID !== 0) {\n let filterAct = this.activityData.filter(x => x.ParentID === parentID && x.ActivityID === activityID);\n if (filterAct.length > 0) {\n this.ActivityID = filterAct[0].ActivityID;\n this.CompanyID = filterAct[0].CompanyID;\n this.TeamID = filterAct[0].TeamID;\n this.ProcessID = filterAct[0].ProcessID;\n const dialogRef = this.dialog.open(ActivityDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: 'Are you sure you want to delete activity: ' + filterAct[0].ActivityName + '?æææ' + true,\n });\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n this.dorseyService.DeleteActivity(this.ActivityID, this.CompanyID, this.TeamID, filterAct[0].squence, filterAct[0].ProcessID, filterAct[0].ParentID).subscribe(data => {\n if (data.ok) {\n this.condition = true;\n this.dialogCall('Deleted successfully');\n }\n let tempFilter = this.activityData.filter(x =>\n x.ProcessID.toString() === filterAct[0].ProcessID.toString() && x.ActivityID.toString() === filterAct[0].ActivityID.toString()\n );\n this.dorseyService.GetActivity(this.CompanyID).subscribe(subData => {\n this.activityData = JSON.parse(subData['_body']);\n subData = JSON.parse(subData['_body']);\n this.SubactivityData = subData;\n this.SubactivityData = this.SubactivityData.filter(x => x.ParentID === filterAct[0].ParentID && x.ProcessID === filterAct[0].ProcessID);\n let sQuen = this.SubactivityData.filter(x => x.ActivityID === filterAct[0].ActivityID);\n let ParentName = this.activityData.filter(x => x.ActivityID === filterAct[0].ParentID);\n this.SubactivityData.sort(function (a, b) {\n return a.squence - b.squence;\n });\n if (ParentName.length)\n this.IssuesLists[filterAct[0].ProcessID]['SubActivity'][ParentName[0].ActivityID] = this.SubactivityData;\n else this.IssuesLists[filterAct[0].ProcessID]['Activity'] = this.SubactivityData;\n });\n });\n }\n });\n }\n }\n });\n }\n\n EditPointer(element) {\n let tempP = this.pointerList.filter(x => x.PointerID === element.PointerID);\n if (tempP.length > 0) {\n this.TeamID = tempP[0].TeamID;\n }\n\n this.dorseyService.GetSelectedVersionPointerData(this.versionID, Number(this.CompanyID), Number(this.TeamID), this.childTablePointers).subscribe(pointer => {\n this.pointerList = JSON.parse(pointer['_body']);\n\n let filterPointer = this.pointerList.filter(x => x.PointerID === element.PointerID);\n if (filterPointer.length > 0) {\n if (filterPointer[0].PointerTypeID === 1) {\n const dialogRef = this.dialog.open(PointerDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: 'edit' + 'æææ' + 'process',\n });\n\n\n\n\n // this.GetTempActivity(filterPointer[0].ProcessID);\n dialogRef.componentInstance.processData = this.processData;\n dialogRef.componentInstance.activityData = this.activityData;\n dialogRef.componentInstance.departmentData = this.departmentData;\n dialogRef.componentInstance.pointerTypeData = this.pointerTypeData;\n dialogRef.componentInstance.severityData = this.severityData;\n dialogRef.componentInstance.statusData = this.statusData;\n\n\n dialogRef.componentInstance.teamData = this.teamData;\n dialogRef.componentInstance.employeeData = this.employeeData;\n dialogRef.componentInstance.frustrationtypeData = this.frustrationtypeData;\n dialogRef.componentInstance.tempActivity = this.tempActivity;\n dialogRef.componentInstance.tempFrustrationType = this.tempFrustrationType;\n dialogRef.componentInstance.EmployeeID = filterPointer[0].EmployeeID;\n dialogRef.componentInstance.ProcessID = filterPointer[0].ProcessID;\n dialogRef.componentInstance.ActivityID = filterPointer[0].ActivityID;\n dialogRef.componentInstance.PointerTypeID = filterPointer[0].PointerTypeID;\n dialogRef.componentInstance.PointerID = filterPointer[0].PointerID;\n dialogRef.componentInstance.DepartmentID = filterPointer[0].DepartmentID;\n dialogRef.componentInstance.FrustrationTypeIDs = filterPointer[0].FrustrationsTypeID;\n dialogRef.componentInstance.FrustrationTypeID = filterPointer[0].FrustrationsTypeID;\n dialogRef.componentInstance.TeamID = filterPointer[0].TeamID;\n dialogRef.componentInstance.StatusID = filterPointer[0].StatusID;\n dialogRef.componentInstance.SeverityID = filterPointer[0].SeverityID;\n dialogRef.componentInstance.Subject = filterPointer[0].Subject;\n dialogRef.componentInstance.Description = filterPointer[0].Description;\n // dialogRef.componentInstance.tempFrustrationType = element.tempFrustrationType;\n\n dialogRef.componentInstance.ProjectID = filterPointer[0].ProjectID;\n dialogRef.componentInstance.CompanyID = filterPointer[0].CompanyID;\n dialogRef.componentInstance.updatedBy = filterPointer[0].UpdatedBy;\n dialogRef.componentInstance.updatedDate = filterPointer[0].UpdatedDate;\n dialogRef.componentInstance.currentUser = this.currentUser;\n this.tempActivity = [];\n for (let i = 0; i < this.activityData.length; i++) {\n if (this.activityData[i].ProcessID === filterPointer[0].ProcessID && this.activityData[i].ParentID == 0) {\n this.tempActivity.push(this.activityData[i]);\n }\n }\n dialogRef.componentInstance.tempActivity = this.tempActivity;\n\n dialogRef.afterClosed().subscribe(result => {\n if (result)\n this.dialogCall(\"Updated successfully\");\n this.dorseyService.GetCaseData(filterPointer[0].ProcessID, filterPointer[0].ActivityID, filterPointer[0].PointerTypeID, this.versionID, this.childTableName, this.childTableNameType).subscribe(cases => {\n cases = JSON.parse(cases['_body']);\n this.CaseData = cases;\n })\n });\n } else {\n const dialogRef = this.dialog.open(MetricDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: 'edit' + 'æææ' + 'process',\n });\n\n\n let tempProcessData = this.processData.filter(x => x.TeamID === filterPointer[0].TeamID);\n\n dialogRef.componentInstance.processData = tempProcessData;\n dialogRef.componentInstance.GoalsList = this.GoalsList;\n\n dialogRef.componentInstance.activityData = this.activityData;\n dialogRef.componentInstance.departmentData = this.departmentData;\n dialogRef.componentInstance.pointerTypeData = this.pointerTypeData;\n dialogRef.componentInstance.severityData = this.severityData;\n dialogRef.componentInstance.statusData = this.statusData;\n dialogRef.componentInstance.GoalID = filterPointer[0].GoalID\n\n dialogRef.componentInstance.teamData = this.teamData;\n dialogRef.componentInstance.employeeData = this.employeeData;\n dialogRef.componentInstance.frustrationtypeData = this.frustrationtypeData;\n\n dialogRef.componentInstance.tempFrustrationType = this.tempFrustrationType;\n // dialogRef.componentInstance.tempProcess = this.tempProcess;\n dialogRef.componentInstance.EmployeeID = filterPointer[0].EmployeeID;\n dialogRef.componentInstance.ProcessID = filterPointer[0].ProcessID;\n\n\n dialogRef.componentInstance.ActivityID = filterPointer[0].ActivityID;\n dialogRef.componentInstance.PointerTypeID = filterPointer[0].PointerTypeID;\n dialogRef.componentInstance.PointerID = filterPointer[0].PointerID;\n dialogRef.componentInstance.DepartmentID = filterPointer[0].DepartmentID;\n dialogRef.componentInstance.FrustrationTypeID = filterPointer[0].FrustrationTypeID;\n dialogRef.componentInstance.TeamID = filterPointer[0].TeamID;\n dialogRef.componentInstance.StatusID = filterPointer[0].StatusID;\n dialogRef.componentInstance.SeverityID = filterPointer[0].SeverityID;\n dialogRef.componentInstance.Subject = filterPointer[0].Subject;\n dialogRef.componentInstance.Description = filterPointer[0].Description;\n\n dialogRef.componentInstance.tempFrustrationType = this.tempFrustrationType;\n\n dialogRef.componentInstance.Source = element.Source;\n dialogRef.componentInstance.CompanyID = filterPointer[0].CompanyID;\n dialogRef.componentInstance.subActivityStatus = this.subActivityStatus;\n dialogRef.componentInstance.SubActivityID = this.SubActivityID;\n\n this.tempActivity = [];\n for (let i = 0; i < this.activityData.length; i++) {\n if (this.activityData[i].ProcessID === filterPointer[0].ProcessID && this.activityData[i].ParentID == 0) {\n this.tempActivity.push(this.activityData[i]);\n }\n }\n dialogRef.componentInstance.tempActivity = this.tempActivity;\n\n dialogRef.afterClosed().subscribe(result => {\n if (result)\n this.dialogCall(\"Updated successfully\");\n\n this.dorseyService.GetCaseData(filterPointer[0].ProcessID, filterPointer[0].ActivityID, filterPointer[0].PointerTypeID, this.versionID, this.childTableName, this.childTableNameType).subscribe(cases => {\n cases = JSON.parse(cases['_body']);\n this.CaseData = cases;\n\n let filter = this.CaseData.filter(x => x.PointerID === element.PointerID);\n\n\n })\n\n });\n\n }\n\n\n }\n });\n }\n\n DeletePointer(element) {\n let filterPointer = this.pointerList.filter(x => x.PointerID === element.PointerID);\n if (filterPointer.length > 0) {\n if (filterPointer[0].PointerTypeID === 2) {\n this.PointerID = filterPointer[0].PointerID;\n let status: boolean;\n this.scoreCardService.CheckMetricExistInPSCDetails(this.PointerID).subscribe(resp => {\n status = resp.Data;\n })\n const dialogRef = this.dialog.open(MetricDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: 'Are you sure you want to delete metric: ' + element.Description + '?æææ' + true,\n width: '400px',\n });\n dialogRef.componentInstance.CompanyID = element.CompanyID;\n dialogRef.componentInstance.frustrationtypeData = this.frustrationtypeData;\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n if (!status) {\n this.dorseyService.DeletePointer(this.PointerID).subscribe(data => {\n if (data.ok) {\n this.condition = true;\n const dialogRef = this.dialog.open(MetricDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: 'Deleted Successfully '\n });\n dialogRef.afterClosed().subscribe(result => {\n this.dorseyService.GetCaseData(filterPointer[0].ProcessID, filterPointer[0].ActivityID, filterPointer[0].PointerTypeID, this.versionID, this.childTableName, this.childTableNameType).subscribe(cases => {\n cases = JSON.parse(cases['_body']);\n this.CaseData = cases;\n })\n });\n }\n });\n }\n else {\n this.dialogCall(\"Delete Failed. This metric is associated with scorecard\");\n }\n }\n });\n } else {\n this.PointerID = filterPointer[0].PointerID;\n\n const dialogRef = this.dialog.open(PointerDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: 'Are you sure you want to delete frustration: ' + element.Subject + '?æææ' + true,\n width: '400px',\n\n // width: '40%'\n });\n\n dialogRef.componentInstance.CompanyID = element.CompanyID;\n dialogRef.componentInstance.frustrationtypeData = this.frustrationtypeData;\n // this.condition = true;\n\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n\n /// this.condition = true;\n this.dorseyService.DeletePointer(this.PointerID).subscribe(data => {\n\n if (data.ok) {\n this.condition = true;\n const dialogRef = this.dialog.open(PointerDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: 'Deleted Successfully '\n\n\n // width: '40%'\n });\n dialogRef.afterClosed().subscribe(result => {\n\n\n this.dorseyService.GetCaseData(filterPointer[0].ProcessID, filterPointer[0].ActivityID, filterPointer[0].PointerTypeID, this.versionID, this.childTableName, this.childTableNameType).subscribe(cases => {\n cases = JSON.parse(cases['_body']);\n this.CaseData = cases;\n\n })\n\n });\n }\n\n });\n }\n });\n }\n }\n }\n GetSubActivities(activityID) {\n this.dorseyService.GetActivity(this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n\n this.SubactivityData = subData;\n\n this.SubactivityData = this.SubactivityData.filter(x => x.ParentID === activityID);\n\n });\n }\n\n GetProcess() {\n this.dorseyService.GetProcess(this.CompanyID).subscribe(subData => {\n this.processData = JSON.parse(subData['_body']);\n\n });\n }\n\n AddSubActivity(activityID, processID) {\n\n this.GetActivityType();\n this.GetProcess();\n this.ActivityID = activityID;\n let processTemp = this.activityData.filter(x => x.ActivityID === activityID);\n if (processTemp.length > 0) {\n this.processID = processTemp[0].ProcessID;\n this.ActivityName = processTemp[0].ActivityName;\n this.ActivityID = processTemp[0].ActivityID;\n }\n let activityFilter = this.activityData.filter(x =>\n x.ProcessID.toString() === this.processID.toString() && x.ActivityID.toString() === activityID.toString()\n );\n\n let tempAct = this.activityData;\n\n this.activityData.sort(function (a, b) {\n return a.squence - b.squence;\n });\n\n\n const dialogRef = this.dialog.open(ActivityDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: 'new' + 'æææ' + 'process',\n });\n\n if (activityID === 0) {\n dialogRef.componentInstance.ParentActivityID = 0;\n }\n else {\n dialogRef.componentInstance.ParentActivityID = activityID;\n }\n dialogRef.componentInstance.activityData = this.activityData;\n dialogRef.componentInstance.processData = this.processData;\n dialogRef.componentInstance.ProcessID = this.processID;\n dialogRef.componentInstance.TeamID = this.TeamID;\n dialogRef.componentInstance.tempActivity = this.activityData;\n dialogRef.componentInstance.departmentData = this.departmentData;\n dialogRef.componentInstance.teamData = this.teamData;\n dialogRef.componentInstance.employeeData = this.employeeData;\n\n dialogRef.componentInstance.tempActivity = this.activityData;\n // dialogRef.componentInstance.ActivityID = activityID;\n // dialogRef.componentInstance.ActivityTypeID = activityFilter[0].ActivityTypeID;\n dialogRef.componentInstance.CompanyID = this.CompanyID;\n dialogRef.componentInstance.activityTypeData = this.activityTypeData;\n\n //dialogRef.componentInstance.currentUser = this.currentUser;\n dialogRef.afterClosed().subscribe(result => {\n\n let actLen = this.activityData.filter(x => x.ParentID === activityID);;\n\n this.dorseyService.GetActivity(this.CompanyID).subscribe(subData => {\n this.activityData = JSON.parse(subData['_body']);\n\n let tempAct = this.activityData.filter(x => x.ParentID === activityID);\n\n if (tempAct.length > 0 && tempAct.length > actLen.length) {\n for (let k = actLen.length; k < tempAct.length; k++) {\n if (!(Object.keys(this.IssuesLists[this.processID]['SubActivity']).indexOf(activityFilter[0].ActivityID.toString()) > -1)) {\n let st = {};\n st[activityFilter[0].ActivityID] = [];\n st[activityFilter[0].ActivityID].push(tempAct[k]);\n\n this.IssuesLists[this.processID]['SubActivity'][activityFilter[0].ActivityID] = st[activityFilter[0].ActivityID];\n\n this.IssuesLists[this.processID]['SubMCount'][tempAct[k].ActivityID] = {};\n this.IssuesLists[this.processID]['SubMCount'][tempAct[k].ActivityID]['SubMetric'] = {};\n this.IssuesLists[this.processID]['SubMCount'][tempAct[k].ActivityID] = {};\n this.IssuesLists[this.processID]['SubMCount'][tempAct[k].ActivityID]['SubIssue'] = {}\n }\n else {\n this.IssuesLists[this.processID]['SubActivity'][activityFilter[0].ActivityID].push(tempAct[k]);\n this.IssuesLists[this.processID]['SubMCount'][tempAct[k].ActivityID] = {};\n this.IssuesLists[this.processID]['SubMCount'][tempAct[k].ActivityID]['SubMetric'] = {};\n this.IssuesLists[this.processID]['SubMCount'][tempAct[k].ActivityID] = {};\n this.IssuesLists[this.processID]['SubMCount'][tempAct[k].ActivityID]['SubIssue'] = {}\n\n }\n }\n\n }\n\n this.GetFrustrations();\n\n });\n\n });\n\n }\n\n\n GetFrustrationType() {\n this.dorseyService.GetFrustrationType('1', this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n\n let tempType: any;\n tempType = subData;\n\n if (tempType.length === 0) {\n\n this.dorseyService.GetFrustrationType('1', \"0\").subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.frustrationtypeData = subData;\n\n });\n }\n else {\n this.frustrationtypeData = tempType;\n }\n\n });\n\n\n }\n\n\n\n\n GetFrustrations() {\n this.editSubActiibiyt = true;\n let tempData = this.pointerList.filter(x => x.ProcessID === this.ProcessID && x.ActivityID === this.ActivityID);\n\n let lengthptns = this.pointerList.length;\n\n this.dorseyService.GetSelectedVersionPointerData(this.VersionNumber, Number(this.CompanyID), Number(this.TeamID), this.childTable).subscribe(pointer => {\n this.pointerList = JSON.parse(pointer['_body']);\n\n if (this.pointerList.length === lengthptns) {\n\n return;\n }\n\n this.pointerList = this.pointerList.filter(x => x.ProcessID === this.ProcessID && x.ActivityID === this.ActivityID);\n\n let metricFilter = this.pointerList.filter(x => x.PointerTypeID === 2);\n let issueFilter = this.pointerList.filter(x => x.PointerTypeID === 1);\n\n\n let filterSubMetric = metricFilter.filter(x => x.ActivityID === this.ActivityID);\n\n let filterSubIssue = issueFilter.filter(x => x.ActivityID === this.ActivityID);\n\n let putjson;\n if (this.pointerList.length > 0 && this.pointerList.length > tempData.length) {\n for (let k = tempData.length; k < this.pointerList.length; k++) {\n putjson = {\n PointerID: this.pointerList[k].PointerID,\n PointerType: this.pointerList[k].PointerType,\n SeverityName: this.pointerList[k].SeverityName,\n StatusID: this.pointerList[k].StatusID,\n StatusName: this.pointerList[k].StatusName,\n Description: this.pointerList[k].Description,\n Subject: this.pointerList[k].Subject\n };\n\n if (this.pointerList[k].PointerTypeID === 2) {\n if (this.ParentID !== '0') {\n\n if (!(Object.keys(this.IssuesLists[this.processID]['SubActivityMetric']).indexOf(this.ActivityID.toString()) > -1)) {\n let st = {};\n st[this.ActivityID] = [];\n st[this.ActivityID].push(putjson);\n\n if (!this.IssuesLists[this.processID]['SubMCount'][this.ActivityID]) {\n this.IssuesLists[this.processID]['SubMCount'][this.ActivityID] = {};\n\n }\n if (!this.IssuesLists[this.processID]['SubMCount'][this.ActivityID]['SubMetric']) {\n this.IssuesLists[this.processID]['SubMCount'][this.ActivityID]['SubMetric'] = {};\n }\n if (!this.IssuesLists[this.processID]['SubMCount'][this.ActivityID]['SubMetric'][this.ActivityID]) {\n\n this.IssuesLists[this.processID]['SubMCount'][this.ActivityID]['SubMetric'][this.ActivityID] = 0;\n }\n\n this.IssuesLists[this.processID]['SubMCount'][this.ActivityID]['SubMetric'][this.ActivityID] = Number(this.IssuesLists[this.processID]['SubMCount'][this.ActivityID]['SubMetric'][this.ActivityID]) + 1;\n\n this.IssuesLists[this.processID]['SubActivityMetric'][this.ActivityID] = st[this.ActivityID];\n }\n else {\n if (this.editSubActiibiyt) {\n this.IssuesLists[this.processID]['SubMCount'][this.ActivityID]['SubMetric'][this.ActivityID] = filterSubMetric.length;\n this.IssuesLists[this.processID]['SubActivityMetric'][this.ActivityID] = filterSubMetric;\n }\n else\n // if(this.pointerList[k].PointerType!==undefined)\n {\n this.IssuesLists[this.processID]['SubMCount'][this.ActivityID]['SubMetric'][this.ActivityID] = Number(this.IssuesLists[this.processID]['SubMCount'][this.ActivityID]['SubMetric'][this.ActivityID]) + 1;\n\n this.IssuesLists[this.processID]['SubActivityMetric'][this.ActivityID].push(putjson);\n }\n\n }\n\n } else {\n\n if (!(Object.keys(this.IssuesLists[this.processID]['MetricList']).indexOf(this.ActivityID.toString()) > -1)) {\n let st = {};\n st[this.ActivityID] = [];\n st[this.ActivityID].push(putjson);\n\n if (!this.IssuesLists[this.processID]['Metric'][this.ActivityID]) {\n\n this.IssuesLists[this.processID]['Metric'][this.ActivityID] = 0;\n }\n this.IssuesLists[this.processID]['Metric'][this.ActivityID] = Number(this.IssuesLists[this.processID]['Metric'][this.ActivityID]) + 1;\n this.IssuesLists[this.processID]['MetricList'][this.ActivityID] = st[this.ActivityID];\n }\n else {\n\n if (this.editSubActiibiyt) {\n this.IssuesLists[this.processID]['Metric'][this.ActivityID] = metricFilter.length;\n this.IssuesLists[this.processID]['MetricList'][this.ActivityID] = metricFilter;\n\n }\n else {\n this.IssuesLists[this.processID]['MetricList'][this.ActivityID].push(putjson);\n this.IssuesLists[this.processID]['Metric'][this.ActivityID] = Number(this.IssuesLists[this.processID]['Metric'][this.ActivityID]) + 1;\n\n }\n\n }\n\n }\n }\n else {\n\n if (this.ParentID === '0') {\n\n\n if (!(Object.keys(this.IssuesLists[this.processID]['IssueList']).indexOf(this.ActivityID.toString()) > -1)) {\n let st = {};\n st[this.ActivityID] = [];\n st[this.ActivityID].push(putjson);\n\n if (!this.IssuesLists[this.processID]['Issue'][this.ActivityID]) {\n\n this.IssuesLists[this.processID]['Issue'][this.ActivityID] = 0;\n }\n\n this.IssuesLists[this.processID]['Issue'][this.ActivityID] = Number(this.IssuesLists[this.processID]['Issue'][this.ActivityID]) + 1;\n\n this.IssuesLists[this.processID]['IssueList'][this.ActivityID] = st[this.ActivityID];\n }\n else {\n if (this.editSubActiibiyt) {\n this.IssuesLists[this.processID]['Issue'][this.ActivityID] = issueFilter.length;\n this.IssuesLists[this.processID]['IssueList'][this.ActivityID] = issueFilter;\n }\n else {\n this.IssuesLists[this.processID]['Issue'][this.ActivityID] = Number(this.IssuesLists[this.processID]['Issue'][this.ActivityID]) + 1;\n this.IssuesLists[this.processID]['IssueList'][this.ActivityID].push(putjson);\n }\n\n\n }\n\n }\n else {\n\n if (!(Object.keys(this.IssuesLists[this.processID]['SubActivityIssues']).indexOf(this.ActivityID.toString()) > -1)) {\n\n let st = {};\n st[this.ActivityID] = [];\n st[this.ActivityID].push(putjson);\n\n if (!this.IssuesLists[this.processID]['SubMCount'][this.ActivityID]['SubIssue'][this.ActivityID]) {\n this.IssuesLists[this.processID]['SubMCount'][this.ActivityID]['SubIssue'][this.ActivityID] = 0;\n }\n\n this.IssuesLists[this.processID]['SubMCount'][this.ActivityID]['SubIssue'][this.ActivityID] = Number(this.IssuesLists[this.processID]['SubMCount'][this.ActivityID]['SubIssue'][this.ActivityID]) + 1;\n\n\n this.IssuesLists[this.processID]['SubActivityIssues'][this.ActivityID] = st[this.ActivityID];\n }\n else {\n if (this.editSubActiibiyt) {\n this.IssuesLists[this.processID]['SubActivityIssues'][this.ActivityID] = filterSubIssue;\n this.IssuesLists[this.processID]['SubMCount'][this.ActivityID]['SubIssue'][this.ActivityID] = filterSubIssue.length;\n }\n else\n // if(this.pointerList[k].PointerType!==undefined)\n {\n this.IssuesLists[this.processID]['SubMCount'][this.ActivityID]['SubIssue'][this.ActivityID] = Number(this.IssuesLists[this.processID]['SubMCount'][this.ActivityID]['SubIssue'][this.ActivityID]) + 1;\n\n this.IssuesLists[this.processID]['SubActivityIssues'][this.ActivityID].push(putjson);\n }\n }\n\n }\n }\n }\n }\n if (this.IssuesLists[this.subKey]) {\n if (this.IssuesLists[this.subKey]['Activity']) {\n for (let j = 0; j < this.IssuesLists[this.subKey]['Activity'].length; j++) {\n let id = this.IssuesLists[this.subKey]['Activity'][j].ActivityID;\n this.showMetricAlert[id] = false;\n if (this.IssuesLists[this.subKey]['MetricList'][this.IssuesLists[this.subKey]['Activity'][j].ActivityID.toString()] != undefined) {\n j = j + this.alertMetricValue - (j % this.alertMetricValue) - 1;\n } else {\n if ((j + 1) % this.alertMetricValue == 0) {\n this.showMetricAlert[id] = true;\n } else {\n this.showMetricAlert[id] = false;\n }\n }\n }\n }\n\n }\n\n });\n }\n AddIssue(activityID) {\n this.ParentID = '0';\n\n const dialogRef = this.dialog.open(PointerDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: 'new' + 'æææ' + activityID,\n });\n this.ActivityID = activityID;\n let processTemp = this.activityData.filter(x => x.ActivityID === activityID);\n if (processTemp.length > 0) {\n this.processID = processTemp[0].ProcessID;\n this.ActivityName = processTemp[0].ActivityName;\n this.ActivityID = processTemp[0].ActivityID;\n }\n\n this.StatusID = this.statusData[0].StatusID;\n\n dialogRef.componentInstance.TeamID = this.TeamID\n dialogRef.componentInstance.processData = this.tempProcess;\n dialogRef.componentInstance.activityData = this.activityData;\n dialogRef.componentInstance.departmentData = this.departmentData;\n dialogRef.componentInstance.pointerTypeData = this.pointerTypeData;\n dialogRef.componentInstance.severityData = this.severityData;\n dialogRef.componentInstance.statusData = this.statusData;\n dialogRef.componentInstance.StatusID = this.StatusID;\n dialogRef.componentInstance.teamData = this.teamData;\n dialogRef.componentInstance.employeeData = this.employeeData;\n dialogRef.componentInstance.frustrationtypeData = this.frustrationtypeData;\n dialogRef.componentInstance.tempActivity = this.activityData;\n dialogRef.componentInstance.tempFrustrationType = this.tempFrustrationType;\n dialogRef.componentInstance.subActivityStatus = this.subActivityStatus;\n\n dialogRef.componentInstance.ProcessID = this.processID;\n\n dialogRef.componentInstance.ActivityID = activityID;\n dialogRef.componentInstance.CompanyID = this.CompanyID;\n\n\n let tempActivityes = this.activityData;\n let subAct = tempActivityes.filter(x => x.ParentID != 0);\n\n let tempAct = subAct.filter(x => x.ActivityID === activityID);\n\n if (tempAct.length === 1 && tempAct.length > 0) {\n\n this.ParentID = tempAct[0].ParentID;\n }\n\n if (this.ParentID.toString() === '0') {\n\n dialogRef.componentInstance.subActivityStatus = false;\n dialogRef.componentInstance.ActivityID = activityID;\n\n } else {\n\n dialogRef.componentInstance.subActivityStatus = true;\n dialogRef.componentInstance.SubActivityID = activityID;\n dialogRef.componentInstance.ActivityID = this.ParentID;\n\n }\n\n dialogRef.afterClosed().subscribe(result => {\n // this.parent.ConstructMap();\n this.GetFrustrations();\n this.GetFrustrationType();\n\n this.pointerList = [];\n\n });\n\n }\n\n\n AddMetric(activityID) {\n\n this.ParentID = '0';\n\n const dialogRef = this.dialog.open(MetricDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: 'new' + 'æææ' + activityID,\n });\n\n let processTemp = this.activityData.filter(x => x.ActivityID === activityID);\n if (processTemp.length > 0) {\n this.processID = processTemp[0].ProcessID;\n this.ActivityName = processTemp[0].ActivityName;\n this.ActivityID = processTemp[0].ActivityID;\n }\n this.ActivityID = activityID;\n\n dialogRef.componentInstance.GoalsList = this.GoalsList;\n dialogRef.componentInstance.processData = this.tempProcess;\n dialogRef.componentInstance.TeamID = this.TeamID;\n dialogRef.componentInstance.tempActivity = this.activityData;\n dialogRef.componentInstance.departmentData = this.departmentData;\n dialogRef.componentInstance.pointerTypeData = this.pointerTypeData;\n dialogRef.componentInstance.severityData = this.severityData;\n dialogRef.componentInstance.statusData = this.statusData;\n dialogRef.componentInstance.teamData = this.teamData;\n dialogRef.componentInstance.employeeData = this.employeeData;\n dialogRef.componentInstance.frustrationtypeData = this.frustrationtypeData;\n dialogRef.componentInstance.activityData = this.activityData;\n dialogRef.componentInstance.tempFrustrationType = this.tempFrustrationType;\n dialogRef.componentInstance.ProcessID = this.processID;\n // dialogRef.componentInstance.subActivityStatus = false;\n dialogRef.componentInstance.CompanyID = this.CompanyID;\n\n let tempActivityes = this.activityData;\n let subAct = tempActivityes.filter(x => x.ParentID != 0);\n\n let tempAct = subAct.filter(x => x.ActivityID === activityID);\n\n if (tempAct.length === 1 && tempAct.length > 0) {\n\n this.ParentID = tempAct[0].ParentID;\n this.parentActivityName = tempAct[0].ActivityName\n\n }\n\n\n if (this.ParentID.toString() === '0') {\n dialogRef.componentInstance.ActivityID = activityID;\n dialogRef.componentInstance.subActivityStatus = false;\n } else {\n\n dialogRef.componentInstance.subActivityStatus = true;\n dialogRef.componentInstance.SubActivityID = activityID;\n dialogRef.componentInstance.ActivityID = this.ParentID;\n // dialogRef.componentInstance.parentActivityName = this.parentActivityName;\n\n\n }\n\n dialogRef.afterClosed().subscribe(result => {\n // if(this.editSubActiibiyt){\n // this.IssuesLists[this.processID]['SubMCount'][this.ActivityID]['SubMetric'][this.ActivityID]={};\n // }\n\n\n this.GetFrustrations();\n this.GetFrustrationType();\n\n\n\n this.checkForMetricAlert();\n\n });\n\n }\n\n\n getCase(activityID, pointerID) {\n\n let activityName = '';\n\n if (activityID !== 0) {\n activityName = activityID.ActivityName;\n\n this.parentId = activityID.ParentID;\n }\n\n this.dorseyService.GetCaseData(this.isProcess, activityID.ActivityID, pointerID, this.VersionNumber, this.childTable, this.childFrustType).subscribe(cases => {\n cases = JSON.parse(cases['_body']);\n\n const dialogRef = this.dialog.open(ProcessMapDialogComponent2, {\n data: 'new1' + 'æææ' + true + 'æææ' + pointerID,\n width: '800px',\n });\n\n let filterROle = this.RoleData.filter(x => x.RoleName === \"Read Only\" && x.RoleID === this.EmpROleID);\n\n if (filterROle.length > 0) {\n this.readOnly = true;\n }\n else {\n this.readOnly = false;\n\n }\n\n let activityFilter = this.activityData.filter(x => x.ActivityID === activityID.ActivityID);\n\n dialogRef.componentInstance.IsVersion = this.IsVersion;\n dialogRef.componentInstance.readOnly = this.readOnly;\n\n\n dialogRef.componentInstance.menuDeleteCheck = this.menuDeleteCheck;\n dialogRef.componentInstance.menuUpdateCheck = this.menuUpdateCheck;\n\n dialogRef.componentInstance.GoalsList = this.GoalsList;\n dialogRef.componentInstance.menuCreateCheck = this.menuCreateCheck;\n dialogRef.componentInstance.menuReadCheck = this.menuReadCheck;\n\n dialogRef.componentInstance.menuCCheck = this.menuCCheck;\n dialogRef.componentInstance.CaseData = cases;\n dialogRef.componentInstance.Process = this.isProcess.ProcessName;\n dialogRef.componentInstance.Activity = activityName;\n dialogRef.componentInstance.pointerList = this.pointerList;\n dialogRef.componentInstance.processData = this.processData;\n dialogRef.componentInstance.versionID = this.VersionNumber;\n dialogRef.componentInstance.childTableName = this.childTableName;\n dialogRef.componentInstance.childTablePointers = this.childTablePointers;\n\n\n dialogRef.componentInstance.TeamID = this.TeamID\n dialogRef.componentInstance.processData = this.processData;\n dialogRef.componentInstance.activityData = this.activityData;\n dialogRef.componentInstance.departmentData = this.departmentData;\n dialogRef.componentInstance.pointerTypeData = this.pointerTypeData;\n dialogRef.componentInstance.severityData = this.severityData;\n dialogRef.componentInstance.statusData = this.statusData;\n dialogRef.componentInstance.teamData = this.teamData;\n dialogRef.componentInstance.employeeData = this.employeeData;\n dialogRef.componentInstance.frustrationtypeData = this.frustrationtypeData;\n dialogRef.componentInstance.tempActivity = this.activityData;\n dialogRef.componentInstance.tempFrustrationType = this.tempFrustrationType;\n dialogRef.componentInstance.ProcessID = this.processID;\n dialogRef.componentInstance.ActivityID = activityID.ActivityID;\n dialogRef.componentInstance.CompanyID = this.CompanyID;\n this.StatusID = this.statusData[0].StatusID;\n dialogRef.componentInstance.StatusID = this.StatusID;\n dialogRef.componentInstance.currentUser = this.currentUser;\n dialogRef.componentInstance.childTablePointers = this.childTablePointers;\n\n dialogRef.afterClosed().subscribe(result => {\n // if(result !== undefined)\n this.dorseyService.GetSelectedVersionPointerData(this.CurrentVersionNumber, Number(this.CompanyID), Number(this.TeamID), this.childTablePointers).subscribe(pointer => {\n this.pointerList = JSON.parse(pointer['_body']);\n\n\n\n this.ActivityID = activityID.ActivityID;\n\n\n\n let filterSubMetric = this.pointerList.filter(x => x.PointerTypeID === 2 && x.ActivityID === activityID.ActivityID);\n let filterSubIssue = this.pointerList.filter(x => x.PointerTypeID === 1 && x.ActivityID === activityID.ActivityID);\n\n\n let filterMetric = this.pointerList.filter(x => x.PointerTypeID === 2 && x.ActivityID === activityFilter[0].ActivityID);\n let filterIssue = this.pointerList.filter(x => x.PointerTypeID === 1 && x.ActivityID === activityFilter[0].ActivityID);\n\n\n this.processID = activityFilter[0].ProcessID;\n\n if (pointerID === 2) {\n if (activityFilter[0].ParentID === 0) {\n this.IssuesLists[this.processID]['Metric'][activityFilter[0].ActivityID] = filterMetric.length;\n\n if (filterMetric.length > 0) {\n this.IssuesLists[this.processID]['MetricList'][activityFilter[0].ActivityID] = filterMetric;\n }\n else {\n\n delete this.IssuesLists[this.processID]['MetricList'][activityFilter[0].ActivityID];\n }\n\n }\n else if (this.ActivityID === activityFilter[0].ActivityID) {\n\n if (filterSubMetric.length > 0) {\n this.IssuesLists[this.processID]['SubMCount'][this.ActivityID]['SubMetric'][this.ActivityID] = filterSubMetric.length;\n this.IssuesLists[this.processID]['SubActivityMetric'][this.ActivityID] = filterSubMetric;\n }\n else {\n this.IssuesLists[this.processID]['SubMCount'][this.ActivityID]['SubMetric'] = {};\n delete this.IssuesLists[this.processID]['SubActivityMetric'][this.ActivityID];\n\n }\n\n }\n\n }\n else {\n if (activityFilter[0].ParentID === 0) {\n this.IssuesLists[this.processID]['Issue'][activityFilter[0].ActivityID] = filterIssue.length;\n if (filterIssue.length > 0) {\n this.IssuesLists[this.processID]['IssueList'][activityFilter[0].ActivityID] = filterIssue;\n }\n else {\n\n delete this.IssuesLists[this.processID]['IssueList'][activityFilter[0].ActivityID];\n }\n }\n else if (this.ActivityID === activityFilter[0].ActivityID) {\n {\n\n if (filterSubIssue.length > 0) {\n this.IssuesLists[this.processID]['SubMCount'][this.ActivityID]['SubIssue'][this.ActivityID] = filterSubIssue.length;\n this.IssuesLists[this.processID]['SubActivityIssues'][this.ActivityID] = filterSubIssue;\n\n }\n\n else {\n this.IssuesLists[this.processID]['SubMCount'][this.ActivityID]['SubIssue'] = {};\n delete this.IssuesLists[this.processID]['SubActivityIssues'][this.ActivityID];\n }\n\n }\n\n }\n\n }\n\n this.GetFrustrations();\n\n this.checkForMetricAlert();\n })\n });\n });\n }\n checkForMetricAlert() {\n if (this.IssuesLists[this.subKey]) {\n if (this.IssuesLists[this.subKey]['Activity']) {\n for (let j = 0; j < this.IssuesLists[this.subKey]['Activity'].length; j++) {\n let id = this.IssuesLists[this.subKey]['Activity'][j].ActivityID;\n this.showMetricAlert[id] = false;\n if (this.IssuesLists[this.subKey]['MetricList'][this.IssuesLists[this.subKey]['Activity'][j].ActivityID.toString()] != undefined) {\n\n j = j + this.alertMetricValue - (j % this.alertMetricValue) - 1;\n } else {\n if ((j + 1) % this.alertMetricValue == 0) {\n this.showMetricAlert[id] = true;\n } else {\n this.showMetricAlert[id] = false;\n }\n }\n\n }\n }\n\n }\n }\n\n}\n\n@Component({\n selector: 'app-dialog',\n templateUrl: 'dialog.html',\n styleUrls: ['dialog.css'],\n providers: [DorseyService]\n})\nexport class ProcessMapDialogComponent2 implements OnInit {\n readOnly = false;\n IsVersion = false;\n ActivityTypeID: string;\n isProcess: any;\n isSub: any;\n condition = false;\n isActivity: any;\n dataSelf: string;\n processID: string;\n headerText: string;\n GoalsList: any;\n PointerType: string;\n CaseData: any;\n Process = '';\n Activity = '';\n toggle = '';\n IssuesLists = {};\n subKey = '';\n MapType: string;\n show = true;\n SubActivityID: string;\n activityProcess: number;\n pointerList: any;\n processData: any;\n versionID: any;\n childTableName: any;\n childTablePointers: any;\n TeamID: any;\n activityData: any;\n departmentData: any;\n severityData: any;\n statusData: any;\n pointerTypeData: any;\n StatusID: string;\n frustrationtypeData: any;\n employeeData: any;\n teamData: any;\n tempFrustrationType: any;\n CompanyID: string;\n ActivityID: any;\n tempActivity: any;\n ProcessID: string;\n currentUser: string;\n greenLow: string;\n greenHigh: string;\n redLow: string;\n redHigh: string;\n yellowLow: string;\n yellowHigh: string;\n PointerID: any;\n childTableNameType: string;\n subActivityStatus: boolean;\n menuDeleteCheck: boolean;\n menuUpdateCheck: boolean;\n menuReadCheck: boolean;\n menuCreateCheck: boolean;\n menuCCheck: boolean;\n FrustrationTypeID: string;\n Subject: string;\n SeverityID: string;\n EmployeeID: string;\n Description: any;\n Source: any;\n DepartmentID: string;\n conditionActivity: any;\n tempSubActivity: any[];\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any, public dorseyService: DorseyService,\n private dialog: MatDialog, private scoreCardService: PerformanceScoreCardService) {\n // dialogRef.disableClose=true;\n this.data = this.data.split('æææ');\n\n if (this.data[1] === 'true') {\n this.condition = true;\n } else {\n this.condition = false;\n }\n this.toggle = this.data[2];\n this.data = this.data[0];\n\n }\n ngOnInit() {\n this.subKey = Object.keys(this.IssuesLists)[0];\n }\n\n closeChoose() {\n this.dialogRef.close(this.PointerType);\n }\n\n dialogCall(msg: string) {\n const dialogRef = this.dialog.open(ProcessMapDialogComponent, {\n data: msg + 'æææ' + false,\n });\n }\n\n Clear() {\n this.dialogRef.close(false);\n }\n onYesClick() {\n this.dialogRef.close(true);\n }\n onNoClick(): void {\n this.dialogRef.close();\n }\n\n\n EditPointer(element) {\n\n if (!this.menuDeleteCheck && !this.menuUpdateCheck) {\n return;\n }\n\n let tempP = this.pointerList.filter(x => x.PointerID === element.PointerID);\n if (tempP.length > 0) {\n this.TeamID = tempP[0].TeamID;\n }\n\n this.dorseyService.GetSelectedVersionPointerData(this.versionID, Number(this.CompanyID), Number(this.TeamID), this.childTablePointers).subscribe(pointer => {\n this.pointerList = JSON.parse(pointer['_body']);\n\n let filterPointer = this.pointerList.filter(x => x.PointerID === element.PointerID);\n if (filterPointer.length > 0) {\n if (filterPointer[0].PointerTypeID === 1) {\n const dialogRef = this.dialog.open(PointerDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: 'edit' + 'æææ' + 'process',\n });\n\n dialogRef.componentInstance.processData = this.processData;\n dialogRef.componentInstance.activityData = this.activityData;\n dialogRef.componentInstance.departmentData = this.departmentData;\n dialogRef.componentInstance.pointerTypeData = this.pointerTypeData;\n dialogRef.componentInstance.severityData = this.severityData;\n dialogRef.componentInstance.statusData = this.statusData;\n dialogRef.componentInstance.teamData = this.teamData;\n dialogRef.componentInstance.employeeData = this.employeeData;\n dialogRef.componentInstance.frustrationtypeData = this.frustrationtypeData;\n dialogRef.componentInstance.tempActivity = this.tempActivity;\n dialogRef.componentInstance.tempFrustrationType = this.tempFrustrationType;\n dialogRef.componentInstance.EmployeeID = filterPointer[0].EmployeeID;\n dialogRef.componentInstance.ProcessID = filterPointer[0].ProcessID;\n dialogRef.componentInstance.ActivityID = filterPointer[0].ActivityID;\n dialogRef.componentInstance.PointerTypeID = filterPointer[0].PointerTypeID;\n dialogRef.componentInstance.PointerID = filterPointer[0].PointerID;\n dialogRef.componentInstance.DepartmentID = filterPointer[0].DepartmentID;\n dialogRef.componentInstance.FrustrationTypeIDs = filterPointer[0].FrustrationsTypeID;\n dialogRef.componentInstance.FrustrationTypeID = filterPointer[0].FrustrationsTypeID;\n dialogRef.componentInstance.TeamID = filterPointer[0].TeamID;\n dialogRef.componentInstance.StatusID = filterPointer[0].StatusID;\n dialogRef.componentInstance.SeverityID = filterPointer[0].SeverityID;\n dialogRef.componentInstance.Subject = filterPointer[0].Subject;\n dialogRef.componentInstance.Description = filterPointer[0].Description;\n dialogRef.componentInstance.ProjectID = filterPointer[0].ProjectID;\n dialogRef.componentInstance.CompanyID = filterPointer[0].CompanyID;\n dialogRef.componentInstance.updatedBy = filterPointer[0].UpdatedBy;\n dialogRef.componentInstance.updatedDate = filterPointer[0].UpdatedDate;\n dialogRef.componentInstance.currentUser = this.currentUser;\n\n let tempActivityes = this.activityData;\n let subAct = tempActivityes.filter(x => x.ParentID != 0);\n\n let tempAct = subAct.filter(x => x.ActivityID === filterPointer[0].ActivityID);\n\n let ParentID: string;\n let parentActivityName: string;\n if (tempAct.length === 1 && tempAct.length > 0) {\n\n ParentID = tempAct[0].ParentID;\n parentActivityName = tempAct[0].ActivityName\n }\n if (ParentID.toString() === '0') {\n dialogRef.componentInstance.ActivityID = filterPointer[0].ActivityID;\n dialogRef.componentInstance.subActivityStatus = false;\n } else {\n dialogRef.componentInstance.subActivityStatus = true;\n dialogRef.componentInstance.SubActivityID = filterPointer[0].ActivityID;\n dialogRef.componentInstance.ActivityID = ParentID;\n }\n dialogRef.afterClosed().subscribe(result => {\n if (result)\n this.dialogCall(\"Updated successfully\");\n this.dorseyService.GetCaseData(filterPointer[0].ProcessID, filterPointer[0].ActivityID, filterPointer[0].PointerTypeID, this.versionID, this.childTableName, this.childTableNameType).subscribe(cases => {\n cases = JSON.parse(cases['_body']);\n this.CaseData = cases;\n })\n });\n } else {\n const dialogRef = this.dialog.open(MetricDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: 'edit' + 'æææ' + 'process',\n });\n\n let tempProcessData = this.processData.filter(x => x.TeamID === filterPointer[0].TeamID);\n dialogRef.componentInstance.processData = tempProcessData;\n dialogRef.componentInstance.activityData = this.activityData;\n dialogRef.componentInstance.departmentData = this.departmentData;\n dialogRef.componentInstance.pointerTypeData = this.pointerTypeData;\n dialogRef.componentInstance.severityData = this.severityData;\n dialogRef.componentInstance.statusData = this.statusData;\n dialogRef.componentInstance.GoalID = filterPointer[0].GoalID;\n dialogRef.componentInstance.GoalsList = this.GoalsList;\n dialogRef.componentInstance.teamData = this.teamData;\n dialogRef.componentInstance.employeeData = this.employeeData;\n dialogRef.componentInstance.frustrationtypeData = this.frustrationtypeData;\n dialogRef.componentInstance.tempActivity = this.tempActivity;\n dialogRef.componentInstance.tempFrustrationType = this.tempFrustrationType;\n dialogRef.componentInstance.EmployeeID = filterPointer[0].EmployeeID;\n dialogRef.componentInstance.ProcessID = filterPointer[0].ProcessID;\n dialogRef.componentInstance.ActivityID = filterPointer[0].ActivityID;\n dialogRef.componentInstance.PointerTypeID = filterPointer[0].PointerTypeID;\n dialogRef.componentInstance.PointerID = filterPointer[0].PointerID;\n dialogRef.componentInstance.DepartmentID = filterPointer[0].DepartmentID;\n dialogRef.componentInstance.FrustrationTypeID = filterPointer[0].FrustrationTypeID;\n dialogRef.componentInstance.TeamID = filterPointer[0].TeamID;\n dialogRef.componentInstance.StatusID = filterPointer[0].StatusID;\n dialogRef.componentInstance.SeverityID = filterPointer[0].SeverityID;\n dialogRef.componentInstance.Subject = filterPointer[0].Subject;\n dialogRef.componentInstance.Description = filterPointer[0].Description;\n dialogRef.componentInstance.tempActivity = this.tempActivity;\n dialogRef.componentInstance.tempFrustrationType = this.tempFrustrationType;\n dialogRef.componentInstance.Source = element.Source;\n dialogRef.componentInstance.CompanyID = filterPointer[0].CompanyID;\n let tempActivityes = this.activityData;\n let subAct = tempActivityes.filter(x => x.ParentID != 0);\n let tempAct = subAct.filter(x => x.ActivityID === filterPointer[0].ActivityID);\n\n let ParentID: string;\n let parentActivityName: string;\n if (tempAct.length === 1 && tempAct.length > 0) {\n\n ParentID = tempAct[0].ParentID;\n parentActivityName = tempAct[0].ActivityName\n }\n if (ParentID.toString() === '0') {\n dialogRef.componentInstance.ActivityID = filterPointer[0].ActivityID;\n dialogRef.componentInstance.subActivityStatus = false;\n } else {\n\n dialogRef.componentInstance.subActivityStatus = true;\n dialogRef.componentInstance.SubActivityID = filterPointer[0].ActivityID;\n dialogRef.componentInstance.ActivityID = ParentID;\n }\n dialogRef.afterClosed().subscribe(result => {\n if (result)\n this.dialogCall(\"Updated successfully\");\n\n this.dorseyService.GetCaseData(filterPointer[0].ProcessID, filterPointer[0].ActivityID, filterPointer[0].PointerTypeID, this.versionID, this.childTableName, this.childTableNameType).subscribe(cases => {\n cases = JSON.parse(cases['_body']);\n this.CaseData = cases;\n let filter = this.CaseData.filter(x => x.PointerID === element.PointerID);\n })\n });\n }\n }\n });\n }\n\n DeletePointer(element) {\n\n let filterPointer = this.pointerList.filter(x => x.PointerID === element.PointerID);\n if (filterPointer.length > 0) {\n if (filterPointer[0].PointerTypeID === 2) {\n this.PointerID = filterPointer[0].PointerID;\n\n let status: boolean;\n this.scoreCardService.CheckMetricExistInPSCDetails(this.PointerID).subscribe(resp => {\n status = resp.Data;\n })\n const dialogRef = this.dialog.open(MetricDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: 'Are you sure you want to delete metric: ' + element.Description + '?æææ' + true,\n width: '400px',\n });\n\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n if (!status) {\n this.dorseyService.DeletePointer(this.PointerID).subscribe(data => {\n if (data.ok) {\n this.condition = true;\n const dialogRef = this.dialog.open(MetricDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: 'Deleted Successfully '\n });\n dialogRef.afterClosed().subscribe(result => {\n this.dorseyService.GetCaseData(filterPointer[0].ProcessID, filterPointer[0].ActivityID, filterPointer[0].PointerTypeID, this.versionID, this.childTableName, this.childTableNameType).subscribe(cases => {\n cases = JSON.parse(cases['_body']);\n this.CaseData = cases;\n })\n });\n }\n });\n }\n else {\n this.dialogCall(\"Delete Failed. This metric is associated with scorecard\");\n }\n }\n });\n } else {\n this.PointerID = filterPointer[0].PointerID;\n\n const dialogRef = this.dialog.open(PointerDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: 'Are you sure you want to delete frustration: ' + element.Subject + '?æææ' + true,\n width: '400px',\n\n // width: '40%'\n });\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n this.dorseyService.DeletePointer(this.PointerID).subscribe(data => {\n\n if (data.ok) {\n this.condition = true;\n const dialogRef = this.dialog.open(PointerDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: 'Deleted Successfully '\n });\n dialogRef.afterClosed().subscribe(result => {\n\n\n this.dorseyService.GetCaseData(filterPointer[0].ProcessID, filterPointer[0].ActivityID, filterPointer[0].PointerTypeID, this.versionID, this.childTableName, this.childTableNameType).subscribe(cases => {\n cases = JSON.parse(cases['_body']);\n this.CaseData = cases;\n\n })\n\n });\n }\n });\n }\n });\n }\n }\n\n }\n\n}\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { DorseyService } from '../dorsey.service';\nimport { LocalStorageService } from 'ngx-webstorage';\nimport { EmployeeLoginLevel } from '../common/models/login-level.model';\nimport { copyRight } from '../copyRight.model';\n\n@Component({\n selector: 'app-process',\n templateUrl: './process.component.html',\n providers: [DorseyService]\n})\nexport class ProcessComponent implements OnInit {\n employeeLevelLogin = EmployeeLoginLevel;\n status = false;\n processData: any;\n granualProcess = [];\n teamData: any;\n saveFilter = [];\n procData: any;\n employeeDetails: any;\n Permissons: any;\n CompanyID: string;\n ProcessID: string;\n ProcessName: string;\n DepartmentID: string;\n EmployeeID: number;\n ProcessDescription: string;\n TeamID: number;\n condition = false;\n headerText: string;\n searchtext: string;\n p: number = 1;\n rowsOnPage = 10;\n rowsOnPageSet = [];\n rowCount: any;\n dynamicRows = 10;\n isDesc: boolean = false;\n column = \"\";\n direction: number;\n arrow = true;\n processPaging = false;\n isDisable = false;\n disableSearch = false;\n\n CurrentUser: string;\n\n MenuPermissions: any;\n menuData: any;\n menuID: string;\n menuName: string;\n empID: string;\n sequenceList = [];\n squence = null;\n\n loginCompanyName: any;\n lastSequence: number;\n TeamName: any;\n UserID: any;\n\n constructor(public dialog: MatDialog, public dorseyService: DorseyService, private storage: LocalStorageService) {\n this.empID = this.storage.retrieve('EmployeeID');\n this.CompanyID = this.storage.retrieve('companyID');\n this.CurrentUser = this.storage.retrieve('user');\n this.menuData = this.storage.retrieve('menuData');\n this.MenuPermissions = this.storage.retrieve('MenuPermissions');\n this.loginCompanyName = this.storage.retrieve('loginCompanyName');\n this.UserID = this.storage.retrieve('UserID');\n this.employeeDetails = this.storage.retrieve('employeeDetails');\n this.getTeam();\n }\n\n ngOnInit() {\n if (this.employeeDetails) {\n this.EmployeeID = this.employeeDetails.EmployeeID;\n this.TeamID = this.employeeDetails.TeamID;\n }\n else {\n this.EmployeeID = 0;\n }\n this.menuData = this.menuData.filter(x => x.MenuName.toString().toLowerCase() === 'process');\n if (this.menuData.length > 0) {\n this.menuName = this.menuData[0][\"MenuName\"];\n this.menuID = this.menuData[0][\"MenuID\"];\n }\n this.getProcess();\n\n }\n openProcess(): void {\n this.TeamID = 0;\n this.squence = '';\n this.sequenceList = [];\n this.dialogCall('new');\n }\n getTeam(): void {\n this.dorseyService.GetTeam(this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.teamData = subData;\n if (this.employeeDetails) {\n if (this.employeeDetails.IsEmployeeLoginLevel == this.employeeLevelLogin.Department) {\n this.teamData = this.teamData.filter(ent => ent.DepartmentID == this.employeeDetails.DepartmentID)\n }\n else if (this.employeeDetails.IsEmployeeLoginLevel == this.employeeLevelLogin.Team) {\n this.teamData = this.teamData.filter(ent => ent.DepartmentID == this.employeeDetails.DepartmentID && ent.TeamID == this.employeeDetails.TeamID)\n this.TeamName = this.teamData[0].TeamName;\n }\n else {\n this.teamData = subData;\n }\n }\n\n });\n }\n searchText(): void {\n this.processData = this.saveFilter;\n let tempProcess = this.processData.filter(\n (item) => {\n return (\n (item.ProcessName !== null && item.ProcessName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.CompanyName !== null && item.CompanyName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.ProcessDescription !== null && item.ProcessDescription.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.TeamName !== null && item.TeamName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1)\n );\n }\n\n );\n\n this.processData = tempProcess;\n if (this.processData.length == 0) {\n this.isDisable = true;\n } else {\n this.isDisable = false;\n }\n\n\n if (this.searchtext === '') {\n this.processData = this.saveFilter;\n this.rowCount = this.processData.length;\n this.isDisable = false;\n this.getProcessPagination(this.rowCount);\n }\n else {\n this.rowCount = tempProcess.length;\n this.getProcessPagination(this.rowCount);\n if (this.rowsOnPageSet.length === 1) {\n if (this.rowsOnPageSet[0] <= 10)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n }\n\n\n }\n getProcess(): void {\n\n this.processData = [];\n this.dorseyService.GetProcess(this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.processData = subData;\n this.storage.store(\"procData\", this.processData);\n this.rowCount = this.processData.length;\n if (this.processData.length === 0) {\n this.processPaging = false;\n this.isDisable = true;\n this.disableSearch = true;\n }\n else {\n\n this.processPaging = true;\n this.isDisable = false;\n for (let i = 0; i < this.processData.length; i++) {\n this.sequenceList.push(Number(this.processData[i].squence));\n }\n this.disableSearch = false;\n this.rowsOnPageSet = [];\n this.dynamicRows = 10;\n if (this.employeeDetails) {\n if (this.employeeDetails.IsEmployeeLoginLevel == this.employeeLevelLogin.Department) {\n this.processData = this.processData.filter(entity1 => this.teamData.find(entity2 => entity1.TeamID == entity2.TeamID));\n }\n else if (this.employeeDetails.IsEmployeeLoginLevel == this.employeeLevelLogin.Team) {\n this.processData = this.processData.filter(ent => ent.TeamID == this.employeeDetails.TeamID)\n }\n else {\n let data = this.processData.filter(x => x.CompanyID === this.CompanyID);\n this.processData = data;\n }\n\n if (!this.employeeDetails.PermissionJson) {\n this.rowCount = this.processData.length;\n this.saveFilter = JSON.parse(JSON.stringify(this.processData));\n this.getProcessPagination(this.rowCount)\n return;\n }\n this.Permissons = JSON.parse(this.employeeDetails.PermissionJson);\n this.Permissons = this.Permissons[\"Process\"];\n if (this.Permissons != undefined) {\n let processKeys = Object.keys(this.Permissons);\n\n for (let i = 0; i < processKeys.length; i++) {\n let actData = this.processData.filter(x => x.ProcessID.toString() === processKeys[i].toString());\n\n if (actData.length > 0) {\n let permissonKeys = Object.keys(this.Permissons[processKeys[i]]);\n\n if (permissonKeys.indexOf('R') > -1)\n actData[0]['R'] = this.Permissons[processKeys[i]]['R'];\n else\n actData[0]['R'] = false;\n\n\n if (permissonKeys.indexOf('C') > -1)\n actData[0]['C'] = this.Permissons[processKeys[i]]['C'];\n else\n actData[0]['C'] = false;\n\n\n if (permissonKeys.indexOf('U') > -1)\n actData[0]['U'] = this.Permissons[processKeys[i]]['U'];\n else\n actData[0]['U'] = false;\n\n\n if (permissonKeys.indexOf('D') > -1)\n actData[0]['D'] = this.Permissons[processKeys[i]]['D'];\n else\n actData[0]['D'] = false;\n\n this.granualProcess.push(actData[0]);\n }\n }\n this.processData = this.granualProcess;\n }\n }\n else {\n let data = this.processData.filter(x => x.CompanyID === this.CompanyID);\n this.processData = data;\n }\n if (this.processData.length > 0) {\n this.rowCount = this.processData.length;\n this.processPaging = true;\n this.isDisable = false;\n this.disableSearch = false;\n this.saveFilter = JSON.parse(JSON.stringify(this.processData));\n\n this.getProcessPagination(this.rowCount)\n }\n else if (this.processData.length === 0) {\n this.processPaging = false;\n this.isDisable = true;\n this.disableSearch = true;\n }\n\n }\n });\n }\n\n getProcessPagination(RowCount): void {\n this.dynamicRows = 10;\n this.rowsOnPageSet = [];\n this.rowsOnPage = 10;\n this.rowCount = RowCount;\n while (this.dynamicRows < this.rowCount) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 10;\n }\n if (!this.rowsOnPageSet.includes(this.rowCount)) {\n this.rowsOnPageSet.push(this.rowCount);\n if (this.rowsOnPageSet.length === 1) {\n if (this.rowsOnPageSet[0] <= 10)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n }\n }\n\n\n\n sort(property) {\n this.arrow = !this.arrow;\n this.isDesc = !this.isDesc; //change the direction \n this.column = property;\n this.direction = this.isDesc ? 1 : -1;\n }\n\n\n exportAsXLSX(): void {\n let allData = JSON.parse(JSON.stringify(this.processData));\n\n for (let i = 0; i < allData.length; i++) {\n // allData[i].Company=allData[i].CompanyName;\n allData[i].Team = allData[i].TeamName;\n allData[i].Process = allData[i].ProcessName;\n allData[i].Description = allData[i].ProcessDescription;\n allData[i].Sequence = allData[i].squence;\n delete (allData[i].VersionID);\n delete (allData[i].TeamName);\n delete (allData[i].CompanyName);\n delete (allData[i].ProcessName);\n delete (allData[i].ProcessDescription);\n delete (allData[i].DepartmentName);\n delete (allData[i].EmployeeName);\n delete (allData[i].ProcessDescription);\n delete (allData[i].ProcessID);\n delete (allData[i].IsActive);\n delete (allData[i].CreatedDate);\n delete (allData[i].CreatedBy);\n delete (allData[i].squence);\n delete (allData[i].UpdatedDate);\n delete (allData[i].UpdatedBy);\n delete (allData[i].CompanyID);\n delete (allData[i].DepartmentID);\n delete (allData[i].EmployeeID);\n delete (allData[i].TeamID);\n delete (allData[i].R);\n delete (allData[i].C);\n delete (allData[i].U);\n delete (allData[i].D);\n\n }\n\n this.dorseyService.generateExcel(allData, this.loginCompanyName + '_process' + \"_\" + (new Date().getMonth() + 1) + '-' + new Date().getDate() + '-' + new Date().getFullYear(), 'Process', \"Company: \" + this.loginCompanyName, '', \"Process Report\", copyRight, 'FFFFFF00', 'FF0000FF');\n }\n dialogCall(msg: string): void {\n\n const dialogRef = this.dialog.open(ProcessDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: msg + 'æææ' + false,\n });\n\n dialogRef.componentInstance.EmployeeID = this.EmployeeID;\n dialogRef.componentInstance.CurrentUser = this.CurrentUser;\n dialogRef.componentInstance.teamData = this.teamData;\n dialogRef.componentInstance.CompanyID = this.CompanyID;\n dialogRef.componentInstance.processData = this.processData;\n\n if (msg === 'new') {\n this.searchtext = '';\n this.getProcess();\n dialogRef.componentInstance.TeamID = this.TeamID;\n }\n\n if (msg === 'edit') {\n this.status = true;\n this.headerText = 'Edit Process';\n\n dialogRef.componentInstance.CompanyID = this.CompanyID;\n dialogRef.componentInstance.ProcessName = this.ProcessName;\n dialogRef.componentInstance.processID = this.ProcessID;\n dialogRef.componentInstance.TeamID = this.TeamID;\n dialogRef.componentInstance.EmployeeID = this.EmployeeID;\n dialogRef.componentInstance.TeamName = this.TeamName;\n dialogRef.componentInstance.DepartmentID = this.DepartmentID;\n dialogRef.componentInstance.ProcessDescription = this.ProcessDescription;\n dialogRef.componentInstance.squence = this.squence;\n dialogRef.componentInstance.sequenceList = this.sequenceList;\n dialogRef.componentInstance.procData = this.procData;\n dialogRef.componentInstance.oldTeamId = this.TeamID;\n\n }\n\n dialogRef.afterClosed().subscribe(result => {\n if (this.searchtext !== '' && this.searchtext !== undefined) {\n this.searchText();\n }\n else {\n this.getProcess();\n }\n\n if (result.toString() === 'true') {\n\n let statusMsg = '';\n if (msg === 'new') {\n statusMsg = 'Saved successfully';\n }\n else {\n statusMsg = 'Updated successfully';\n }\n\n this.getProcess();\n const dialogRefsub = this.dialog.open(ProcessDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: statusMsg + 'æææ' + false,\n // width: '30%'\n });\n setTimeout(() => {\n this.getProcess();\n }, 500);\n dialogRefsub.afterClosed().subscribe(result1 => {\n this.dynamicRows = 10;\n if (this.searchtext !== '' && this.searchtext !== undefined) {\n this.searchText();\n }\n else {\n this.getProcess();\n }\n });\n }\n\n });\n }\n\n editProcess(process): void {\n this.CompanyID = process.CompanyID;\n this.ProcessID = process.ProcessID;\n this.ProcessName = process.ProcessName;\n this.DepartmentID = process.DepartmentID;\n this.EmployeeID = process.EmployeeID;\n this.ProcessDescription = process.ProcessDescription;\n this.squence = process.squence;\n this.TeamID = process.TeamID;\n\n this.procData = this.storage.retrieve(\"procData\");\n for (let i = 0; i < this.procData.length; i++) {\n if (this.TeamID === this.procData[i].TeamID) {\n this.sequenceList.push(Number(this.procData[i].squence));\n }\n }\n this.dialogCall('edit');\n }\n\n equals(objOne, objTwo) {\n if (typeof objOne !== 'undefined' && typeof objTwo !== 'undefined') {\n return objOne.id === objTwo.id;\n }\n }\n\n\n\n\n ifMaxRow() {\n\n if (this.rowsOnPage == this.processData.length) {\n this.rowsOnPage = this.rowsOnPage - 1;\n }\n }\n\n deleteProcess(process): void {\n this.ProcessID = process.ProcessID;\n this.CompanyID = process.CompanyID;\n this.TeamID = process.TeamID;\n this.squence = process.squence;\n\n const dialogRef = this.dialog.open(ProcessDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: 'Are you sure you want to delete process: ' + process.ProcessName + '?æææ' + true,\n // width: '40%'\n });\n // this.condition = true;\n\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n this.dorseyService.DeleteProcess(this.ProcessID, this.CompanyID, this.TeamID, this.squence).subscribe(data => {\n\n if (data.ok) {\n this.ifMaxRow();\n this.condition = true;\n this.dialogCall('Deleted successfully');\n\n }\n this.dynamicRows = 10;\n this.rowsOnPageSet = [];\n this.getProcess();\n });\n }\n });\n\n\n\n }\n\n\n}\n\n@Component({\n selector: 'app-dialog',\n templateUrl: 'dialog.html',\n // styleUrls: ['dialog.css'],\n providers: [DorseyService]\n})\nexport class ProcessDialogComponent implements OnInit {\n CurrentUser: string;\n condition = false;\n dataSelf: string;\n headerText: string;\n\n TeamID: number;\n ProcessName: string;\n CompanyID: string;\n processID: string;\n ProcessDescription: string;\n DepartmentID: string;\n EmployeeID: number;\n TeamName: any;\n\n processData: any;\n teamData: any[];\n squence = null;\n sequenceList: number[] = [];\n conditionActivity = '';\n lastSequence: number;\n disableTeam = false;\n procData: any;\n oldTeamId: any;\n btnDisabled = false;\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any, public dorseyService: DorseyService) {\n this.data = this.data.split('æææ');\n\n if (this.data[1] === 'true') {\n this.condition = true;\n } else if (this.data[1] === 'false') {\n this.condition = false;\n }\n else {\n if (this.data[1] === '') {\n this.conditionActivity = 'process';\n } else {\n this.conditionActivity = 'process';\n }\n }\n this.data = this.data[0];\n }\n ngOnInit() {\n\n if (this.TeamID !== 0 && this.data === 'new') {\n this.sequenceList = [];\n if (this.processData.length > 0) {\n for (let i = 0; i < this.processData.length; i++) {\n if (this.processData[i].TeamID === this.TeamID) {\n this.sequenceList.push(Number(this.processData[i].squence));\n }\n }\n }\n let seq = this.sequenceList.length + 1;\n if (this.sequenceList.length !== 0) {\n this.sequenceList.push(seq);\n }\n else {\n this.sequenceList.push(1);\n }\n\n if (this.sequenceList.length !== 0) {\n this.squence = this.sequenceList[this.sequenceList.length - 1];\n }\n this.sequenceList.sort();\n this.sequenceList.sort(this.sortNumber);\n }\n if (this.TeamID !== 0 && this.conditionActivity === 'process') {\n this.sequenceList = [];\n if (this.processData.length > 0) {\n for (let i = 0; i < this.processData.length; i++) {\n if (this.processData[i].TeamID === this.TeamID) {\n\n this.sequenceList.push(Number(this.processData[i].squence));\n }\n }\n }\n\n let seq = this.sequenceList.length + 1;\n\n if (this.sequenceList.length !== 0) {\n\n this.sequenceList.push(seq);\n }\n else this.sequenceList.push(1);\n this.squence = this.sequenceList[this.sequenceList.length - 1]\n ;\n\n this.sequenceList.sort();\n this.sequenceList.sort(this.sortNumber);\n }\n\n if (!this.TeamID) {\n this.squence = '';\n this.sequenceList = [];\n }\n\n if (this.data === 'edit' || this.data === 'rearrange') {\n this.sequenceList = [];\n if (this.data === 'edit') {\n this.processData = this.procData;\n }\n for (let i = 0; i < this.processData.length; i++) {\n if (this.processData[i].TeamID === this.TeamID) {\n this.sequenceList.push(this.processData[i].squence);\n }\n }\n }\n\n this.sequenceList.sort();\n this.sequenceList.sort(this.sortNumber);\n if (this.data === 'edit') {\n if (this.TeamID !== 0) {\n this.disableTeam = true;\n }\n }\n\n }\n\n sortNumber(a, b) {\n return a - b;\n }\n\n getProcess() {\n this.dorseyService.GetProcess(this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.processData = subData;\n\n });\n }\n addProcess(): void {\n this.btnDisabled = true;\n\n setTimeout(() => {\n this.btnDisabled = false;\n }, 1000);\n if (!this.ProcessName.trim()) {\n this.dataSelf = '';\n this.dataSelf = 'Please enter mandatory(*) fields';\n return;\n }\n this.saving(this.data);\n\n }\n teamChange(event) {\n this.TeamID = Number(event.value);\n this.sequenceList = [];\n this.squence = '';\n\n this.processData.sort(function (a, b) {\n return a.squence - b.squence;\n });\n if (this.processData.length > 0) {\n for (let i = 0; i < this.processData.length; i++) {\n if (this.processData[i].TeamID.toString() === this.TeamID.toString()) {\n this.sequenceList.push(Number(this.processData[i].squence));\n }\n }\n }\n\n if (this.TeamID != this.oldTeamId) {\n let seq = this.sequenceList.length + 1;\n\n if (this.sequenceList.length !== 0) {\n this.sequenceList.push(seq);\n }\n else this.sequenceList.push(1);\n }\n\n this.squence = this.sequenceList[this.sequenceList.length - 1];\n this.sequenceList.sort();\n this.sequenceList.sort(this.sortNumber);\n this.lastSequence = this.sequenceList.length;\n\n }\n onYesClick() {\n this.dialogRef.close(true);\n }\n onNoClick(): void {\n this.dialogRef.close();\n }\n saving(msg: string): void {\n\n const json = {\n CompanyID: this.CompanyID,\n processName: this.ProcessName,\n createdby: this.CurrentUser,\n processID: this.processID,\n updatedby: this.CurrentUser,\n ProcessDescription: this.ProcessDescription,\n DepartmentID: \"0\",\n EmployeeID: this.EmployeeID,\n type: msg,\n TeamID: this.TeamID,\n squence: this.squence,\n lastSequence: this.lastSequence\n };\n\n if (msg === 'new') {\n this.dorseyService.SaveProcess(json, 'No').subscribe(data => {\n if (data['_body'].toString() === 'true') {\n this.dataSelf = 'Saved successfully';\n this.DepartmentID = '';\n this.processID = '';\n this.ProcessName = '';\n this.ProcessDescription = '';\n\n if (!this.TeamID) {\n this.squence = '';\n this.sequenceList = [];\n }\n else {\n this.squence = this.sequenceList[this.sequenceList.length - 1] + 1;\n this.sequenceList.push(this.squence);\n }\n this.getProcess();\n } else {\n this.dataSelf = 'Save failed';\n }\n\n });\n } else {\n this.dorseyService.SaveProcess(json, 'No').subscribe(data => {\n if (data['_body'].toString() === 'true') {\n this.dialogRef.close(true);\n } else {\n this.dataSelf = 'Updated successfully';\n }\n });\n }\n }\n clear(): void {\n this.dialogRef.close(false);\n }\n}\n","import { Component, OnInit, Inject, ViewChild, ElementRef } from '@angular/core';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatDatepickerInputEvent } from '@angular/material';\nimport { DorseyService } from '../dorsey.service';\nimport { PointerDialogComponent } from '../pointer/pointer.component';\nimport { CdkDragDrop, moveItemInArray, transferArrayItem } from '@angular/cdk/drag-drop';\nimport { LocalStorageService } from 'ngx-webstorage';\nimport { DatePipe } from '@angular/common';\nimport { EmployeeLoginLevel } from '../common/models/login-level.model';\nimport { copyRight } from '../copyRight.model';\n\n@Component({\n selector: 'app-project',\n templateUrl: './project.component.html',\n //styleUrls: ['./project.component.scss'],\n providers: [DorseyService, DatePipe]\n})\nexport class ProjectComponent implements OnInit {\n copyRight = copyRight;\n employeeDetails: any;\n ProjectID: string;\n ProjectName: string;\n ProjectDescription: string;\n projectData: any;\n headerText: string;\n condition = false;\n showDiv = false;\n\n frustData: any;\n rowSelected: number;\n errorMsg: string;\n sortedData: [];\n searchtext: string;\n companyData: any;\n StatusID: string;\n statusData: any;\n p: number = 1;\n rowsOnPage = 10;\n rowsOnPageSet = [];\n rowCount: any;\n dynamicRows = 10;\n isDesc: boolean = false;\n column = \"\";\n direction: number;\n arrow = true;\n tempFrustData = [];\n processData: any;\n activityData: any;\n\n pointerTypeData: any;\n severityData: any;\n teamData: any;\n employeeData: any;\n frustrationtypeData: any;\n tempFrustrationType: any;\n pointerData: any;\n ProcessID: string;\n tempActivity = [];\n ActivityID: string;\n FrustrationTypeID: string;\n pointerFrustration: any;\n tableFormat = false;\n kenbanFormat = false;\n displayAs: string;\n kenvanView = [];\n kenvan = {};\n weeks = [];\n connectedTo = [];\n showpgtn = true;\n statusidlist = \"\";\n StatusDic = {};\n statusname = \"\";\n projectPaging = false;\n saveFilter = [];\n CompanyID: string;\n isDisable = false;\n disableSearch = false;\n disableKenban = false;\n CurrentUser: string;\n MenuPermissions: any;\n menuData: any;\n menuID: string;\n menuName: string;\n ProjectDueDate: Date;\n loginCompanyName: any;\n Date = new Date();\n userTeamID: any;\n TeamName: any;\n empID: any;\n userRoleAssignmentData: any;\n\n UserID: any;\n\n updatedDate = new Date();\n updatedBy: any;\n TeamID: string;\n ProjectOwner: string;\n ifTouchDevice = false;\n @ViewChild('button', { static: false }) button: ElementRef;\n longPress = 'first state';\n longPressing = 0;\n isLongPressed = false;\n ifLongPress = true;\n constructor(private dorseyService: DorseyService, public dialog: MatDialog, private storage: LocalStorageService, private datepipe: DatePipe) {\n this.CurrentUser = this.storage.retrieve('user');\n this.menuData = this.storage.retrieve('menuData');\n this.MenuPermissions = this.storage.retrieve('MenuPermissions');\n this.loginCompanyName = this.storage.retrieve('loginCompanyName');\n this.userTeamID = this.storage.retrieve('TeamID');\n this.CompanyID = this.storage.retrieve('companyID');\n this.empID = this.storage.retrieve('EmployeeID');\n // console.log(this.CurrentUser,this.loginCompanyName);\n\n this.UserID = this.storage.retrieve('UserID');\n this.employeeDetails = this.storage.retrieve('employeeDetails');\n this.GetTeam();\n this.GetStatus();\n\n }\n ngOnInit() {\n\n\n this.tableFormat = true;\n\n this.menuData = this.menuData.filter(x => x.MenuName.toString().toLowerCase() === 'projects');\n if (this.menuData.length > 0) {\n this.menuName = this.menuData[0][\"MenuName\"];\n this.menuID = this.menuData[0][\"MenuID\"];\n }\n\n\n this.GetActivity();\n // this.GetProcess();\n setTimeout(() => {\n\n\n this.GetProjects();\n }, 100);\n this.GetPointer();\n this.GetEmployee();\n\n this.GetPointerType();\n this.GetSeverity();\n\n\n this.GetFrustrationType();\n\n\n }\n\n onLongPress() {\n // this.longPressing = null;\n // if (this.isLongPressed) this.button.nativeElement.style.backgroundColor = 'green';\n // else this.button.nativeElement.style.backgroundColor = 'orange';\n // this.isLongPressed = !this.isLongPressed;\n // this.longPress = this.isLongPressed ? 'second state' : 'first state';\n }\n\n onLongPressing() {\n // console.log(\"method called\" + this.ifLongPress);\n\n this.longPressing += 1;\n // console.log(this.longPressing);\n if (this.longPressing > 20) {\n this.ifLongPress = false;\n // console.log(this.ifLongPress);\n } else {\n this.ifLongPress = true;\n // console.log(this.ifLongPress);\n }\n }\n onMouseUp() {\n // console.log(\"mouseup\");\n this.longPressing = 0;\n this.ifLongPress = true;\n }\n\n onDblClick() {\n // console.log(\"double click\");\n this.ifLongPress = false;\n }\n\n\n GetPointer() {\n this.dorseyService.GetPointer(this.CompanyID).subscribe(subData => {\n\n subData = JSON.parse(subData['_body']);\n this.pointerData = subData;\n this.pointerFrustration = this.pointerData.filter(x => x.PointerTypeID != null && x.PointerTypeID.toString() === \"1\")\n\n });\n }\n\n exportAsXLSX() {\n this.tableFormat = true;\n this.kenbanFormat = false;\n let allData = JSON.parse(JSON.stringify(this.projectData));\n //console(allData);\n for (let i = 0; i < allData.length; i++) {\n allData[i][\"Project Team\"] = allData[i].TeamName;\n allData[i].Project = allData[i].ProjectName;\n allData[i].Description = allData[i].ProjectDescription;\n allData[i].Status = allData[i].ProjectStatusName;\n allData[i][\"Project Owner\"] = allData[i].ProjectOwner;\n\n\n if (allData[i].ProjectDueDate !== null) {\n allData[i][\" Due Date \"] = this.datepipe.transform(allData[i].ProjectDueDate, 'MM/dd/yyyy');\n } else {\n allData[i][\" Due Date \"] = null;\n }\n\n\n delete (allData[i].DepartmentID);\n delete (allData[i].ProcessID);\n delete (allData[i].CompanyID1);\n delete (allData[i].IsActive2);\n delete (allData[i].CreatedDate2);\n delete (allData[i].CreatedBy2);\n delete (allData[i].UpdatedBy2);\n delete (allData[i].UpdatedDate2);\n delete (allData[i].TeamDescription);\n delete (allData[i].TeamName1);\n\n delete (allData[i].TeamID);\n delete (allData[i].TeamID1);\n delete (allData[i].ProjectName);\n delete (allData[i].ProjectStatusName);\n delete (allData[i].CompanyID);\n delete (allData[i].ProjectDescription);\n delete (allData[i].ProjectDueDate);\n delete (allData[i].ProjectOwner);\n delete (allData[i].TeamName);\n delete (allData[i].ProjectID);\n delete (allData[i].StatusID);\n delete (allData[i].RowID);\n delete (allData[i].ProjectStatusID);\n delete (allData[i].UpdatedBy);\n delete (allData[i].UpdatedDate);\n delete (allData[i].IsActive);\n delete (allData[i].EmployeeID);\n delete (allData[i].CreatedDate);\n\n delete (allData[i].CreatedBy);\n delete (allData[i].UpdatedDate);\n delete (allData[i].UpdatedBy);\n\n delete (allData[i].StatusID1);\n delete (allData[i].IsActive1);\n delete (allData[i].CreatedDate1);\n\n delete (allData[i].CreatedBy1);\n delete (allData[i].UpdatedDate1);\n delete (allData[i].UpdatedBy1);\n delete (allData[i].ProjectStatusName1);\n }\n\n this.dorseyService.generateExcel(allData, this.loginCompanyName + '_project' + \"_\" + (new Date().getMonth() + 1) + '-' + new Date().getDate() + '-' + new Date().getFullYear(), 'Project', \"Company: \" + this.loginCompanyName, '', \"Project Report\", copyRight, 'FFFFFF00', 'FF0000FF');\n\n // this.dorseyService.exportAsExcelFile(allData,this.loginCompanyName+'_project');\n }\n table() {\n this.tableFormat = true;\n this.kenbanFormat = false;\n this.displayAs = \"Table View\";\n }\n kenban() {\n this.kenbanFormat = true;\n this.tableFormat = false;\n this.displayAs = \"Status view\";\n this.GetProjects();\n }\n\n GetEmployee() {\n this.dorseyService.GetEmployee(this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.employeeData = subData;\n });\n }\n\n GetPointerType() {\n this.dorseyService.GetPointerType().subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.pointerTypeData = subData;\n });\n }\n\n GetSeverity() {\n this.dorseyService.GetSeverity().subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.severityData = subData;\n });\n }\n\n GetTeam() {\n this.dorseyService.GetTeam(this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.teamData = subData;\n if (this.employeeDetails) {\n if (this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Department) {\n this.teamData = this.teamData.filter(ent => ent.DepartmentID == this.employeeDetails.DepartmentID)\n }\n else if (this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Team) {\n this.teamData = this.teamData.filter(ent => ent.DepartmentID == this.employeeDetails.DepartmentID && ent.TeamID == this.employeeDetails.TeamID)\n this.TeamName = this.teamData[0].TeamName;\n }\n else {\n this.teamData = subData;\n }\n }\n });\n }\n\n GetProcess() {\n this.dorseyService.GetProcess(this.CompanyID).subscribe(subData => {\n\n subData = JSON.parse(subData['_body']);\n this.processData = subData;\n });\n }\n GetActivity() {\n\n this.dorseyService.GetActivity(this.CompanyID).subscribe(activity => {\n activity = JSON.parse(activity['_body']);\n this.activityData = activity;\n\n });\n }\n\n GetPointers() {\n this.dorseyService.GetPointer(this.CompanyID).subscribe(pointer => {\n this.pointerTypeData = JSON.parse(pointer['_body']);\n });\n }\n\n Searchtext() {\n this.projectData = this.saveFilter;\n let tempProjects = this.projectData.filter(\n (item) => {\n return (\n (item.ProjectName !== null && item.ProjectName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.ProjectDescription !== null && item.ProjectDescription.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.ProjectStatusName !== null && item.ProjectStatusName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.TeamName !== null && item.TeamName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.ProjectOwner !== null && item.ProjectOwner.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1)\n );\n }\n );\n this.projectData = tempProjects;\n if (this.projectData.length == 0) {\n this.isDisable = true;\n this.disableKenban = true;\n this.projectPaging = false;\n } else {\n this.isDisable = false;\n }\n if (this.searchtext === '') {\n this.weeks = [];\n this.kenvan = [];\n this.kenvanView = [];\n this.projectData = this.saveFilter;\n this.dynamicRows = 10;\n this.rowsOnPageSet = [];\n this.rowCount = this.projectData.length;\n while (this.dynamicRows < this.rowCount) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 10;\n }\n if (!this.rowsOnPageSet.includes(this.rowCount))\n this.rowsOnPageSet.push(this.rowCount);\n if (this.rowsOnPageSet) {\n\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n this.isDisable = false;\n this.disableKenban = false;\n this.projectPaging = true;\n } else {\n // console.log(tempProjects.length);\n this.rowCount = tempProjects.length;\n this.dynamicRows = 10;\n this.rowsOnPageSet = [];\n while (this.dynamicRows < this.rowCount) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 10;\n }\n if (!this.rowsOnPageSet.includes(this.rowCount)) {\n this.rowsOnPageSet.push(this.rowCount);\n if (this.rowsOnPageSet)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n\n if (this.rowsOnPageSet.length === 1) {\n if (this.rowsOnPageSet[0] <= 10)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n }\n }\n OpenProject() {\n this.dialogCall('new');\n }\n\n GetProjects() {\n this.weeks = [];\n this.kenvan = [];\n this.kenvanView = [];\n\n this.dynamicRows = 10;\n this.rowsOnPageSet = [];\n\n\n //console(this.weeks);\n //console(this.kenvan);\n //console(this.kenvanView);\n\n this.dorseyService.GetProjects(this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.projectData = subData;\n let tempProjectData = this.projectData;\n // if(this.userTeamID===null || this.userTeamID===undefined)\n // {\n // this.userTeamID=\"0\";\n // }\n\n if (this.projectData.length === 0) {\n this.projectPaging = false;\n this.isDisable = true;\n this.disableSearch = true;\n this.disableKenban = true;\n }\n\n else {\n this.saveFilter = JSON.parse(JSON.stringify(this.projectData));\n this.projectPaging = true;\n this.isDisable = false;\n this.disableSearch = false;\n this.disableKenban = false;\n\n // if (this.userTeamID.toString() !== \"0\" && this.userTeamID !== null && this.CompanyID.toString() !== \"0\") {\n // let dtaa = this.projectData.filter(x => x.TeamID === this.userTeamID && x.CompanyID === this.CompanyID);\n // this.projectData = dtaa;\n // }\n // else {\n // let dtaa = this.projectData.filter(x => x.CompanyID === this.CompanyID);\n // this.projectData = dtaa;\n // }\n // this.saveFilter = JSON.parse(JSON.stringify(this.projectData));\n this.rowsOnPageSet = [];\n this.dynamicRows = 10;\n this.rowCount = this.projectData.length;\n if (this.projectData == \"\") {\n this.showpgtn = false;\n }\n\n while (this.dynamicRows < this.rowCount) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 10;\n }\n if (!this.rowsOnPageSet.includes(this.rowCount))\n this.rowsOnPageSet.push(this.rowCount);\n if (this.rowsOnPageSet.length === 1) {\n if (this.rowsOnPageSet[0] <= 10)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n\n }\n //console(this.projectData);\n if (!this.projectData)\n return;\n for (let k = 0; k < this.statusData.length; k++) {\n this.kenvanView = [];\n\n for (let j = 0; j < this.projectData.length; j++) {\n\n if (this.statusData[k].StatusID === this.projectData[j].StatusID) {\n\n this.kenvanView.push(this.projectData[j]);\n }\n }\n this.kenvan['id'] = this.statusData[k].ProjectStatusName;\n this.kenvan['weeklist'] = this.kenvanView;\n\n // console.log(this.kenvanView);\n this.weeks.push({\n 'id': this.statusData[k].ProjectStatusName,\n 'weeklist': this.kenvanView,\n 'statusID': this.statusData[k].ProjectStatusID,\n\n 'count': this.kenvanView.length\n });\n }\n //console(this.weeks);\n\n for (let week of this.weeks) {\n this.connectedTo.push(week.id);\n };\n\n\n\n });\n // console.log(this.weeks);\n }\n\n\n drop(event: CdkDragDrop, statusID: string) {\n //console(statusID);\n if (event.previousContainer === event.container) {\n moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);\n\n } else {\n transferArrayItem(event.previousContainer.data,\n event.container.data,\n event.previousIndex,\n event.currentIndex);\n this.SaveProjects(event.container.data, statusID);\n\n }\n // this.GetCase();\n }\n\n\n SaveProjects(dataSave: any, statusID: string) {\n this.ProjectID = dataSave[0].ProjectID;\n const json = {\n ProjectID: dataSave[0].ProjectID,\n ProjectName: dataSave[0].ProjectName,\n ProjectDescription: dataSave[0].ProjectDescription,\n CreatedBy: this.CurrentUser,\n UpdatedBy: this.CurrentUser,\n StatusID: statusID,\n CompanyID: dataSave[0].CompanyID,\n ProjectDueDate: dataSave[0].ProjectDueDate,\n TeamID: dataSave[0].TeamID,\n ProjectOwner: dataSave[0].ProjectOwner\n };\n\n this.dorseyService.SaveProjects(json).subscribe(data => {\n if (data['_body'].toString() === 'true') {\n this.dorseyService.GetFrustration(this.ProjectID, this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.frustData = subData;\n const json = {\n ProjectID: this.ProjectID,\n CompanyID: this.CompanyID,\n pointerData: this.frustData,\n ProjectDescription: dataSave[0].ProjectDescription,\n ProjectName: dataSave[0].ProjectName,\n ProjectDueDate: dataSave[0].ProjectDueDate,\n UpdatedBy: this.CurrentUser\n }\n this.dorseyService.UpdatePointerProject(json, 'No', statusID).subscribe(data => {\n this.weeks = [];\n this.kenvan = [];\n this.kenvanView = [];\n this.GetProjects();\n });\n });\n }\n else {\n\n }\n });\n this.weeks = [];\n this.kenvan = [];\n this.kenvanView = [];\n this.GetPointer();\n this.GetProjects();\n }\n sort(property) {\n this.arrow = !this.arrow;\n this.isDesc = !this.isDesc; //change the direction \n this.column = property;\n this.direction = this.isDesc ? 1 : -1;\n }\n\n GetStatus() {\n this.weeks = [];\n this.kenvan = [];\n this.kenvanView = [];\n\n this.dorseyService.GetProjectStatus().subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.statusData = subData;\n this.StatusID = this.statusData[0].ProjectStatusID;\n this.dorseyService.GetPointer(this.CompanyID).subscribe(subData => {\n\n subData = JSON.parse(subData['_body']);\n this.pointerData = subData;\n\n this.dorseyService.GetProjects(this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.projectData = subData;\n for (let k = 0; k < this.statusData.length; k++) {\n let statuslist = this.statusData[k].StatusName;\n let ststuList = [];\n ststuList.push(this.statusData[k].StatusID);\n for (let i = 0; i < this.projectData.length; i++) {\n for (let j = 0; j < this.pointerData.length; j++) {\n if (this.pointerData[j].ProjectID) {\n if (this.projectData[i].ProjectID == this.pointerData[j].ProjectID) {\n this.statusname = this.pointerData[j].StatusName;\n for (let t = 0; t < ststuList.length; t++) {\n if (this.pointerData[j].StatusID == ststuList[t]) {\n const json = {\n ProjectID: this.projectData[i].ProjectID,\n ProjectName: this.projectData[i].ProjectName,\n ProjectDescription: this.projectData[i].ProjectDescription,\n CreatedBy: this.CurrentUser,\n UpdatedBy: this.CurrentUser,\n StatusID: this.statusData[k].ProjectStatusID,\n ProjectDueDate: this.projectData[i].ProjectDueDate,\n TeamID: this.projectData[i].TeamID,\n ProjectOwner: this.projectData[i].ProjectOwner,\n };\n this.dorseyService.SaveProjects(json).subscribe(data => {\n });\n break;\n }\n }\n }\n }\n }\n }\n }\n });\n });\n });\n }\n dialogCall(msg: string) {\n const dialogRef = this.dialog.open(ProjectDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: msg + 'æææ' + false,\n });\n dialogRef.componentInstance.CurrentUser = this.CurrentUser;\n dialogRef.componentInstance.projectData = this.projectData;\n dialogRef.componentInstance.statusData = this.statusData;\n dialogRef.componentInstance.CompanyID = this.CompanyID;\n dialogRef.componentInstance.teamData = this.teamData;\n dialogRef.componentInstance.ProjectDueDate = null;\n\n if (msg === 'edit') {\n\n this.headerText = 'Edit Project';\n dialogRef.componentInstance.ProjectID = this.ProjectID;\n dialogRef.componentInstance.ProjectName = this.ProjectName;\n dialogRef.componentInstance.ProjectDescription = this.ProjectDescription;\n dialogRef.componentInstance.StatusID = this.StatusID;\n dialogRef.componentInstance.updatedBy = this.updatedBy;\n dialogRef.componentInstance.updatedDate = this.updatedDate;\n dialogRef.componentInstance.TeamID = this.TeamID;\n dialogRef.componentInstance.ProjectOwner = this.ProjectOwner;\n\n if (this.ProjectDueDate)\n dialogRef.componentInstance.ProjectDueDate = this.ProjectDueDate;\n else dialogRef.componentInstance.ProjectDueDate = null;\n\n }\n if (msg === 'new') {\n this.StatusID = '';\n this.searchtext = '';\n this.rowsOnPageSet = [];\n this.weeks = [];\n this.kenvan = [];\n this.kenvanView = [];\n if (this.statusData.length > 0) {\n this.StatusID = this.statusData[0].ProjectStatusID;\n dialogRef.componentInstance.StatusID = this.StatusID;\n }\n this.GetProjects();\n }\n\n dialogRef.afterClosed().subscribe(result => {\n if (this.searchtext !== '') {\n // this.Searchtext();\n }\n else {\n this.weeks = [];\n this.kenvan = [];\n this.kenvanView = [];\n this.GetProjects();\n }\n\n if (result.toString() === 'true') {\n let statusMsg = '';\n if (msg === 'new') {\n statusMsg = 'Saved successfully';\n }\n else {\n statusMsg = 'Updated successfully';\n }\n const dialogRefsub = this.dialog.open(ProjectDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: statusMsg + 'æææ' + false,\n });\n setTimeout(() => {\n this.GetProjects();\n }, 500);\n dialogRefsub.afterClosed().subscribe(result1 => {\n this.dynamicRows = 10;\n this.weeks = [];\n this.kenvan = [];\n this.kenvanView = [];\n if (this.searchtext !== '') {\n this.Searchtext();\n }\n else {\n this.GetProjects();\n }\n });\n }\n\n });\n }\n EditProject(element) {\n\n this.ProjectID = element.ProjectID;\n this.ProjectName = element.ProjectName;\n this.ProjectDescription = element.ProjectDescription;\n this.StatusID = element.StatusID;\n this.ProjectDueDate = element.ProjectDueDate;\n this.updatedDate = element.UpdatedDate;\n this.updatedBy = element.UpdatedBy;\n this.TeamID = element.TeamID;\n this.ProjectOwner = element.ProjectOwner;\n this.dialogCall('edit');\n }\n updatePointer(msg: string) {\n this.dorseyService.GetFrustration(this.ProjectID, this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.frustData = subData;\n const json = {\n ProjectID: this.ProjectID,\n CompanyID: this.CompanyID,\n pointerData: this.frustData,\n ProjectDueDate: this.ProjectDueDate,\n UpdatedBy: this.CurrentUser\n }\n this.dorseyService.UpdatePointerProject(json, 'No', this.StatusID).subscribe(data => {\n });\n });\n }\n\n GetFrustrationType() {\n this.dorseyService.GetFrustrationType(\"1\", this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.frustrationtypeData = subData;\n });\n }\n AddIssue(element) {\n const dialogRef = this.dialog.open(PointerDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: 'edit' + 'æææ' + 'issue',\n });\n this.GetTempActivity(element.ProcessID);\n dialogRef.componentInstance.processData = this.processData;\n dialogRef.componentInstance.activityData = this.activityData;\n dialogRef.componentInstance.pointerTypeData = this.pointerTypeData;\n dialogRef.componentInstance.severityData = this.severityData;\n dialogRef.componentInstance.teamData = this.teamData;\n dialogRef.componentInstance.employeeData = this.employeeData;\n dialogRef.componentInstance.frustrationtypeData = this.frustrationtypeData;\n dialogRef.componentInstance.tempActivity = this.tempActivity;\n dialogRef.componentInstance.tempFrustrationType = this.tempFrustrationType;\n dialogRef.componentInstance.EmployeeID = element.EmployeeID;\n dialogRef.componentInstance.ProcessID = element.ProcessID;\n dialogRef.componentInstance.ActivityID = element.ActivityID;\n dialogRef.componentInstance.PointerTypeID = element.PointerTypeID;\n dialogRef.componentInstance.PointerID = element.PointerID;\n dialogRef.componentInstance.DepartmentID = element.DepartmentID;\n dialogRef.componentInstance.FrustrationTypeIDs = element.FrustrationsTypeID;\n dialogRef.componentInstance.FrustrationTypeID = element.FrustrationsTypeID;\n dialogRef.componentInstance.TeamID = element.TeamID;\n dialogRef.componentInstance.StatusID = element.StatusID;\n dialogRef.componentInstance.SeverityID = element.SeverityID;\n dialogRef.componentInstance.Subject = element.Subject;\n dialogRef.componentInstance.Description = element.Description;\n dialogRef.componentInstance.tempFrustrationType = element.tempFrustrationType;\n dialogRef.componentInstance.ProjectID = element.ProjectID;\n dialogRef.componentInstance.CompanyID = element.CompanyID;\n dialogRef.componentInstance.updatedBy = element.UpdatedBy;\n dialogRef.componentInstance.updatedDate = element.UpdatedDate;\n dialogRef.componentInstance.currentUser = this.CurrentUser;\n dialogRef.afterClosed().subscribe(result => {\n this.GetPointer();\n this.dorseyService.GetFrustration(this.ProjectID, this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.frustData = subData;\n });\n });\n }\n GetTempActivity(processID) {\n for (let i = 0; i < this.activityData.length; i++) {\n if (this.activityData[i].ProcessID.toString() === processID.toString()) {\n this.tempActivity.push(this.activityData[i]);\n }\n }\n }\n\n ForceClose(element) {\n const dialogRef = this.dialog.open(ProjectDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: 'Are you sure you want to force close project: ' + element.ProjectName + '?æææ' + true,\n });\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n this.dorseyService.GetFrustration(element.ProjectID, this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.frustData = subData;\n for (let i = 0; i < this.frustData.length; i++) {\n if (this.frustData[i].StatusID.toString() != '4' && this.frustData[i].StatusID.toString() != '5') {\n this.tempFrustData.push(this.frustData[i]);\n }\n }\n const json = {\n ProjectID: element.ProjectID,\n CompanyID: element.CompanyID,\n pointerData: this.tempFrustData,\n ProjectName: element.ProjectName,\n ProjectDescription: element.ProjectDescription,\n CreatedBy: this.CurrentUser,\n UpdatedBy: this.CurrentUser,\n StatusID: \"5\",\n ProjectDueDate: element.ProjectDueDate\n }\n\n this.dorseyService.UpdatePointerProject(json, 'No', \"5\").subscribe(data => {\n this.weeks = [];\n this.kenvan = [];\n this.kenvanView = [];\n this.GetProjects();\n if (data.ok) {\n this.condition = true;\n this.dialogCall('Save successfully');\n }\n this.weeks = [];\n this.kenvan = [];\n this.kenvanView = [];\n this.GetProjects();\n\n const json1 = {\n ProjectID: element.ProjectID,\n ProjectName: element.ProjectName,\n ProjectDescription: element.ProjectDescription,\n CreatedBy: this.CurrentUser,\n UpdatedBy: this.CurrentUser,\n StatusID: \"5\",\n CompanyID: this.CompanyID,\n ProjectDueDate: element.ProjectDueDate,\n TeamID: element.TeamID,\n ProjectOwner: element.ProjectOwner\n };\n\n this.dorseyService.SaveProjects(json1).subscribe(data => {\n if (data['_body'].toString() === 'true') {\n this.weeks = [];\n this.kenvan = [];\n this.kenvanView = [];\n this.GetProjects();\n } else {\n }\n });\n });\n });\n }\n });\n }\n\n ifMaxRow() {\n\n if (this.rowsOnPage == this.projectData.length) {\n this.rowsOnPage = this.rowsOnPage - 1;\n }\n }\n DeleteProject(element) {\n this.ProjectID = element.ProjectID;\n const dialogRef = this.dialog.open(ProjectDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: 'Are you sure you want to delete project: ' + element.ProjectName + '?æææ' + true,\n });\n\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n this.dorseyService.DeleteProjects(this.ProjectID).subscribe(data => {\n if (data.ok) {\n this.ifMaxRow();\n this.condition = true;\n this.dialogCall('Deleted successfully');\n }\n this.weeks = [];\n this.kenvan = [];\n this.kenvanView = [];\n this.GetProjects();\n });\n }\n });\n }\n showFrust(element) {\n if (this.rowSelected === -1) {\n this.rowSelected = element.ProjectID;\n }\n else {\n if (this.rowSelected == element.ProjectID) {\n this.rowSelected = -1\n }\n else {\n this.rowSelected = element.ProjectID;\n }\n }\n this.ProjectID = element.ProjectID;\n this.dorseyService.GetFrustration(this.ProjectID, this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.frustData = subData;\n if (this.employeeDetails) {\n if (this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Department) {\n this.frustData = this.frustData.filter(entity1 => this.teamData.some(entity2 => entity1.TeamID == entity2.TeamID));\n }\n else if (this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Team) {\n this.frustData = this.frustData.filter(ent => ent.TeamID == this.employeeDetails.TeamID)\n }\n else {\n let data = this.frustData.filter(x => x.CompanyID === this.CompanyID);\n this.frustData = data;\n }\n }\n });\n }\n}\n@Component({\n selector: 'app-dialog',\n templateUrl: 'dialog.html',\n // styleUrls: ['dialog.css'],\n providers: [DorseyService, DatePipe],\n})\nexport class ProjectDialogComponent implements OnInit {\n Date = new Date();\n startDate = new Date();\n validDate = new Date();\n minDate = new Date();\n ProjectID: string;\n ProjectName: string;\n ProjectDescription: string;\n projectData: any;\n condition = false;\n dataSelf: string;\n StatusID: string\n statusData: any;\n frustData: any;\n CompanyID: string;\n CurrentUser: string;\n ProjectDueDate = new Date();\n updatedDate = new Date();\n updatedBy: any;\n teamData: any;\n TeamID: any;\n ProjectOwner: any;\n btnDisabled = false;\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any, public dorseyService: DorseyService, private datepipe: DatePipe) {\n this.data = this.data.split('æææ');\n if (this.data[1] === 'true') {\n this.condition = true;\n } else {\n this.condition = false;\n }\n this.data = this.data[0];\n }\n ngOnInit() {\n }\n Clear() {\n this.dialogRef.close(false);\n }\n dob(type: string, event: MatDatepickerInputEvent) {\n const date = event.value;\n this.ProjectDueDate = date;\n let latest_date = this.datepipe.transform(this.ProjectDueDate, 'MM/dd/yyyy' + \" \" + new Date().getHours() + \":\" + new Date().getMinutes() + \":\" + new Date().getSeconds());\n this.ProjectDueDate = new Date(latest_date);\n }\n\n AddProjects() {\n this.btnDisabled = true;\n\n setTimeout(() => {\n this.btnDisabled = false;\n }, 1000);\n let count = 0;\n const Editcount = 0;\n if (this.ProjectName === undefined || this.StatusID === undefined ||\n this.ProjectName.trim() === '' || this.StatusID.toString() === '' || this.TeamID === null || this.TeamID === undefined || this.TeamID.toString() === '') {\n this.dataSelf = 'Please enter mandatory(*) fields';\n if (this.data === 'new') {\n }\n count++;\n }\n if (count === 0 && Editcount === 0) {\n this.dataSelf = '';\n if (this.data === 'new') {\n this.Saving(this.data);\n } else {\n this.Saving(this.data);\n }\n } else {\n }\n }\n onYesClick() {\n this.dialogRef.close(true);\n }\n onNoClick(): void {\n this.dialogRef.close();\n }\n Saving(msg: string) {\n const json = {\n ProjectID: this.ProjectID,\n ProjectName: this.ProjectName,\n ProjectDescription: this.ProjectDescription,\n CreatedBy: this.CurrentUser,\n UpdatedBy: this.CurrentUser,\n StatusID: this.StatusID,\n CompanyID: this.CompanyID,\n ProjectDueDate: this.ProjectDueDate,\n TeamID: this.TeamID,\n ProjectOwner: this.ProjectOwner\n };\n\n let date = this.Date.getFullYear() + '/' + (this.Date.getMonth() + 1) + '/' + this.Date.getDate();\n let date2 = new Date(date)\n if (this.ProjectDueDate !== null) {\n if (this.ProjectDueDate < date2) {\n this.dataSelf = 'Invalid date';\n return;\n }\n }\n if (msg === 'new') {\n this.dorseyService.SaveProjects(json).subscribe(data => {\n if (data['_body'].toString() === 'true') {\n this.updatePointer(msg);\n this.dialogRef.close(true);\n } else {\n this.dataSelf = 'Save failed';\n }\n });\n } else {\n this.dorseyService.SaveProjects(json).subscribe(data => {\n if (data['_body'].toString() === 'true') {\n this.updatePointer(msg);\n this.dialogRef.close(true);\n } else {\n this.dataSelf = 'Updated successfully';\n }\n });\n }\n }\n updatePointer(msg: string) {\n let statusRow = this.statusData.filter(x => x.ProjectStatusID === this.StatusID);\n this.StatusID = statusRow[0].StatusID;\n\n this.dorseyService.GetFrustration(this.ProjectID, this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.frustData = subData;\n const json = {\n ProjectID: this.ProjectID,\n CompanyID: this.CompanyID,\n pointerData: this.frustData,\n ProjectName: this.ProjectName,\n ProjectDescription: this.ProjectDescription,\n ProjectDueDate: this.ProjectDueDate,\n UpdatedBy: this.CurrentUser\n }\n this.dorseyService.UpdatePointerProject(json, 'No', this.StatusID).subscribe(data => {\n this.GetIssues(this.ProjectID);\n });\n });\n }\n GetIssues(id: string) {\n this.dorseyService.GetFrustration(id, this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.frustData = subData;\n });\n }\n statusChange(event) {\n this.StatusID = event.value;\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { DorseyService } from '../dorsey.service';\nimport { LocalStorageService } from 'ngx-webstorage';\nimport { copyRight } from '../copyRight.model';\n\n@Component({\n selector: 'app-projects-noactions',\n templateUrl: './projects-noactions.component.html',\n // styleUrls: ['./projects-noactions.component.scss']\n})\nexport class ProjectsNoactionsComponent implements OnInit {\n\n NoActionProjectData: any;\n searchtext: string;\n isDesc: boolean = false;\n column = \"\";\n direction: number;\n arrow = true;\n p: number = 1;\n rowsOnPage = 10;\n rowsOnPageSet = [];\n rowCount: any;\n dynamicRows = 10;\n processPaging = false;\n saveFilter = [];\n CompanyID: string;\n isDisable = false;\n disableSearch = false;\n companyName: string;\n headerDate = new Date();\n copyDate: number;\n EmployeeID: string;\n TeamID: string;\n TeamName: string;\n\n constructor(public dorseyService: DorseyService, private storage: LocalStorageService) {\n this.EmployeeID = this.storage.retrieve('EmployeeID');\n if (this.EmployeeID.toString() === \"0\") {\n\n }\n else {\n this.TeamID = this.storage.retrieve('TeamID');\n }\n }\n\n ngOnInit() {\n this.CompanyID = this.storage.retrieve('companyID');\n this.companyName = this.storage.retrieve('LoginCompanyName');\n this.GetNoActionProjects();\n this.copyDate = (new Date()).getFullYear();\n }\n\n GetNoActionProjects() {\n this.dorseyService.GetNoActionProjects(this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.NoActionProjectData = subData;\n this.saveFilter = JSON.parse(JSON.stringify(this.NoActionProjectData));\n this.rowCount = this.NoActionProjectData.length;\n if (this.NoActionProjectData.length === 0) {\n this.processPaging = false;\n this.isDisable = true;\n this.disableSearch = true;\n }\n else {\n this.processPaging = true;\n this.isDisable = false;\n this.disableSearch = false;\n\n while (this.dynamicRows < this.rowCount) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 10;\n }\n if (!this.rowsOnPageSet.includes(this.rowCount)) this.rowsOnPageSet.push(this.rowCount);\n if (this.rowsOnPageSet.length > 0) {\n if (this.rowsOnPageSet[0] <= 10)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n }\n });\n }\n\n\n Searchtext() {\n this.NoActionProjectData = this.saveFilter;\n let tempNoActionProject = this.NoActionProjectData.filter(\n (item) => {\n return (\n (item.ProjectName !== null && item.ProjectName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.ProjectDescription !== null && item.ProjectDescription.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.ProjectStatusName !== null && item.ProjectStatusName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.TeamName !== null && item.TeamName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.ProjectOwner !== null && item.ProjectOwner.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1)\n );\n }\n\n );\n this.NoActionProjectData = tempNoActionProject;\n if (this.NoActionProjectData.length == 0) {\n // this.GetActivity();\n this.isDisable = true;\n } else {\n this.isDisable = false;\n }\n if (this.searchtext === '') {\n this.NoActionProjectData = this.saveFilter;\n this.dynamicRows = 10;\n this.rowsOnPageSet = [];\n this.rowCount = this.NoActionProjectData.length;\n while (this.dynamicRows < this.rowCount) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 10;\n }\n if (!this.rowsOnPageSet.includes(this.rowCount))\n this.rowsOnPageSet.push(this.rowCount);\n if (this.rowsOnPageSet) {\n\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n this.isDisable = false;\n } else {\n this.rowCount = tempNoActionProject.length;\n this.dynamicRows = 10;\n this.rowsOnPageSet = [];\n while (this.dynamicRows < this.rowCount) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 10;\n }\n if (!this.rowsOnPageSet.includes(this.rowCount)) {\n this.rowsOnPageSet.push(this.rowCount);\n if (this.rowsOnPageSet)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n\n if (this.rowsOnPageSet.length === 1) {\n if (this.rowsOnPageSet[0] <= 10)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n }\n }\n\n\n sort(property) {\n this.arrow = !this.arrow;\n this.isDesc = !this.isDesc; //change the direction \n this.column = property;\n this.direction = this.isDesc ? 1 : -1;\n }\n\n exportAsXLSX() {\n let allData = JSON.parse(JSON.stringify(this.NoActionProjectData));\n\n\n for (let i = 0; i < this.NoActionProjectData.length; i++) {\n allData[i][\" No. \"] = i + 1;\n allData[i].Team = this.NoActionProjectData[i].TeamName;\n allData[i].Project = this.NoActionProjectData[i].ProjectName;\n\n allData[i].Description = this.NoActionProjectData[i].ProjectDescription;\n allData[i].Status = this.NoActionProjectData[i].ProjectStatusName;\n allData[i]['Project Owner'] = this.NoActionProjectData[i].ProjectOwner;\n\n \n delete (allData[i].DepartmentID);\n delete (allData[i].ProjectName);\n delete (allData[i].TeamName);\n delete (allData[i].ProjectOwner);\n delete (allData[i].ProjectDescription);\n\n delete (allData[i].ProjectStatusName);\n delete (allData[i].CompanyID);\n delete (allData[i].ProjectID);\n delete (allData[i].EmployeeID);\n delete (allData[i].StatusID);\n delete (allData[i].IsActive);\n delete (allData[i].CreatedDate);\n\n delete (allData[i].CreatedBy);\n delete (allData[i].UpdatedDate);\n delete (allData[i].UpdatedBy);\n delete (allData[i].ProjectDueDate);\n\n delete (allData[i].RowID);\n delete (allData[i].ProjectStatusID);\n delete (allData[i].StatusID1);\n delete (allData[i].IsActive1);\n delete (allData[i].CreatedDate1);\n delete (allData[i].CreatedBy1);\n\n delete (allData[i].UpdatedDate1);\n delete (allData[i].UpdatedBy1);\n delete (allData[i].ProjectStatusName1);\n\n delete (allData[i].TeamID);\n delete (allData[i].TeamID1);\n delete (allData[i].ProcessID);\n delete (allData[i].CompanyID1);\n delete (allData[i].IsActive2);\n delete (allData[i].CreatedDate2);\n delete (allData[i].CreatedBy2);\n delete (allData[i].UpdatedBy2);\n delete (allData[i].UpdatedDate2);\n delete (allData[i].TeamDescription);\n delete (allData[i].TeamName1);\n }\n let team: any;\n team = '';\n /*if(this.EmployeeID.toString()==='0'){\n team='';\n }else{\n if(this.TeamID.toString()==='0'|| this.TeamID.toString()===null || this.TeamID.toString()===undefined){\n team='';\n }else{\n team= 'Team: '+this.TeamName;\n }\n }*/\n this.dorseyService.generateExcel(allData, this.companyName + '_Projects in backlog' + \"_\" + (new Date().getMonth() + 1) + '-' + new Date().getDate() + '-' + new Date().getFullYear(), 'Projects in backlog', \"Company: \" + this.companyName, team, \"Projects in backlog Report\", copyRight, 'FFFFFF00', 'FF0000FF');\n }\n\n}\n","module.exports = \".text-center {\\n text-align: center;\\n}\\n\\n.m-b-10 {\\n margin-bottom: 1rem;\\n}\\n\\n.alert-info-sm {\\n padding: 10px;\\n margin-left: 1rem;\\n}\\n\\n.field {\\n margin-left: 2%;\\n}\\n\\n#tableActions {\\n justify-content: flex-start !important;\\n}\\n\\ntable {\\n width: 100%;\\n font-size: smaller;\\n border-collapse: collapse;\\n}\\n\\nth, td {\\n text-align: center;\\n font-size: smaller;\\n}\\n\\nth {\\n color: white;\\n background-color: #474747;\\n height: 35px;\\n font-size: 13px;\\n}\\n\\ntd {\\n height: 35px;\\n font-size: 13px;\\n}\\n\\ntable, th, td {\\n border: 1px solid #e1e1e1;\\n overflow: hidden;\\n word-wrap: break-word;\\n}\\n\\ntable.fixed {\\n table-layout: fixed;\\n}\\n\\ntable.fixed td {\\n overflow: hidden;\\n}\\n\\n.highlight td {\\n background: #C0C0C0;\\n}\\n\\n.warningMsg {\\n text-align: center;\\n color: red;\\n}\\n\\n.fa-arrow-down, .fa-arrow-up {\\n font-size: 10px;\\n}\\n\\n.margin-5 {\\n margin: 5px;\\n}\\n\\n.text-underline {\\n text-decoration: underline;\\n}\\n\\n.btnWrapper button {\\n margin: 2.5% 1% 0% 0.5% !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcXVhcnRlci9GOlxcTmlraWwgV29ya1xcUHJvamVjdHNcXERvcnNleVxcSGllcmFyY2h5IFNvdXJjZSBDb2RlXFxXb3JraW5nXFxkb3JzZXlHcm91cC9zcmNcXGFwcFxccXVhcnRlclxccXVhcnRlci5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvcXVhcnRlci9xdWFydGVyLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksa0JBQUE7QUNDSjs7QURFQTtFQUNJLG1CQUFBO0FDQ0o7O0FERUE7RUFDSSxhQUFBO0VBQ0EsaUJBQUE7QUNDSjs7QURFQTtFQUNJLGVBQUE7QUNDSjs7QURFQTtFQUNJLHNDQUFBO0FDQ0o7O0FERUE7RUFDSSxXQUFBO0VBQ0Esa0JBQUE7RUFDQSx5QkFBQTtBQ0NKOztBRENBO0VBQ0ksa0JBQUE7RUFDQSxrQkFBQTtBQ0VKOztBRENBO0VBQ0ksWUFBQTtFQUNBLHlCQUFBO0VBQ0EsWUFBQTtFQUNBLGVBQUE7QUNFSjs7QURDQTtFQUNJLFlBQUE7RUFDQSxlQUFBO0FDRUo7O0FEQ0E7RUFDSSx5QkFBQTtFQUNBLGdCQUFBO0VBQ0EscUJBQUE7QUNFSjs7QURDQTtFQUFjLG1CQUFBO0FDR2Q7O0FEREE7RUFBaUIsZ0JBQUE7QUNLakI7O0FESEE7RUFBZSxtQkFBQTtBQ09mOztBRExBO0VBQ0ksa0JBQUE7RUFDQSxVQUFBO0FDUUo7O0FETEE7RUFDSSxlQUFBO0FDUUo7O0FETEE7RUFDSSxXQUFBO0FDUUo7O0FETEE7RUFDSSwwQkFBQTtBQ1FKOztBRExBO0VBQ0ksa0NBQUE7QUNRSiIsImZpbGUiOiJzcmMvYXBwL3F1YXJ0ZXIvcXVhcnRlci5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi50ZXh0LWNlbnRlcntcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLm0tYi0xMHtcclxuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbn1cclxuXHJcbi5hbGVydC1pbmZvLXNte1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xyXG59XHJcblxyXG4uZmllbGR7XHJcbiAgICBtYXJnaW4tbGVmdDogMiU7XHJcbn1cclxuXHJcbiN0YWJsZUFjdGlvbnN7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcclxufVxyXG5cclxudGFibGUge1xyXG4gICAgd2lkdGg6MTAwJTtcclxuICAgIGZvbnQtc2l6ZTogc21hbGxlcjtcclxuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbn1cclxudGgsdGR7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBmb250LXNpemU6IHNtYWxsZXI7XHJcbn1cclxuXHJcbnRoIHtcclxuICAgIGNvbG9yOndoaXRlOyAgICAgXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiM0NzQ3NDc7XHJcbiAgICBoZWlnaHQ6IDM1cHg7XHJcbiAgICBmb250LXNpemU6IDEzcHg7XHJcbn1cclxuXHJcbnRkIHtcclxuICAgIGhlaWdodDogMzVweDtcclxuICAgIGZvbnQtc2l6ZTogMTNweDtcclxufVxyXG5cclxudGFibGUsIHRoLCB0ZCB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTFlMWUxO1xyXG4gICAgb3ZlcmZsb3c6aGlkZGVuO1xyXG4gICAgd29yZC13cmFwOmJyZWFrLXdvcmQ7XHJcbn1cclxuXHJcbnRhYmxlLmZpeGVkIHsgdGFibGUtbGF5b3V0OmZpeGVkOyB9XHJcblxyXG50YWJsZS5maXhlZCB0ZCB7IG92ZXJmbG93OiBoaWRkZW47IH1cclxuXHJcbi5oaWdobGlnaHQgdGQge2JhY2tncm91bmQ6ICNDMEMwQzA7fVxyXG5cclxuLndhcm5pbmdNc2cge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgY29sb3I6IHJlZDtcclxufVxyXG5cclxuLmZhLWFycm93LWRvd24sIC5mYS1hcnJvdy11cHtcclxuICAgIGZvbnQtc2l6ZTogMTBweFxyXG59XHJcblxyXG4ubWFyZ2luLTV7XHJcbiAgICBtYXJnaW46IDVweDtcclxufVxyXG5cclxuLnRleHQtdW5kZXJsaW5le1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbn1cclxuXHJcbi5idG5XcmFwcGVyIGJ1dHRvbiB7XHJcbiAgICBtYXJnaW46IDIuNSUgMSUgMCUgMC41JSAhaW1wb3J0YW50O1xyXG59XHJcbiIsIi50ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm0tYi0xMCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbi5hbGVydC1pbmZvLXNtIHtcbiAgcGFkZGluZzogMTBweDtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07XG59XG5cbi5maWVsZCB7XG4gIG1hcmdpbi1sZWZ0OiAyJTtcbn1cblxuI3RhYmxlQWN0aW9ucyB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xufVxuXG50YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IHNtYWxsZXI7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG59XG5cbnRoLCB0ZCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiBzbWFsbGVyO1xufVxuXG50aCB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQ3NDc0NztcbiAgaGVpZ2h0OiAzNXB4O1xuICBmb250LXNpemU6IDEzcHg7XG59XG5cbnRkIHtcbiAgaGVpZ2h0OiAzNXB4O1xuICBmb250LXNpemU6IDEzcHg7XG59XG5cbnRhYmxlLCB0aCwgdGQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTFlMWUxO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG5cbnRhYmxlLmZpeGVkIHtcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbn1cblxudGFibGUuZml4ZWQgdGQge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uaGlnaGxpZ2h0IHRkIHtcbiAgYmFja2dyb3VuZDogI0MwQzBDMDtcbn1cblxuLndhcm5pbmdNc2cge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiByZWQ7XG59XG5cbi5mYS1hcnJvdy1kb3duLCAuZmEtYXJyb3ctdXAge1xuICBmb250LXNpemU6IDEwcHg7XG59XG5cbi5tYXJnaW4tNSB7XG4gIG1hcmdpbjogNXB4O1xufVxuXG4udGV4dC11bmRlcmxpbmUge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLmJ0bldyYXBwZXIgYnV0dG9uIHtcbiAgbWFyZ2luOiAyLjUlIDElIDAlIDAuNSUgIWltcG9ydGFudDtcbn0iXX0= */\"","import { Component, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material';\nimport { LocalStorageService } from 'ngx-webstorage';\nimport { MessageDialogComponent } from '../common/dialog';\nimport { PerformanceScoreCardService } from '../performance-score-card/performance-score-card.service';\nimport { QuarterService } from '../services/quarter.service';\nimport { Month, WeekDay, QuarterStartDay } from './quarter.model';\n\n@Component({\n selector: 'app-quarter',\n templateUrl: './quarter.component.html',\n styleUrls: ['./quarter.component.scss']\n})\nexport class QuarterComponent implements OnInit {\n errorMsg: string = '';\n months: Array;\n selectedMonthId: number;\n selectedWeekDayId: number;\n quarterList: any;\n currentUser: string;\n companyId: number;\n quarterWeekDays: Array;\n selectedWeekDate: string;\n isScoreCardsExist: boolean = false\n\n quarterWeekStartDate: string[] = [QuarterStartDay.StartDate, QuarterStartDay.EndDate];\n MenuPermissions: any;\n menuData: any;\n menuID: string;\n menuName: string;\n employeeDetails: any;\n constructor(private storage: LocalStorageService,\n private quarterService: QuarterService,\n public dialog: MatDialog) {\n this.currentUser = this.storage.retrieve('user');\n this.menuData = this.storage.retrieve('menuData');\n this.MenuPermissions = this.storage.retrieve('MenuPermissions');\n this.employeeDetails = this.storage.retrieve('employeeDetails');\n }\n\n ngOnInit(): void {\n this.menuData = this.menuData.filter(x => x.MenuName.toString().toLowerCase() === 'score card');\n if (this.menuData.length > 0) {\n this.menuName = this.menuData[0][\"MenuName\"];\n this.menuID = this.menuData[0][\"MenuID\"];\n }\n\n this.companyId = this.storage.retrieve('companyID');\n this.months = this.quarterService.getMonths();\n this.quarterWeekDays = this.quarterService.getQuarterWeekDays();\n\n this.selectedWeekDayId = this.quarterWeekDays.find(val => val.WeekDayId == 1).WeekDayId;\n this.selectedWeekDate = this.quarterWeekStartDate.find(val => val == 'Start Date');\n this.quarterService.getQuarters(this.companyId).subscribe(resp => {\n if (resp.Data.length > 0) {\n this.selectedMonthId = this.months.find(val => val.MonthName == resp.Data[0].MonthName).MonthId;\n this.selectedWeekDayId = this.quarterWeekDays.find(val => val.WeekDayId == resp.Data[0].QuarterWeekDay).WeekDayId;\n this.selectedWeekDate = this.quarterWeekStartDate.find(val => val == resp.Data[0].QuarterWeekDate);\n this.quarterList = this.quarterService.generateQuarters(this.selectedMonthId, this.companyId, this.currentUser, this.selectedWeekDayId, this.selectedWeekDate);\n }\n this.isScoreCardsExist = resp.AdditionalData.ScoreCardExistForCompany;\n });\n }\n\n saveQuarters(): void {\n if (!this.selectedMonthId) {\n this.errorMsg = 'Please enter mandatory(*) fields';\n return;\n }\n this.errorMsg = '';\n this.quarterList = this.quarterService.generateQuarters(this.selectedMonthId, this.companyId, this.currentUser, this.selectedWeekDayId, this.selectedWeekDate);\n this.quarterService.saveQuarters(this.quarterList).subscribe(resp => {\n if (resp.Data) {\n this.dialog.open(MessageDialogComponent);\n }\n });\n }\n\n monthChange(selectedMonthId): void {\n this.selectedMonthId = selectedMonthId;\n this.quarterList = this.quarterService.generateQuarters(selectedMonthId, this.companyId, this.currentUser, this.selectedWeekDayId, this.selectedWeekDate);\n }\n\n weekDayChange(selectedWeekDayID): void {\n this.selectedWeekDayId = selectedWeekDayID;\n }\n\n weekDateChange(selecteweekDate): void {\n this.selectedWeekDate = selecteweekDate;\n }\n}\n","export interface Month {\r\n MonthId: number,\r\n MonthName: string\r\n}\r\n\r\nexport interface Quater {\r\n QuarterId: number,\r\n month: Month\r\n}\r\n\r\nexport interface WeekDay {\r\n WeekDayId: number;\r\n WeekDay: string,\r\n\r\n}\r\n\r\nexport enum QuarterStartDay {\r\n SelectStartDate = \"Select Quarter Start Date\",\r\n StartDate = \"Start Date\",\r\n EndDate = \"End Date\"\r\n}\r\n","module.exports = \"table {\\n width: 100%;\\n font-size: smaller;\\n}\\n\\nth, td {\\n text-align: center;\\n font-size: smaller;\\n}\\n\\nth {\\n color: white;\\n background-color: #474747;\\n height: 35px;\\n font-size: 13px;\\n}\\n\\ntd {\\n height: 35px;\\n font-size: 13px;\\n}\\n\\ntable {\\n border-collapse: collapse;\\n}\\n\\ntable, th, td {\\n border: 1px solid #e1e1e1;\\n overflow: hidden;\\n word-wrap: break-word;\\n}\\n\\ntable.fixed {\\n table-layout: fixed;\\n}\\n\\ntable.fixed td {\\n overflow: hidden;\\n}\\n\\n.highlight td {\\n background: #C0C0C0;\\n}\\n\\n.fa {\\n font-size: 18px;\\n}\\n\\n.fa-trash-o {\\n color: red;\\n}\\n\\n.warningMsg {\\n text-align: center;\\n color: red;\\n}\\n\\n.fa-arrow-down, .fa-arrow-up {\\n font-size: 10px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcmVwb3J0LWFjdGl2aXR5LWlzc3Vlcy9GOlxcTmlraWwgV29ya1xcUHJvamVjdHNcXERvcnNleVxcSGllcmFyY2h5IFNvdXJjZSBDb2RlXFxXb3JraW5nXFxkb3JzZXlHcm91cC9zcmNcXGFwcFxccmVwb3J0LWFjdGl2aXR5LWlzc3Vlc1xccmVwb3J0LWFjdGl2aXR5LWlzc3Vlcy5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvcmVwb3J0LWFjdGl2aXR5LWlzc3Vlcy9yZXBvcnQtYWN0aXZpdHktaXNzdWVzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBO0VBQ0ksV0FBQTtFQUNBLGtCQUFBO0FDREo7O0FER0E7RUFDSSxrQkFBQTtFQUNBLGtCQUFBO0FDQUo7O0FER0E7RUFDQyxZQUFBO0VBQ0QseUJBQUE7RUFDQSxZQUFBO0VBQ0MsZUFBQTtBQ0FEOztBREVBO0VBQ0ksWUFBQTtFQUNDLGVBQUE7QUNDTDs7QURDQTtFQUNJLHlCQUFBO0FDRUo7O0FEQUE7RUFDSSx5QkFBQTtFQUNBLGdCQUFBO0VBQ0EscUJBQUE7QUNHSjs7QUREQTtFQUFjLG1CQUFBO0FDS2Q7O0FESkE7RUFBaUIsZ0JBQUE7QUNRakI7O0FEUEE7RUFBZSxtQkFBQTtBQ1dmOztBRFRBO0VBQ0ssZUFBQTtBQ1lMOztBRFRBO0VBQ0ksVUFBQTtBQ1lKOztBRFZBO0VBQ0ksa0JBQUE7RUFBbUIsVUFBQTtBQ2N2Qjs7QURaQTtFQUNJLGVBQUE7QUNlSiIsImZpbGUiOiJzcmMvYXBwL3JlcG9ydC1hY3Rpdml0eS1pc3N1ZXMvcmVwb3J0LWFjdGl2aXR5LWlzc3Vlcy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5cclxudGFibGUge1xyXG4gICAgd2lkdGg6MTAwJTtcclxuICAgIGZvbnQtc2l6ZTogc21hbGxlcjtcclxufVxyXG50aCx0ZHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogc21hbGxlcjtcclxufVxyXG5cclxudGgge1xyXG4gY29sb3I6d2hpdGU7ICAgICBcclxuYmFja2dyb3VuZC1jb2xvcjogXHQjNDc0NzQ3O1xyXG5oZWlnaHQ6IDM1cHg7XHJcbiBmb250LXNpemU6IDEzcHg7XHJcbn1cclxudGQge1xyXG4gICAgaGVpZ2h0OiAzNXB4O1xyXG4gICAgIGZvbnQtc2l6ZTogMTNweDtcclxufVxyXG50YWJsZSB7XHJcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG59XHJcbnRhYmxlLCB0aCwgdGQge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UxZTFlMTtcclxuICAgIG92ZXJmbG93OmhpZGRlbjtcclxuICAgIHdvcmQtd3JhcDpicmVhay13b3JkO1xyXG59XHJcbnRhYmxlLmZpeGVkIHsgdGFibGUtbGF5b3V0OmZpeGVkOyB9XHJcbnRhYmxlLmZpeGVkIHRkIHsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxyXG4uaGlnaGxpZ2h0IHRkIHtiYWNrZ3JvdW5kOiAjQzBDMEMwO31cclxuXHJcbi5mYXtcclxuICAgICBmb250LXNpemU6IDE4cHg7IFxyXG59XHJcblxyXG4uZmEtdHJhc2gtb3tcclxuICAgIGNvbG9yOnJlZDtcclxufVxyXG4ud2FybmluZ01zZyB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7Y29sb3I6IHJlZDtcclxufVxyXG4uZmEtYXJyb3ctZG93biwgLmZhLWFycm93LXVwe1xyXG4gICAgZm9udC1zaXplOiAxMHB4XHJcbn1cclxuIiwidGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiBzbWFsbGVyO1xufVxuXG50aCwgdGQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogc21hbGxlcjtcbn1cblxudGgge1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NzQ3NDc7XG4gIGhlaWdodDogMzVweDtcbiAgZm9udC1zaXplOiAxM3B4O1xufVxuXG50ZCB7XG4gIGhlaWdodDogMzVweDtcbiAgZm9udC1zaXplOiAxM3B4O1xufVxuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG59XG5cbnRhYmxlLCB0aCwgdGQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTFlMWUxO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG5cbnRhYmxlLmZpeGVkIHtcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbn1cblxudGFibGUuZml4ZWQgdGQge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uaGlnaGxpZ2h0IHRkIHtcbiAgYmFja2dyb3VuZDogI0MwQzBDMDtcbn1cblxuLmZhIHtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuXG4uZmEtdHJhc2gtbyB7XG4gIGNvbG9yOiByZWQ7XG59XG5cbi53YXJuaW5nTXNnIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogcmVkO1xufVxuXG4uZmEtYXJyb3ctZG93biwgLmZhLWFycm93LXVwIHtcbiAgZm9udC1zaXplOiAxMHB4O1xufSJdfQ== */\"","\nimport { Component, OnInit } from '@angular/core';\nimport { DorseyService } from '../dorsey.service';\nimport { LocalStorageService } from 'ngx-webstorage';\nimport { Local } from 'protractor/built/driverProviders';\n\n@Component({\n selector: 'app-report-activity-issues',\n templateUrl: './report-activity-issues.component.html',\n styleUrls: ['./report-activity-issues.component.scss']\n})\nexport class ReportActivityIssuesComponent implements OnInit {\n loginCompanyName: any;\n companyID: string;\n processData: any;\n activityData: any;\n pointersData: any;\n finalList = [];\n frust = [];\n isDesc: boolean = false;\n column = \"\";\n direction: number;\n arrow = true;\n p: number = 1;\n rowsOnPage = 10;\n rowsOnPageSet = [];\n rowCount: any;\n dynamicRows = 10;\n processPaging = false;\n searchtext: string;\n saveFilter = [];\n CompanyID: string;\n isDisable = false;\n disableSearch = false;\n companyName: string;\n headerDate = new Date();\n searchFilter: any;\n\n constructor(private dorseyService: DorseyService, private storage: LocalStorageService) {\n\n this.companyID = this.storage.retrieve('companyID');\n this.loginCompanyName = this.storage.retrieve('loginCompanyName');\n\n }\n\n ngOnInit() {\n // this.GetProcess();\n // this.GetActivity();\n this.GetActivityIssues();\n\n }\n\n GetActivityIssues() {\n this.dorseyService.GetActivityIssues(this.companyID).subscribe(process => {\n this.pointersData = JSON.parse(process['_body']);\n if (this.pointersData.length === 0) {\n this.isDisable = true;\n this.disableSearch = true;\n this.processPaging = false;\n }\n else {\n this.processPaging = true;\n this.isDisable = false;\n this.disableSearch = false;\n this.saveFilter = JSON.parse(JSON.stringify(this.pointersData));\n this.rowCount = this.pointersData.length;\n this.processPaging = true;\n while (this.dynamicRows < this.rowCount) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 10;\n }\n if (!this.rowsOnPageSet.includes(this.rowCount))\n this.rowsOnPageSet.push(this.rowCount);\n if (this.rowsOnPageSet.length === 1) {\n if (this.rowsOnPageSet[0] <= 10)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n }\n });\n\n\n }\n\n sort(property) {\n this.arrow = !this.arrow;\n this.isDesc = !this.isDesc; //change the direction \n this.column = property;\n this.direction = this.isDesc ? 1 : -1;\n }\n\n Searchtext() {\n this.pointersData = this.saveFilter;\n\n let tempFrustrations = this.pointersData.filter(\n (item) => {\n return (\n (item.ProcessName !== null && item.ProcessName.toLowerCase().indexOf(this.searchtext.toLowerCase()) > -1) ||\n (item.ActivityName !== null && item.ActivityName.toLowerCase().indexOf(this.searchtext.toLowerCase()) > -1)\n );\n }\n\n );\n this.pointersData = tempFrustrations;\n if (this.pointersData.length == 0) {\n // this.GetActivity();\n this.isDisable = true;\n } else {\n this.isDisable = false;\n }\n if (this.searchtext === '') {\n this.GetActivityIssues();\n this.isDisable = false;\n }\n }\n\n\n}\n","import { Component, OnInit, Inject, AfterViewInit } from '@angular/core';\nimport { DorseyService } from '../dorsey.service';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\nimport { ChartOptions, ChartType, ChartDataSets } from 'chart.js';\nimport { Label } from 'ng2-charts';\nimport * as c3 from 'c3';\nimport * as d3 from 'd3';\nimport { LocalStorageService } from 'ngx-webstorage';\nimport htmlToImage from 'html-to-image';\nimport { Department } from '../departments/department.model';\nimport { ScoreCardTypeEnum } from '../performance-score-card/performance-score-card.model';\nimport { DepartmentService } from '../services/department.service';\nimport { EmployeeLoginLevel } from '../common/models/login-level.model';\nimport { copyRight } from '../copyRight.model';\n\n@Component({\n selector: 'app-report-category',\n templateUrl: './report-category.component.html',\n // styleUrls: ['./report-category.component.scss'],\n providers: [DorseyService],\n inputs: ['dashboard', 'dashboardCat', 'dashboardTeamCat']\n})\nexport class ReportCategoryComponent implements OnInit {\n departmentName: string;\n departmentList: Array = [];\n employeeDetails: any;\n scoreCardTypes: string[] = [ScoreCardTypeEnum.Department, ScoreCardTypeEnum.Team];\n selectedReportType: string;\n toggleTeam: boolean = false;\n\n\n pointerData: any;\n frustrationData: any;\n frustData = [];\n frust = [];\n view = {};\n ProcessName = '';\n SeverityName = '';\n StatusName = '';\n totalCount = 0;\n dashboard = true;\n searchtext: string;\n disableSearch = false;\n\n // tslint:disable-next-line:ban-types\n dataSource: Object;\n categories = [];\n valueBar: (string | any[])[];\n warningMsg = '';\n frustrationbyCategory: any;\n\n dashboardCat = true;\n p: number = 1;\n rowsOnPage = 5;\n rowsOnPageSet = [];\n rowCount: any;\n dynamicRows = 5;\n activityPaging = false;\n metricList = [];\n CompanyID: string;\n isDisable = false;\n saveFilter = [];\n wrng: string;\n UserTeamID: string;\n teamData: any;\n TeamID: any;\n EmployeeID: string;\n dashboardTeamCat: any;\n tempTeam = [];\n companyName: string;\n TeamName: string;\n headerDate = new Date();\n employeeData: any;\n copyDate: number;\n isDesc: boolean = false;\n column = \"\";\n direction: number;\n arrow = true;\n selectedDepartmentId: number;\n copyRight: string = copyRight;\n constructor(private dorseyService: DorseyService,\n private departmentService: DepartmentService, private dialog: MatDialog, private storage: LocalStorageService) {\n this.metricList = [];\n this.CompanyID = this.storage.retrieve('companyID');\n this.EmployeeID = this.storage.retrieve('EmployeeID');\n this.companyName = sessionStorage.getItem('loginCompanyName');\n this.employeeDetails = this.storage.retrieve('employeeDetails');\n\n if (this.EmployeeID.toString() === \"0\") {\n\n }\n else {\n this.TeamID = this.storage.retrieve('TeamID');\n }\n\n }\n\n\n\n ngOnInit() {\n\n\n this.GetFrustrationType();\n\n if (this.dashboardTeamCat !== undefined) {\n this.TeamID = this.dashboardTeamCat;\n }\n else {\n this.TeamID = 0;\n }\n\n if (this.employeeDetails) {\n if ((this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Department) || (this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Team)) {\n this.toggleTeam = true;\n this.getTeamsByDepartmentId(this.employeeDetails.DepartmentID)\n }\n else {\n if (!this.dashboardTeamCat) {\n\n this.reportTypeChange(ScoreCardTypeEnum.Department)\n }\n else\n this.getTeamsByDepartmentId(0)\n\n }\n\n }\n else {\n if (!this.dashboardTeamCat)\n\n this.reportTypeChange(ScoreCardTypeEnum.Department)\n\n else\n this.getTeamsByDepartmentId(0)\n }\n\n this.copyDate = (new Date()).getFullYear();\n\n }\n\n teamChange(event): void {\n this.searchtext = '';\n this.selectedDepartmentId = 0;\n this.TeamID = event.value;\n let teamd = this.teamData.filter(x => x.TeamID === this.TeamID)\n if (teamd.length > 0) {\n this.TeamName = teamd[0].TeamName;\n }\n this.ConstructReport();\n }\n reportTypeChange(scoreCardType: string): void {\n this.searchtext = '';\n this.departmentList = [];\n this.teamData = [];\n this.selectedDepartmentId = 0;\n this.selectedReportType = scoreCardType;\n this.toggleTeam = scoreCardType === ScoreCardTypeEnum.Department ? false : true;\n\n this.getDepartments();\n this.getTeamsByDepartmentId(this.selectedDepartmentId);\n\n }\n\n departmentChange(selectedDepartmentId): void {\n this.searchtext = '';\n this.getTeamsByDepartmentId(selectedDepartmentId);\n this.departmentName = this.departmentList.find(ent => ent.DepartmentID === selectedDepartmentId).DepartmentName;\n }\n\n private getDepartments(): void {\n this.departmentService.getDepartments(Number(this.CompanyID)).subscribe(resp => {\n this.departmentList = resp.Data;\n if (this.employeeDetails) {\n\n if (this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Department) {\n this.departmentList = this.departmentList.filter(ent => ent.DepartmentID === this.employeeDetails.DepartmentID);\n }\n else if (this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Team) {\n this.departmentList = this.departmentList.filter(ent => ent.DepartmentID === this.employeeDetails.DepartmentID);\n this.getTeamsByDepartmentId(this.employeeDetails.DepartmentID);\n }\n\n }\n this.departmentList.splice(0, 0, { DepartmentID: 0, DepartmentName: 'Aggregate Report', DepartmentDescription: '0', CompanyID: Number(this.CompanyID), CreatedBy: '', UpdatedBy: '' });\n });\n }\n\n private getTeamsByDepartmentId(selectedDepartmentId): void {\n this.dorseyService.GetTeam(this.CompanyID.toString()).subscribe(resp => {\n var companyTeamList = JSON.parse(resp['_body']);\n this.teamData = companyTeamList;\n\n if (this.employeeDetails && companyTeamList) {\n if (this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Department) {\n this.teamData = this.teamData.filter(ent => ent.DepartmentID === this.employeeDetails.DepartmentID);\n }\n else if (this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Team) {\n this.teamData = this.teamData.filter(ent => ent.DepartmentID === this.employeeDetails.DepartmentID && ent.TeamID == this.employeeDetails.TeamID);\n this.selectedDepartmentId = this.teamData[0].DepartmentID;\n this.TeamID = this.teamData[0].TeamID;\n }\n else {\n if (!selectedDepartmentId) {\n this.selectedDepartmentId = 0;\n this.teamData = companyTeamList;\n }\n else if (selectedDepartmentId == 0) {\n this.teamData = companyTeamList;\n }\n else {\n this.teamData = this.teamData.filter(ent => ent.DepartmentID === selectedDepartmentId);\n }\n\n }\n }\n else {\n if (selectedDepartmentId == 0)\n this.teamData = companyTeamList;\n else\n this.teamData = companyTeamList.filter(ent => ent.DepartmentID === selectedDepartmentId);\n }\n\n if (this.dashboardTeamCat != undefined) {\n this.TeamID = this.dashboardTeamCat;\n }\n else if (this.employeeDetails && this.employeeDetails.IsEmployeeLoginLevel === EmployeeLoginLevel.Team) {\n this.TeamID = this.TeamID;\n }\n else {\n this.TeamID = 0;\n }\n\n this.dorseyService.GetPointer(this.CompanyID).subscribe(pointer => {\n this.pointerData = JSON.parse(pointer['_body']);\n if (this.TeamID == 0) {\n this.teamData = this.teamData.filter(entity1 => this.pointerData.find(entity2 => entity1.TeamID == entity2.TeamID && entity2.PointerTypeID == 1));\n this.teamData.splice(0, 0, { TeamID: 0, TeamName: 'Aggregate Report' });\n }\n this.ConstructReport();\n });\n\n });\n }\n\n sort(property) {\n this.arrow = !this.arrow;\n this.isDesc = !this.isDesc; //change the direction\n this.column = property;\n this.direction = this.isDesc ? 1 : -1;\n }\n\n\n ConstructReport() {\n this.metricList = [];\n this.frust = [];\n this.frustrationData = [];\n this.categories = [];\n this.rowsOnPageSet = [];\n this.rowsOnPage = 5;\n this.dynamicRows = 5;\n this.warningMsg = '';\n\n var values = [];\n var perito = [];\n var sum = 0;\n // let procData: any;\n this.dorseyService.GetPointer(this.CompanyID).subscribe(pointer => {\n this.pointerData = JSON.parse(pointer['_body']);\n\n if (this.TeamID == 0)\n this.pointerData = this.pointerData.filter(entity1 => this.teamData.find(entity2 => entity1.TeamID == entity2.TeamID) && entity1.PointerTypeID == 1);\n else {\n this.pointerData = this.pointerData.filter(entity1 => entity1.TeamID == this.TeamID && entity1.PointerTypeID == 1);\n }\n\n this.totalCount = this.pointerData.length;\n\n this.dorseyService.GetFrustrationType('1', this.CompanyID).subscribe(frustration => {\n this.frustrationData = JSON.parse(frustration['_body']);\n if (this.totalCount) {\n for (let i = 0; i < this.frustrationData.length; i++) {\n let data = this.pointerData.filter(x => x.PointerTypeID === 1 && x.FrustrationsTypeID === this.frustrationData[i].FrustrationsTypeID);\n\n if (data.length > 0) {\n // this.totalCount = data.length;\n\n this.frustData.push(data);\n this.view['CategoryName'] = this.frustrationData[i].FrustrationsTypeName;\n this.categories[this.frustrationData[i].FrustrationsTypeName] = data.length;\n for (let li = 0; li < data.length; li++) {\n this.metricList.push(data[li]);\n }\n // values.push(data.length);\n sum = sum + data.length;\n\n this.frust.push({\n data: data,\n label: this.frustrationData[i].FrustrationsTypeName,\n value: data.length\n });\n\n this.frust.sort(function (obj1, obj2) {\n\n return obj2.value - obj1.value;\n });\n }\n\n\n }\n } else {\n this.warningMsg = 'No data available';\n if (!this.metricList.length) {\n this.isDisable = false;\n this.disableSearch = false;\n }\n else {\n this.isDisable = true;\n this.disableSearch = true;\n }\n return;\n }\n if (this.metricList.length === 0) {\n this.isDisable = false;\n this.disableSearch = false;\n return;\n }\n else {\n this.isDisable = true;\n this.disableSearch = true;\n\n }\n let sortOrder = this.sortByValue(this.categories);\n let perVal = 0;\n this.categories = [];\n\n for (let v = 0; v < sortOrder.length; v++) {\n\n values.push(sortOrder[v][1]);\n\n this.categories.push(sortOrder[v][0])\n perVal = perVal + sortOrder[v][1];\n perito.push((perVal / sum));\n }\n\n var obj = {\n 'Frustration Count': values,\n 'Cumulative percentage': perito\n };\n\n let chart = c3.generate({\n bindto: '#chartcategory',\n data: {\n json: obj,\n axes: {\n\n 'Cumulative percentage': 'y2'\n },\n type: 'bar',\n types: {\n\n 'Cumulative percentage': 'line',\n\n }, groups: [\n ['Frustrations Count', 'Cumulative percentage']\n ]\n\n\n },\n\n title: {\n text: \"Frustration Categories\",\n padding: {\n top: 20,\n right: 20,\n bottom: 40,\n left: 50\n }\n },\n color: {\n pattern: ['#4aabe7', '#d55632']\n },\n legend: {\n show: true,\n position: \"right\"\n\n },\n\n axis: {\n x: {\n type: 'category',\n // label: 'Frustration Categories',\n // label: {\n // text: 'Frustration Categories',\n // position: 'outer-center'\n // },\n categories: this.categories,\n tick: {\n rotate: 50,\n multiline: false\n\n },\n\n\n height: 100,\n\n },\n y: {\n //max :10,\n label: 'Frustrations Count',\n tick: {\n format: d3.format('d'),\n values: d3.ticks(0, sortOrder[0][1], sortOrder[0][1])\n //values: d3.ticks(0,values[0],values[0]/5)\n }\n },\n y2: {\n show: true,\n label: 'Cumulative percentage',\n max: 1,\n min: 0,\n padding: { top: 3, bottom: 0 },\n tick: {\n format: d3.format(',.0%')\n }\n\n },\n\n }\n\n });\n this.rowCount = this.metricList.length;\n let tempmetricList = this.metricList;\n if (this.metricList.length === 0) {\n this.activityPaging = false;\n }\n else {\n this.saveFilter = JSON.parse(JSON.stringify(this.metricList));\n\n this.activityPaging = true;\n while (this.dynamicRows < this.rowCount) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 10;\n }\n if (!this.rowsOnPageSet.includes(this.rowCount)) this.rowsOnPageSet.push(this.rowCount);\n if (this.rowsOnPageSet.length > 0) {\n if (this.rowsOnPageSet[0] <= 10)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n }\n\n });\n\n });\n }\n GetFrustrationType() {\n\n this.dorseyService.GetPointer(this.CompanyID).subscribe(pointer => {\n this.pointerData = JSON.parse(pointer['_body']);\n\n });\n }\n Searchtext() {\n this.frustrationbyCategory = this.saveFilter;\n\n let tempfrustrationbycategory = this.frustrationbyCategory.filter(\n (item) => {\n return (\n (item.ProcessName !== null && item.ProcessName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.ActivityName !== null && item.ActivityName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.FrustrationsTypeName !== null && item.FrustrationsTypeName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.Subject !== null && item.Subject.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.Description !== null && item.Description.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.StatusName !== null && item.StatusName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1)) ||\n (item.SeverityName !== null && item.SeverityName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.ProjectName !== null && item.ProjectName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1)\n\n || (item.TeamName !== null && item.TeamName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1);\n }\n\n );\n this.metricList = tempfrustrationbycategory;\n if (this.metricList.length == 0) {\n setTimeout(() => {\n this.wrng = \"No data available\";\n }, 100);\n this.isDisable = false;\n\n } else {\n this.isDisable = true;\n }\n if (this.searchtext === '') {\n this.frustrationbyCategory = this.saveFilter;\n this.dynamicRows = 5;\n this.rowsOnPageSet = [];\n this.rowCount = this.frustrationbyCategory.length;\n while (this.dynamicRows < this.rowCount) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 5;\n }\n if (!this.rowsOnPageSet.includes(this.rowCount))\n this.rowsOnPageSet.push(this.rowCount);\n if (this.rowsOnPageSet) {\n\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n this.isDisable = true;\n } else {\n\n this.rowCount = tempfrustrationbycategory.length;\n this.dynamicRows = 5;\n this.rowsOnPageSet = [];\n while (this.dynamicRows < this.rowCount) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 5;\n }\n if (!this.rowsOnPageSet.includes(this.rowCount)) {\n this.rowsOnPageSet.push(this.rowCount);\n if (this.rowsOnPageSet)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n\n if (this.rowsOnPageSet.length === 1) {\n if (this.rowsOnPageSet[0] <= 5)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n }\n }\n\n\n exportAsXLSX(): void {\n let allData = JSON.parse(JSON.stringify(this.metricList));\n\n for (let i = 0; i < allData.length; i++) {\n allData[i][\" No. \"] = i + 1;\n if (this.selectedReportType === ScoreCardTypeEnum.Department) {\n allData[i][\"Department\"] = this.metricList[i].DepartmentName;\n }\n allData[i].Team = this.metricList[i].TeamName;\n allData[i].Process = this.metricList[i].ProcessName;\n allData[i].Activity = this.metricList[i].ActivityName;\n\n allData[i][\" Type \"] = this.metricList[i].FrustrationsTypeName;\n allData[i][\" Frustration \"] = this.metricList[i].Subject;\n allData[i][\" Description \"] = this.metricList[i].Description;\n allData[i].Status = this.metricList[i].StatusName;\n\n allData[i].Severity = this.metricList[i].SeverityName;\n allData[i].Project = this.metricList[i].ProjectName;\n\n delete (allData[i].DepartmentName);\n delete (allData[i].EmployeeName);\n delete (allData[i].VersionID);\n delete (allData[i].GoalID);\n delete (allData[i].GoalName);\n delete (allData[i].GreenRange);\n delete (allData[i].RedRange);\n\n delete (allData[i].YellowRange);\n delete (allData[i].Source);\n\n\n delete (allData[i].ProcessName);\n delete (allData[i].ActivityName);\n\n delete (allData[i].TeamName);\n delete (allData[i].FrustrationsTypeName);\n\n delete (allData[i].Subject);\n delete (allData[i].Description);\n\n delete (allData[i].StatusName);\n delete (allData[i].SeverityName);\n delete (allData[i].ProjectName);\n\n\n delete (allData[i].PointerID);\n delete (allData[i].ActivityID);\n delete (allData[i].PointerTypeID);\n delete (allData[i].CompanyID);\n delete (allData[i].EmployeeID);\n delete (allData[i].UOM);\n delete (allData[i].Target);\n delete (allData[i].Type);\n delete (allData[i].StatusID);\n\n delete (allData[i].SeverityID);\n delete (allData[i].ProcessID);\n delete (allData[i].DepartmentID);\n delete (allData[i].TeamID);\n\n\n delete (allData[i].FrustrationsTypeID);\n delete (allData[i].Date);\n delete (allData[i].IsActive);\n delete (allData[i].CreatedDate);\n\n delete (allData[i].CreatedBy);\n delete (allData[i].UpdatedDate);\n delete (allData[i].UpdatedBy);\n delete (allData[i].ProjectID);\n\n\n }\n\n let allData1 = JSON.parse(JSON.stringify(this.frust));\n\n for (let i = 0; i < allData1.length; i++) {\n // this.frust[i].label = this.frust[i].value;\n allData1[i].label = this.frust[i].label;\n allData1[i].value = this.frust[i].value;\n delete (allData1[i].data);\n }\n\n let Cumulative = document.getElementById('chartcategory').querySelector('svg').querySelectorAll('.c3-target-Cumulative-percentage');\n let Cumulativecircle = document.getElementById('chartcategory').querySelector('svg').querySelectorAll('.c3-circle');\n\n let circle = Array.from(Cumulativecircle);\n circle.forEach(function (element) {\n element.setAttribute(\"style\", \"fill:#e75632\")\n })\n\n let cumulativegraph = Array.from(Cumulative)\n cumulativegraph.forEach(function (element) {\n element.setAttribute(\"style\", \"fill:none\")\n })\n\n let image = '';\n\n htmlToImage.toPng(document.getElementById('chartcategory'),)\n .then(function (dataUrl) {\n var img = new Image();\n img.src = dataUrl;\n\n image = dataUrl;\n\n\n });\n setTimeout(() => {\n\n }, 500);\n\n\n let name: any;\n if (this.selectedReportType == ScoreCardTypeEnum.Department && this.departmentName) {\n name = this.departmentName;\n } else if ((!this.selectedReportType || this.selectedReportType == ScoreCardTypeEnum.Team) && this.TeamName) {\n name = this.TeamName;\n } else {\n name = \"Aggregate Report\";\n }\n setTimeout(() => {\n this.dorseyService.generateReportExcel(allData1, allData, image, this.companyName + '_Frustrations report by type' + \"_\" + (new Date().getMonth() + 1) + '-' + new Date().getDate() + '-' + new Date().getFullYear(), 'Frustrations report by type', \"Company: \" + this.companyName, this.selectedReportType ? this.selectedReportType + \": \" + name : 'Team' + \": \" + name, \"Frustrations report by type Report\", copyRight, 'FFFFFF00', 'FF0000FF');\n }, 2000);\n\n }\n\n sortByValue(jsObj) {\n var items = Object.keys(jsObj).map(function (key) {\n return [key, jsObj[key]];\n });\n\n // Sort the array based on the second element\n items.sort(function (first, second) {\n return second[1] - first[1];\n });\n return items;\n\n }\n getData(data) {\n\n const dialogRef = this.dialog.open(DialogComponent, {\n width: '650px',\n data: { data: data }\n });\n\n dialogRef.afterClosed().subscribe(result => {\n\n });\n\n }\n}\n\n\n@Component({\n selector: 'app-dialog',\n templateUrl: './dialog.html',\n // styleUrls: ['dialog.css']\n})\nexport class DialogComponent implements OnInit {\n\n data: any;\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public dialogData: any) { }\n\n ngOnInit() {\n this.data = this.dialogData.data;\n }\n\n close(): void {\n this.dialogRef.close();\n }\n\n}\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { DorseyService } from '../dorsey.service';\nimport { ChartOptions, ChartType, ChartDataSets } from 'chart.js';\nimport { LocalStorageService } from 'ngx-webstorage';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\nimport * as c3 from 'c3';\nimport * as d3 from 'd3';\nimport htmlToImage from 'html-to-image';\nimport { EmployeeLoginLevel } from '../common/models/login-level.model';\nimport { copyRight } from '../copyRight.model';\n\n@Component({\n selector: 'app-report-hipriority',\n templateUrl: './report-hipriority.component.html',\n // styleUrls: ['./report-hipriority.component.scss'],\n providers: [DorseyService],\n inputs: ['dashboardSeverity', 'dashboardSev', 'dashboardTeamSeverity']\n})\n\nexport class ReportHipriorityComponent implements OnInit {\n copyRight: string = copyRight;\n employeeDetails: any;\n wrng: any;\n searchtext: string = '';\n severityData: any;\n pointerData: any;\n CompanyID: string;\n totalCount = 0;\n frustData = [];\n frust = [];\n view = {};\n categories = [];\n metricList = [];\n warningMsg = '';\n isDisable = false;\n disableSearch = false;\n p: number = 1;\n rowsOnPage = 5;\n rowsOnPageSet = [];\n rowCount: any;\n dynamicRows = 5;\n activityPaging = false;\n saveFilter = [];\n dashboardSeverity = true;\n dashboardSev = true;\n metricbykeyprocess = [];\n UserTeamID: string;\n teamData: any;\n TeamID: any;\n EmployeeID: string;\n dashboardTeamSeverity: any;\n tempTeam = [];\n companyName: string;\n headerDate = new Date();\n TeamName: string;\n employeeData: any;\n copyDate: number;\n isDesc: boolean = false;\n column = \"\";\n direction: number;\n arrow = true;\n\n constructor(private dorsey: DorseyService, private storage: LocalStorageService, private dialog: MatDialog) {\n this.CompanyID = this.storage.retrieve('companyID');\n this.EmployeeID = this.storage.retrieve('EmployeeID');\n this.companyName = this.storage.retrieve('LoginCompanyName');\n this.employeeDetails = this.storage.retrieve('employeeDetails');\n if (this.EmployeeID.toString() === \"0\") {\n\n }\n else {\n this.TeamID = this.storage.retrieve('TeamID');\n }\n }\n\n ngOnInit() {\n this.GetSeverity();\n this.GetTeam();\n if (this.employeeDetails) {\n this.EmployeeID = this.employeeDetails.EmployeeID;\n this.TeamID = this.employeeDetails.TeamID;\n }\n else {\n this.EmployeeID = '0';\n this.TeamID = 0;\n }\n this.copyDate = (new Date()).getFullYear();\n }\n\n GetSeverity() {\n this.dorsey.GetSeverity().subscribe(severity => {\n this.severityData = JSON.parse(severity['_body']);\n });\n }\n sortByValue(jsObj) {\n var items = Object.keys(jsObj).map(function (key) {\n return [key, jsObj[key]];\n });\n\n // Sort the array based on the second element\n items.sort(function (first, second) {\n return second[1] - first[1];\n });\n return items;\n }\n\n sort(property) {\n this.arrow = !this.arrow;\n this.isDesc = !this.isDesc; //change the direction\n this.column = property;\n this.direction = this.isDesc ? 1 : -1;\n }\n\n GetSelectedReport(event) {\n this.searchtext = '';\n this.TeamID = event.value;\n let teamd = this.teamData.filter(x => x.TeamID === this.TeamID)\n if (teamd.length > 0) {\n this.TeamName = teamd[0].TeamName;\n }\n this.ConstructReport();\n }\n\n GetTeam() {\n this.TeamName = '';\n this.dorsey.GetTeam(this.CompanyID).subscribe(team => {\n team = JSON.parse(team['_body']);\n this.teamData = team;\n this.dorsey.GetPointer(this.CompanyID).subscribe(frustrations => {\n frustrations = JSON.parse(frustrations['_body']);\n this.pointerData = frustrations;\n if (this.employeeDetails) {\n if (this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Department) {\n this.teamData = this.teamData.filter(ent => ent.DepartmentID === this.employeeDetails.DepartmentID);\n\n }\n else if (this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Team) {\n this.teamData = this.teamData.filter(ent => ent.DepartmentID === this.employeeDetails.DepartmentID && ent.TeamID == this.employeeDetails.TeamID);\n this.TeamID = this.teamData[0].TeamID;\n }\n }\n if (this.dashboardTeamSeverity != undefined) {\n this.TeamID = this.dashboardTeamSeverity;\n }\n else if (this.employeeDetails && this.employeeDetails.IsEmployeeLoginLevel === EmployeeLoginLevel.Team) {\n this.TeamID = this.TeamID;\n }\n else {\n this.TeamID = 0;\n }\n if (this.TeamID == 0) {\n this.teamData = this.teamData.filter(entity1 => this.pointerData.find(entity2 => entity1.TeamID == entity2.TeamID && entity2.PointerTypeID == 1));\n }\n if (this.teamData.length > 0 && !this.TeamID) {\n this.teamData.splice(0, 0, { TeamID: 0, TeamName: 'Aggregate Report' });\n }\n this.ConstructReport();\n\n });\n });\n }\n ConstructReport() {\n this.metricList = [];\n this.frustData = [];\n this.categories = [];\n this.frust = [];\n this.rowsOnPageSet = [];\n this.rowsOnPage = 5;\n this.dynamicRows = 5;\n this.warningMsg = '';\n var sum = 0;\n this.dorsey.GetPointer(this.CompanyID).subscribe(pointer => {\n this.pointerData = JSON.parse(pointer['_body']);\n if (this.TeamID == 0)\n this.pointerData = this.pointerData.filter(entity1 => this.teamData.find(entity2 => entity1.TeamID == entity2.TeamID) && entity1.PointerTypeID == 1);\n else {\n this.pointerData = this.pointerData.filter(entity1 => entity1.TeamID == this.TeamID && entity1.PointerTypeID == 1);\n }\n this.totalCount = this.pointerData.length;\n if (this.totalCount) {\n for (let i = 0; i < this.severityData.length; i++) {\n let data = this.pointerData.filter(x => x.SeverityID === this.severityData[i].SeverityID);\n if (data.length > 0) {\n this.frustData.push(data);\n this.view['CategoryName'] = this.severityData[i].SeverityName;\n this.categories[this.severityData[i].SeverityName] = data.length;\n for (let li = 0; li < data.length; li++) {\n this.metricList.push(data[li]);\n }\n sum = sum + data.length;\n this.frust.push({\n data: data,\n label: this.severityData[i].SeverityName,\n value: data.length\n });\n this.frust.sort(function (obj1, obj2) {\n return obj2.value - obj1.value;\n });\n }\n }\n }\n else {\n this.warningMsg = 'No data available';\n if (!this.metricList.length) {\n this.isDisable = false;\n this.disableSearch = false;\n }\n else {\n this.isDisable = true;\n this.disableSearch = true;\n }\n return;\n }\n if (this.metricList.length === 0) {\n this.isDisable = false;\n this.disableSearch = false;\n return;\n }\n else {\n this.isDisable = true;\n this.disableSearch = true;\n }\n let sortOrder = [];\n sortOrder = this.sortByValue(this.categories);\n\n let chart = c3.generate({\n bindto: '#chatSeverity',//\n\n data: {\n json: this.categories,\n type: 'pie',\n\n },\n color: {\n pattern: ['#9f3e23', '#d55632', '#f4954f', '#f4c04f']\n },\n pie: {\n label: {\n format: function (value, ratio, id) {\n return value;\n }\n }\n },\n });\n\n setTimeout(function () {\n chart.data.colors({ Critical: '#9f3e23', High: '#d55632', Medium: '#f4954f', Low: '#f4c04f' });\n }, 0);\n\n this.rowCount = this.metricList.length;\n let tempmetricList = this.metricList;\n if (this.metricList.length === 0) {\n this.activityPaging = false;\n }\n else {\n this.saveFilter = JSON.parse(JSON.stringify(this.metricList));\n this.activityPaging = true;\n while (this.dynamicRows < this.rowCount) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 10;\n }\n if (!this.rowsOnPageSet.includes(this.rowCount)) this.rowsOnPageSet.push(this.rowCount);\n if (this.rowsOnPageSet.length > 0) {\n if (this.rowsOnPageSet[0] <= 10)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n }\n });\n }\n Searchtext() {\n this.metricbykeyprocess = this.saveFilter;\n let tempmetricbykeyprocess = this.metricbykeyprocess.filter(\n (item) => {\n return (\n (item.ProcessName !== null && item.ProcessName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.ActivityName !== null && item.ActivityName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.FrustrationsTypeName !== null && item.FrustrationsTypeName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.Subject !== null && item.Subject.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.Description !== null && item.Description.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.StatusName !== null && item.StatusName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.SeverityName !== null && item.SeverityName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.ProjectName !== null && item.ProjectName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.TeamName !== null && item.TeamName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1))\n }\n );\n this.metricList = tempmetricbykeyprocess;\n if (this.metricList.length == 0) {\n setTimeout(() => {\n this.wrng = \"No data available\";\n }, 100);\n this.isDisable = false;\n return;\n } else {\n this.isDisable = true;\n }\n if (this.searchtext === '') {\n this.metricbykeyprocess = this.saveFilter;\n this.dynamicRows = 5;\n this.rowsOnPageSet = [];\n this.rowCount = this.metricbykeyprocess.length;\n while (this.dynamicRows < this.rowCount) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 5;\n }\n if (!this.rowsOnPageSet.includes(this.rowCount))\n this.rowsOnPageSet.push(this.rowCount);\n if (this.rowsOnPageSet) {\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n this.isDisable = true;\n } else {\n this.rowCount = tempmetricbykeyprocess.length;\n this.dynamicRows = 5;\n this.rowsOnPageSet = [];\n while (this.dynamicRows < this.rowCount) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 5;\n }\n if (!this.rowsOnPageSet.includes(this.rowCount)) {\n this.rowsOnPageSet.push(this.rowCount);\n if (this.rowsOnPageSet)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n if (this.rowsOnPageSet.length === 1) {\n if (this.rowsOnPageSet[0] <= 5)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n }\n }\n exportAsXLSX(): void {\n let allData = JSON.parse(JSON.stringify(this.metricList));\n for (let i = 0; i < allData.length; i++) {\n allData[i][\" No. \"] = i + 1;\n allData[i].Team = this.metricList[i].TeamName;\n allData[i].Process = this.metricList[i].ProcessName;\n allData[i].Activity = this.metricList[i].ActivityName;\n allData[i][\" Type \"] = this.metricList[i].FrustrationsTypeName;\n allData[i][\" Frustration \"] = this.metricList[i].Subject;\n allData[i][\" Description \"] = this.metricList[i].Description;\n allData[i].Status = this.metricList[i].StatusName;\n allData[i].Severity = this.metricList[i].SeverityName;\n allData[i].Project = this.metricList[i].ProjectName;\n\n delete (allData[i].DepartmentName);\n delete (allData[i].EmployeeName);\n delete (allData[i].VersionID);\n delete (allData[i].GoalID);\n delete (allData[i].GoalName);\n\n delete (allData[i].GreenRange);\n delete (allData[i].RedRange);\n delete (allData[i].Source);\n delete (allData[i].YellowRange);\n delete (allData[i].ProcessName);\n delete (allData[i].ActivityName);\n delete (allData[i].TeamName);\n delete (allData[i].FrustrationsTypeName);\n delete (allData[i].Subject);\n delete (allData[i].Description);\n delete (allData[i].StatusName);\n delete (allData[i].SeverityName);\n delete (allData[i].ProjectName);\n delete (allData[i].PointerID);\n delete (allData[i].ActivityID);\n delete (allData[i].PointerTypeID);\n delete (allData[i].CompanyID);\n delete (allData[i].EmployeeID);\n delete (allData[i].UOM);\n delete (allData[i].Target);\n delete (allData[i].Type);\n delete (allData[i].StatusID);\n delete (allData[i].SeverityID);\n delete (allData[i].ProcessID);\n delete (allData[i].DepartmentID);\n delete (allData[i].TeamID);\n delete (allData[i].FrustrationsTypeID);\n delete (allData[i].Date);\n delete (allData[i].IsActive);\n delete (allData[i].CreatedDate);\n\n delete (allData[i].CreatedBy);\n delete (allData[i].UpdatedDate);\n delete (allData[i].UpdatedBy);\n delete (allData[i].ProjectID);\n }\n\n let allData1 = JSON.parse(JSON.stringify(this.frust));\n for (let i = 0; i < allData1.length; i++) {\n allData1[i].label = this.frust[i].label;\n allData1[i].value = this.frust[i].value;\n delete (allData1[i].data);\n }\n var node = document.getElementById('chatSeverity');\n let image\n htmlToImage.toPng(node)\n .then(function (dataUrl) {\n var img = new Image();\n img.src = dataUrl;\n image = dataUrl;\n });\n setTimeout(() => {\n\n }, 500);\n let name: any;\n if (this.TeamName) {\n name = this.TeamName;\n }\n else {\n name = \"Aggregate Report\";\n }\n setTimeout(() => {\n this.dorsey.generateReportExcel(allData1, allData, image, this.companyName + '_Frustrations severity' + \"_\" + (new Date().getMonth() + 1) + '-' + new Date().getDate() + '-' + new Date().getFullYear(), 'Frustrations severity', \"Company: \" + this.companyName, \"Team: \" + name, \"Frustrations severity Report\", copyRight, 'FFFFFF00', 'FF0000FF');\n }, 2000);\n\n }\n\n getData(data) {\n const dialogRef = this.dialog.open(ReportSeverityDialogComponent, {\n width: '650px',\n data: { data: data }\n });\n dialogRef.afterClosed().subscribe(result => {\n });\n }\n}\n\n@Component({\n selector: 'app-dialog',\n templateUrl: './dialog.html',\n // styleUrls: ['dialog.css']\n})\nexport class ReportSeverityDialogComponent implements OnInit {\n\n data: any;\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public dialogData: any) { }\n ngOnInit() {\n this.data = this.dialogData.data;\n }\n close(): void {\n this.dialogRef.close();\n }\n}\n","import { Component, OnInit, Inject, ElementRef, ViewChild } from '@angular/core';\nimport { DorseyService } from '../dorsey.service';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\nimport * as c3 from 'c3';\nimport * as d3 from 'd3';\nimport { LocalStorageService } from 'ngx-webstorage';\nimport htmlToImage from 'html-to-image';\nimport { toBase64String } from '@angular/compiler/src/output/source_map';\nimport { EmployeeLoginLevel } from '../common/models/login-level.model'\nimport { ScoreCardTypeEnum } from '../performance-score-card/performance-score-card.model';\nimport { Department } from '../departments/department.model';\nimport { DepartmentService } from '../services/department.service';\nimport { copyRight } from '../copyRight.model';\n@Component({\n selector: 'app-report-metric-process',\n templateUrl: './report-metric-process.component.html',\n // styleUrls: ['./report-metric-process.component.scss'],\n providers: [DorseyService],\n inputs: ['dashboardMetric', 'dashboardMe', 'dashboardTeam']\n\n})\nexport class ReportMetricProcessComponent implements OnInit {\n copyRight: string = copyRight;\n isDisable = false;\n disableSearch = false;\n processData: any;\n pointerData: any;\n frustrationData: any;\n frustData = [];\n frust = [];\n view = {};\n dataSource: Object;\n searchtext: string = '';\n totalCount = 0;\n dashboardMetric = true;\n dashboardMe = true;\n categories = [];\n warningMsg = '';\n p: number = 1;\n rowsOnPage = 5;\n rowsOnPageSet = [];\n rowCount: any;\n dynamicRows = 5;\n activityPaging = false;\n\n metricList = [];\n CompanyID: string;\n selectedDepartmentId: number;\n saveFilter: any;\n metricbykeyprocess: any;\n wrng: any;\n UserTeamID: string;\n teamData: any;\n EmployeeID: string;\n TeamID: any;\n dashboardTeam: any;\n tempTeam = [];\n companyName: string;\n TeamName: string;\n headerDate = new Date();\n employeeData: any;\n copyDate: number;\n isDesc: boolean = false;\n column = \"\";\n direction: number;\n arrow = true;\n loginCompanyName: string;\n image: any;\n imageurl: string;\n departmentName: string;\n\n departmentList: Array = [];\n employeeDetails: any;\n scoreCardTypes: string[] = [ScoreCardTypeEnum.Department, ScoreCardTypeEnum.Team];\n selectedReportType: string;\n toggleTeam: boolean = false;\n constructor(\n private dorseyService: DorseyService,\n private dialog: MatDialog,\n private storage: LocalStorageService,\n private departmentService: DepartmentService) {\n\n this.loginCompanyName = sessionStorage.getItem('loginCompanyName');\n this.metricList = [];\n this.EmployeeID = this.storage.retrieve('EmployeeID');\n this.companyName = this.storage.retrieve('LoginCompanyName');\n this.employeeDetails = this.storage.retrieve('employeeDetails');\n if (this.EmployeeID === undefined) {\n this.EmployeeID = \"0\";\n }\n if (this.EmployeeID.toString() === \"0\") {\n\n }\n else {\n this.TeamID = this.storage.retrieve('TeamID');\n }\n }\n\n\n ngOnInit() {\n this.CompanyID = this.storage.retrieve('companyID');\n this.warningMsg = '';\n if (this.employeeDetails) {\n if ((this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Department) || (this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Team)) {\n this.toggleTeam = true;\n this.getTeamsByDepartmentId(this.employeeDetails.DepartmentID)\n }\n else {\n if (!this.dashboardTeam)\n this.reportTypeChange(ScoreCardTypeEnum.Department)\n else\n this.getTeamsByDepartmentId(0)\n }\n }\n\n else {\n if (!this.dashboardTeam)\n this.reportTypeChange(ScoreCardTypeEnum.Department)\n else\n this.getTeamsByDepartmentId(0)\n }\n this.copyDate = (new Date()).getFullYear();\n }\n private getDepartments(): void {\n this.departmentService.getDepartments(Number(this.CompanyID)).subscribe(resp => {\n this.departmentList = resp.Data;\n if (this.employeeDetails) {\n\n if (this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Department) {\n this.departmentList = this.departmentList.filter(ent => ent.DepartmentID === this.employeeDetails.DepartmentID);\n }\n else if (this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Team) {\n this.departmentList = this.departmentList.filter(ent => ent.DepartmentID === this.employeeDetails.DepartmentID);\n this.getTeamsByDepartmentId(this.employeeDetails.DepartmentID);\n }\n }\n this.departmentList.splice(0, 0, { DepartmentID: 0, DepartmentName: 'Aggregate Report', DepartmentDescription: '0', CompanyID: Number(this.CompanyID), CreatedBy: '', UpdatedBy: '' });\n });\n }\n private getTeamsByDepartmentId(selectedDepartmentId): void {\n this.dorseyService.GetTeam(this.CompanyID.toString()).subscribe(resp => {\n var companyTeamList = JSON.parse(resp['_body']);\n this.teamData = companyTeamList;\n if (this.employeeDetails && companyTeamList) {\n if (this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Department) {\n this.teamData = this.teamData.filter(ent => ent.DepartmentID === this.employeeDetails.DepartmentID);\n }\n else if (this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Team) {\n this.teamData = this.teamData.filter(ent => ent.DepartmentID === this.employeeDetails.DepartmentID && ent.TeamID == this.employeeDetails.TeamID);\n this.selectedDepartmentId = this.teamData[0].DepartmentID;\n this.TeamID = this.teamData[0].TeamID;\n this.TeamName = this.teamData[0].TeamName;\n }\n else {\n if (!selectedDepartmentId) {\n this.selectedDepartmentId = 0;\n this.teamData = companyTeamList;\n }\n else if (selectedDepartmentId == 0) {\n this.teamData = companyTeamList;\n }\n else {\n this.teamData = this.teamData.filter(ent => ent.DepartmentID === selectedDepartmentId);\n }\n }\n }\n else {\n if (selectedDepartmentId == 0)\n this.teamData = companyTeamList;\n else\n this.teamData = companyTeamList.filter(ent => ent.DepartmentID === selectedDepartmentId);\n }\n\n if (this.dashboardTeam !== undefined) {\n this.TeamID = this.dashboardTeam;\n }\n else if (this.employeeDetails && this.employeeDetails.IsEmployeeLoginLevel === EmployeeLoginLevel.Team) {\n this.TeamID = this.TeamID;\n }\n else {\n this.TeamID = 0;\n }\n\n this.dorseyService.GetPointer(this.CompanyID).subscribe(pointer => {\n this.pointerData = JSON.parse(pointer['_body']);\n if (this.TeamID == 0) {\n this.teamData = this.teamData.filter(entity1 => this.pointerData.find(entity2 => entity1.TeamID == entity2.TeamID && entity2.PointerTypeID == 2));\n this.teamData.splice(0, 0, { TeamID: 0, TeamName: 'Aggregate Report' });\n }\n this.ConstructReport();\n });\n });\n }\n sort(property) {\n this.arrow = !this.arrow;\n this.isDesc = !this.isDesc; //change the direction\n this.column = property;\n this.direction = this.isDesc ? 1 : -1;\n }\n ConstructReport() {\n this.metricList = [];\n this.frustData = [];\n this.categories = [];\n this.frust = [];\n this.rowsOnPageSet = [];\n this.rowsOnPage = 5;\n this.dynamicRows = 5;\n this.warningMsg = '';\n var values = [];\n var perito = [];\n var sum = 0;\n this.dorseyService.GetPointer(this.CompanyID).subscribe(pointer => {\n this.pointerData = JSON.parse(pointer['_body']);\n if (this.TeamID == 0)\n this.pointerData = this.pointerData.filter(entity1 => this.teamData.find(entity2 => entity1.TeamID == entity2.TeamID) && entity1.PointerTypeID == 2);\n else {\n this.pointerData = this.pointerData.filter(entity1 => entity1.TeamID == this.TeamID && entity1.PointerTypeID == 2);\n }\n this.totalCount = this.pointerData.length;\n this.dorseyService.GetProcess(this.CompanyID).subscribe(process => {\n this.processData = JSON.parse(process['_body'])\n if (this.TeamID == 0)\n this.processData = this.processData.filter(entity1 => this.teamData.find(entity2 => entity1.TeamID == entity2.TeamID));\n else {\n this.processData = this.processData.filter(entity1 => entity1.TeamID == this.TeamID);\n }\n if (this.totalCount) {\n for (let i = 0; i < this.processData.length; i++) {\n let data = this.pointerData.filter(x => x.ProcessID === this.processData[i].ProcessID);\n if (data.length > 0) {\n if (Object.keys(this.categories).indexOf(this.processData[i].ProcessName) > -1) {\n this.categories[this.processData[i].ProcessID] = data.length;\n }\n else {\n this.categories[this.processData[i].ProcessName] = data.length;\n }\n for (let li = 0; li < data.length; li++) {\n this.metricList.push(data[li]);\n }\n sum = sum + data.length;\n this.frustData.push(data);\n this.view['CategoryName'] = this.processData[i].ProcessName;\n this.frust.push({\n 'data': data,\n 'label': this.processData[i].ProcessName,\n 'value': data.length\n });\n this.frust.sort(function (obj1, obj2) {\n\n return obj2.value - obj1.value;\n });\n }\n }\n } else {\n this.warningMsg = 'No data available';\n if (!this.metricList.length || this.metricList.length == 0) {\n this.isDisable = false;\n this.disableSearch = false;\n }\n else {\n this.isDisable = true;\n this.disableSearch = true;\n }\n return;\n }\n\n if (this.metricList.length === 0) {\n this.isDisable = false;\n this.disableSearch = false;\n return;\n }\n else {\n this.isDisable = true;\n this.disableSearch = true;\n }\n\n let sortOrder = this.sortByValue(this.categories);\n let perVal = 0;\n this.categories = [];\n for (let v = 0; v < sortOrder.length; v++) {\n values.push(sortOrder[v][1]);\n\n let processFilter = this.processData.filter(x => x.ProcessID.toString() === sortOrder[v][0].toString());\n\n if (processFilter.length > 0) {\n this.categories.push(processFilter[0].ProcessName);\n }\n else {\n this.categories.push(sortOrder[v][0]);\n }\n perVal = perVal + sortOrder[v][1];\n perito.push((perVal / sum));\n }\n var obj = {\n 'Metric Count': values,\n 'Cumulative percentage': perito\n };\n\n\n\n let chart = c3.generate({\n bindto: '#chartMetric',\n data: {\n json: obj,\n axes: {\n\n 'Cumulative percentage': 'y2'\n },\n type: 'bar',\n types: {\n\n 'Cumulative percentage': 'line',\n\n }, groups: [\n ['Metric Count', 'Cumulative percentage']\n ]\n },\n\n title: {\n text: \"Key Process\",\n padding: {\n top: 20,\n right: 20,\n bottom: 40,\n left: 50\n }\n },\n color: {\n pattern: ['#4aabe7', '#d55632']\n },\n legend: {\n show: true,\n position: \"right\"\n\n },\n axis: {\n x: {\n type: 'category',\n categories: this.categories,\n tick: {\n rotate: 50,\n multiline: false\n },\n height: 100\n },\n y: {\n label: 'Metric Count',\n tick: {\n format: d3.format('d'),\n values: d3.ticks(0, sortOrder[0][1], sortOrder[0][1])\n }\n },\n y2: {\n show: true,\n label: 'Cumulative percentage',\n max: 1,\n min: 0,\n padding: { top: 3, bottom: 0 },\n tick: {\n format: d3.format(',.0%')\n }\n },\n }\n });\n this.rowCount = this.metricList.length;\n if (this.metricList.length === 0) {\n this.activityPaging = false;\n }\n else {\n this.saveFilter = JSON.parse(JSON.stringify(this.metricList));\n this.activityPaging = true;\n this.rowsOnPageSet = [];\n while (this.dynamicRows < this.rowCount) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 10;\n }\n if (!this.rowsOnPageSet.includes(this.rowCount)) this.rowsOnPageSet.push(this.rowCount);\n if (this.rowsOnPageSet.length === 1) {\n if (this.rowsOnPageSet[0] <= 10)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n }\n });\n });\n\n }\n\n Searchtext() {\n this.metricbykeyprocess = this.saveFilter;\n let tempmetricbykeyprocess = this.metricbykeyprocess.filter(\n (item) => {\n return (\n (item.TeamName !== null && item.TeamName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.DepartmentName !== null && item.DepartmentName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.ProcessName !== null && item.ProcessName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.ActivityName !== null && item.ActivityName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.GoalName !== null && item.GoalName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1)) ||\n (item.Description != null && item.Description.toLowerCase().indexOf(this.searchtext.toLowerCase()) > -1)\n }\n );\n\n this.metricList = tempmetricbykeyprocess;\n if (this.metricList.length == 0) {\n setTimeout(() => {\n this.wrng = \"No data available\";\n }, 100);\n this.isDisable = false;\n return;\n } else {\n this.isDisable = true;\n }\n if (this.searchtext === '') {\n this.metricbykeyprocess = this.saveFilter;\n this.dynamicRows = 5;\n this.rowsOnPageSet = [];\n this.rowCount = this.metricbykeyprocess.length;\n while (this.dynamicRows < this.rowCount) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 5;\n }\n if (!this.rowsOnPageSet.includes(this.rowCount))\n this.rowsOnPageSet.push(this.rowCount);\n if (this.rowsOnPageSet) {\n\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n this.isDisable = true;\n } else {\n this.rowCount = tempmetricbykeyprocess.length;\n this.dynamicRows = 5;\n this.rowsOnPageSet = [];\n while (this.dynamicRows < this.rowCount) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 5;\n }\n if (!this.rowsOnPageSet.includes(this.rowCount)) {\n this.rowsOnPageSet.push(this.rowCount);\n if (this.rowsOnPageSet)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n if (this.rowsOnPageSet.length === 1) {\n if (this.rowsOnPageSet[0] <= 5)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n }\n }\n\n exportAsXLSX(): void {\n let allData = JSON.parse(JSON.stringify(this.metricList));\n for (let i = 0; i < allData.length; i++) {\n allData[i][\" No. \"] = i + 1;\n if (this.selectedReportType === ScoreCardTypeEnum.Department) {\n allData[i][\"Department\"] = this.metricList[i].DepartmentName;\n }\n allData[i].Team = this.metricList[i].TeamName;\n allData[i].Process = this.metricList[i].ProcessName;\n allData[i].Activity = this.metricList[i].ActivityName;\n allData[i][\" Goal \"] = this.metricList[i].GoalName;\n allData[i][\" Metric \"] = this.metricList[i].Description;\n\n delete (allData[i].DepartmentName);\n delete (allData[i].EmployeeName);\n delete (allData[i].VersionID);\n delete (allData[i].GoalID);\n delete (allData[i].GoalName);\n delete (allData[i].GreenRange);\n delete (allData[i].RedRange);\n delete (allData[i].YellowRange);\n delete (allData[i].ProcessName);\n delete (allData[i].ActivityName);\n delete (allData[i].Target);\n delete (allData[i].Source);\n delete (allData[i].TeamName);\n delete (allData[i].FrustrationsTypeName);\n delete (allData[i].Subject);\n delete (allData[i].Description);\n delete (allData[i].UOM);\n delete (allData[i].Target);\n delete (allData[i].StatusName);\n delete (allData[i].SeverityName);\n delete (allData[i].ProjectName);\n delete (allData[i].PointerID);\n delete (allData[i].ActivityID);\n delete (allData[i].PointerTypeID);\n delete (allData[i].CompanyID);\n delete (allData[i].EmployeeID);\n delete (allData[i].Type);\n delete (allData[i].StatusID);\n delete (allData[i].SeverityID);\n delete (allData[i].ProcessID);\n delete (allData[i].DepartmentID);\n delete (allData[i].TeamID);\n delete (allData[i].FrustrationsTypeID);\n delete (allData[i].Date);\n delete (allData[i].IsActive);\n delete (allData[i].CreatedDate);\n delete (allData[i].CreatedBy);\n delete (allData[i].UpdatedDate);\n delete (allData[i].UpdatedBy);\n delete (allData[i].ProjectID);\n }\n let allData1 = JSON.parse(JSON.stringify(this.frust));\n for (let i = 0; i < allData1.length; i++) {\n allData1[i].label = this.frust[i].label;\n allData1[i].value = this.frust[i].value;\n delete (allData1[i].data);\n }\n let Cumulative = document.getElementById('chartMetric').querySelector('svg').querySelectorAll('.c3-target-Cumulative-percentage');\n let Cumulativecircle = document.getElementById('chartMetric').querySelector('svg').querySelectorAll('.c3-circle');\n let circle = Array.from(Cumulativecircle);\n circle.forEach(function (element) {\n element.setAttribute(\"style\", \"fill:#e75632\")\n })\n let cumulativegraph = Array.from(Cumulative)\n cumulativegraph.forEach(function (element) {\n element.setAttribute(\"style\", \"fill:none\")\n })\n\n let image = '';\n htmlToImage.toPng(document.getElementById('chartMetric'),)\n .then(function (dataUrl) {\n var img = new Image();\n img.src = dataUrl;\n\n image = dataUrl;\n });\n\n\n let name: any;\n if (this.selectedReportType == ScoreCardTypeEnum.Department && this.departmentName) {\n name = this.departmentName;\n } else if ((!this.selectedReportType || this.selectedReportType == ScoreCardTypeEnum.Team) && this.TeamName) {\n name = this.TeamName;\n } else {\n name = \"Aggregate Report\";\n }\n setTimeout(() => {\n this.dorseyService.generateReportExcel(allData1,\n allData,\n image,\n this.loginCompanyName + '_Metric by process' + \"_\" + (new Date().getMonth() + 1) + '-' + new Date().getDate() + '-' + new Date().getFullYear(),\n 'Metric by process',\n \"Company: \" + this.loginCompanyName,\n this.selectedReportType ? this.selectedReportType + \": \" + name : 'Team' + \": \" + name,\n \"Metric by process Report\",\n copyRight,\n 'FFFFFF00',\n 'FF0000FF');\n }, 2000);\n }\n teamChange(event): void {\n this.searchtext = '';\n this.selectedDepartmentId = 0;\n this.TeamID = event.value;\n let teamd = this.teamData.filter(x => x.TeamID === this.TeamID)\n if (teamd.length > 0) {\n this.TeamName = teamd[0].TeamName;\n }\n this.ConstructReport();\n }\n reportTypeChange(scoreCardType: string): void {\n this.searchtext = '';\n this.departmentList = [];\n this.teamData = [];\n this.selectedDepartmentId = 0;\n this.selectedReportType = scoreCardType;\n this.toggleTeam = scoreCardType === ScoreCardTypeEnum.Department ? false : true;\n this.getDepartments();\n this.getTeamsByDepartmentId(this.selectedDepartmentId);\n }\n\n departmentChange(selectedDepartmentId): void {\n this.searchtext = '';\n this.getTeamsByDepartmentId(selectedDepartmentId);\n\n this.departmentName = this.departmentList.find(ent => ent.DepartmentID === selectedDepartmentId).DepartmentName;\n }\n\n sortByValue(jsObj) {\n var items = Object.keys(jsObj).map(function (key) {\n return [key, jsObj[key]];\n });\n // Sort the array based on the second element\n items.sort(function (first, second) {\n return second[1] - first[1];\n });\n return items;\n }\n getData(data) {\n const dialogRef = this.dialog.open(ReportMetricDialogComponent, {\n width: '650px',\n data: { data: data }\n });\n dialogRef.afterClosed().subscribe(result => {\n\n });\n }\n}\n\n@Component({\n selector: 'app-dialog',\n templateUrl: './dialog.html',\n // styleUrls: ['dialog.css']\n})\nexport class ReportMetricDialogComponent implements OnInit {\n data: any;\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public dialogData: any) { }\n\n ngOnInit() {\n this.data = this.dialogData.data;\n }\n close(): void {\n this.dialogRef.close();\n }\n}\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { DorseyService } from '../dorsey.service';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\nimport * as c3 from 'c3';\nimport * as d3 from 'd3';\nimport { LocalStorageService } from 'ngx-webstorage';\nimport { tickStep } from 'd3';\nimport htmlToImage from 'html-to-image';\nimport { EmployeeLoginLevel } from '../common/models/login-level.model';\nimport { Department } from '../departments/department.model';\nimport { ScoreCardTypeEnum } from '../performance-score-card/performance-score-card.model';\nimport { DepartmentService } from '../services/department.service';\nimport { copyRight } from '../copyRight.model';\n\n@Component({\n selector: 'app-report-process',\n templateUrl: './report-process.component.html',\n // styleUrls: ['./report-process.component.scss'],\n providers: [DorseyService],\n inputs: ['dashboardProcess', 'dashboardPr', 'dashboardTeamPr']\n})\nexport class ReportProcessComponent implements OnInit {\n copyRight: string = copyRight;\n departmentList: Array = [];\n employeeDetails: any;\n scoreCardTypes: string[] = [ScoreCardTypeEnum.Department, ScoreCardTypeEnum.Team];\n\n processData: any;\n activityData: any;\n pointerData: any;\n frustrationData: any;\n selectedDepartmentId: number;\n frustData = [];\n frust = [];\n view = {};\n dataSource: Object;\n totalCount = 0;\n dashboardProcess = true;\n dashboard = true;\n categories = [];\n warningMsg = '';\n dashboardPr = true;\n departmentName: string;\n p: number = 1;\n rowsOnPage = 5;\n rowsOnPageSet = [];\n rowCount: any;\n dynamicRows = 5;\n activityPaging = false;\n metricList = [];\n selectedReportType: string;\n CompanyID: string;\n isDisable = false;\n saveFilter = [];\n searchtext: string = '';\n frustrationbyprocess: any[];\n wrng: string;\n disableSearch = false;\n toggleTeam: boolean = false;\n UserTeamID: string;\n teamData: any;\n TeamID: any;\n selected: any;\n dashboardTeamPr: any;\n EmployeeID: string;\n tempTeam = [];\n companyName: string;\n headerDate = new Date();\n TeamName: string;\n employeeData: any;\n copyDate: number;\n isDesc: boolean = false;\n column = \"\";\n direction: number;\n arrow = true;\n constructor(private dorseyService: DorseyService,\n private departmentService: DepartmentService, private dialog: MatDialog, private storage: LocalStorageService) {\n\n this.metricList = [];\n this.companyName = sessionStorage.getItem('loginCompanyName');\n this.EmployeeID = this.storage.retrieve('EmployeeID');\n this.employeeDetails = this.storage.retrieve('employeeDetails');\n\n if (this.EmployeeID.toString() === \"0\") {\n\n }\n else {\n this.TeamID = this.storage.retrieve('TeamID');\n }\n\n }\n\n\n ngOnInit() {\n\n this.CompanyID = this.storage.retrieve('companyID');\n this.warningMsg = '';\n\n if (this.employeeDetails) {\n\n if ((this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Department) || (this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Team)) {\n this.toggleTeam = true;\n\n this.getTeamsByDepartmentId(this.employeeDetails.DepartmentID)\n }\n else {\n if (!this.dashboardTeamPr)\n\n this.reportTypeChange(ScoreCardTypeEnum.Department)\n\n else\n this.getTeamsByDepartmentId(0)\n\n\n }\n }\n else {\n if (!this.dashboardTeamPr)\n\n this.reportTypeChange(ScoreCardTypeEnum.Department)\n\n else\n this.getTeamsByDepartmentId(0)\n\n }\n\n\n this.copyDate = (new Date()).getFullYear();\n\n }\n teamChange(event): void {\n this.searchtext = '';\n this.selectedDepartmentId = 0;\n\n this.TeamID = event.value;\n\n let teamd = this.teamData.filter(x => x.TeamID === this.TeamID)\n\n if (teamd.length > 0) {\n this.TeamName = teamd[0].TeamName;\n }\n this.ConstructReport();\n }\n reportTypeChange(scoreCardType: string): void {\n this.searchtext = '';\n this.departmentList = [];\n this.teamData = [];\n this.selectedDepartmentId = 0;\n this.selectedReportType = scoreCardType;\n this.toggleTeam = scoreCardType === ScoreCardTypeEnum.Department ? false : true;\n this.getDepartments();\n this.getTeamsByDepartmentId(this.selectedDepartmentId);\n\n }\n\n departmentChange(selectedDepartmentId): void {\n this.searchtext = '';\n this.getTeamsByDepartmentId(selectedDepartmentId);\n\n this.departmentName = this.departmentList.find(ent => ent.DepartmentID === selectedDepartmentId).DepartmentName;\n }\n\n private getDepartments(): void {\n this.departmentService.getDepartments(Number(this.CompanyID)).subscribe(resp => {\n this.departmentList = resp.Data;\n if (this.employeeDetails) {\n\n if (this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Department) {\n this.departmentList = this.departmentList.filter(ent => ent.DepartmentID === this.employeeDetails.DepartmentID);\n }\n else if (this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Team) {\n this.departmentList = this.departmentList.filter(ent => ent.DepartmentID === this.employeeDetails.DepartmentID);\n this.getTeamsByDepartmentId(this.employeeDetails.DepartmentID);\n }\n\n }\n this.departmentList.splice(0, 0, { DepartmentID: 0, DepartmentName: 'Aggregate Report', DepartmentDescription: '0', CompanyID: Number(this.CompanyID), CreatedBy: '', UpdatedBy: '' });\n });\n }\n\n private getTeamsByDepartmentId(selectedDepartmentId): void {\n\n this.dorseyService.GetTeam(this.CompanyID.toString()).subscribe(resp => {\n var companyTeamList = JSON.parse(resp['_body']);\n this.teamData = companyTeamList;\n\n if (this.employeeDetails && companyTeamList) {\n if (this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Department) {\n this.teamData = this.teamData.filter(ent => ent.DepartmentID === this.employeeDetails.DepartmentID);\n }\n else if (this.employeeDetails.IsEmployeeLoginLevel == EmployeeLoginLevel.Team) {\n this.teamData = this.teamData.filter(ent => ent.DepartmentID === this.employeeDetails.DepartmentID && ent.TeamID == this.employeeDetails.TeamID);\n this.selectedDepartmentId = this.teamData[0].DepartmentID;\n this.TeamID = this.teamData[0].TeamID;\n }\n else {\n\n if (!selectedDepartmentId) {\n this.selectedDepartmentId = 0;\n this.teamData = companyTeamList;\n }\n else if (selectedDepartmentId == 0) {\n this.teamData = companyTeamList;\n }\n else {\n this.teamData = this.teamData.filter(ent => ent.DepartmentID === selectedDepartmentId);\n }\n\n }\n }\n else {\n if (selectedDepartmentId == 0)\n this.teamData = companyTeamList;\n else\n\n this.teamData = companyTeamList.filter(ent => ent.DepartmentID === selectedDepartmentId);\n }\n\n if (this.dashboardTeamPr !== undefined) {\n this.TeamID = this.dashboardTeamPr;\n }\n else if (this.employeeDetails && this.employeeDetails.IsEmployeeLoginLevel === EmployeeLoginLevel.Team) {\n this.TeamID = this.TeamID;\n }\n else {\n this.TeamID = 0;\n\n }\n\n this.dorseyService.GetPointer(this.CompanyID).subscribe(pointer => {\n this.pointerData = JSON.parse(pointer['_body']);\n\n if (this.TeamID == 0) {\n this.teamData = this.teamData.filter(entity1 => this.pointerData.find(entity2 => entity1.TeamID == entity2.TeamID && entity2.PointerTypeID == 1));\n\n this.teamData.splice(0, 0, { TeamID: 0, TeamName: 'Aggregate Report' });\n }\n\n this.ConstructReport();\n\n });\n\n });\n }\n\n\n sort(property) {\n this.arrow = !this.arrow;\n this.isDesc = !this.isDesc; //change the direction\n this.column = property;\n this.direction = this.isDesc ? 1 : -1;\n }\n\n\n Searchtext() {\n this.frustrationbyprocess = this.saveFilter;\n\n let tempfrustrationbyprocess = this.frustrationbyprocess.filter(\n (item) => {\n return (\n (item.ProcessName !== null && item.ProcessName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.ActivityName !== null && item.ActivityName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.FrustrationsTypeName !== null && item.FrustrationsTypeName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.Subject !== null && item.Subject.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.Description !== null && item.Description.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.StatusName !== null && item.StatusName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.SeverityName !== null && item.SeverityName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.ProjectName !== null && item.ProjectName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1))\n || (item.TeamName !== null && item.TeamName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1)\n\n\n }\n\n );\n\n this.metricList = tempfrustrationbyprocess;\n if (this.metricList.length == 0) {\n this.isDisable = false;\n setTimeout(() => {\n this.wrng = \"No data available\";\n }, 100);\n\n }\n else {\n this.isDisable = true;\n }\n if (this.searchtext === '') {\n this.frustrationbyprocess = this.saveFilter;\n this.dynamicRows = 5;\n this.rowsOnPageSet = [];\n this.rowCount = this.frustrationbyprocess.length;\n while (this.dynamicRows < this.rowCount) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 5;\n }\n if (!this.rowsOnPageSet.includes(this.rowCount))\n this.rowsOnPageSet.push(this.rowCount);\n if (this.rowsOnPageSet) {\n\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n this.isDisable = true;\n } else {\n this.rowCount = tempfrustrationbyprocess.length;\n this.dynamicRows = 5;\n this.rowsOnPageSet = [];\n while (this.dynamicRows < this.rowCount) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 5;\n }\n if (!this.rowsOnPageSet.includes(this.rowCount)) {\n this.rowsOnPageSet.push(this.rowCount);\n if (this.rowsOnPageSet)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n\n if (this.rowsOnPageSet.length === 1) {\n if (this.rowsOnPageSet[0] <= 5)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n }\n }\n exportAsXLSX(): void {\n let allData = JSON.parse(JSON.stringify(this.metricList));\n\n for (let i = 0; i < allData.length; i++) {\n\n allData[i][\" No. \"] = i + 1;\n if (this.selectedReportType === ScoreCardTypeEnum.Department) {\n allData[i][\"Department\"] = this.metricList[i].DepartmentName;\n }\n\n allData[i].Team = this.metricList[i].TeamName;\n allData[i].Process = this.metricList[i].ProcessName;\n allData[i].Activity = this.metricList[i].ActivityName;\n allData[i].Team = this.metricList[i].TeamName;\n allData[i][\" Type \"] = this.metricList[i].FrustrationsTypeName;\n allData[i][\" Frustration \"] = this.metricList[i].Subject;\n allData[i][\" Description \"] = this.metricList[i].Description;\n allData[i].Status = this.metricList[i].StatusName;\n\n allData[i].Severity = this.metricList[i].SeverityName;\n allData[i].Project = this.metricList[i].ProjectName;\n\n\n delete (allData[i].DepartmentName);\n delete (allData[i].EmployeeName);\n delete (allData[i].VersionID);\n delete (allData[i].GoalName);\n delete (allData[i].GoalID);\n delete (allData[i].GreenRange);\n delete (allData[i].RedRange);\n\n delete (allData[i].YellowRange);\n\n delete (allData[i].ProcessName);\n delete (allData[i].ActivityName);\n delete (allData[i].Source);\n delete (allData[i].TeamName);\n delete (allData[i].FrustrationsTypeName);\n\n delete (allData[i].Subject);\n delete (allData[i].Description);\n\n delete (allData[i].StatusName);\n delete (allData[i].SeverityName);\n delete (allData[i].ProjectName);\n\n\n delete (allData[i].PointerID);\n delete (allData[i].ActivityID);\n delete (allData[i].PointerTypeID);\n delete (allData[i].CompanyID);\n delete (allData[i].EmployeeID);\n delete (allData[i].UOM);\n delete (allData[i].Target);\n delete (allData[i].Type);\n delete (allData[i].StatusID);\n\n delete (allData[i].SeverityID);\n delete (allData[i].ProcessID);\n delete (allData[i].DepartmentID);\n delete (allData[i].TeamID);\n\n\n delete (allData[i].FrustrationsTypeID);\n delete (allData[i].Date);\n delete (allData[i].IsActive);\n delete (allData[i].CreatedDate);\n\n delete (allData[i].CreatedBy);\n delete (allData[i].UpdatedDate);\n delete (allData[i].UpdatedBy);\n delete (allData[i].ProjectID);\n\n\n }\n\n let allData1 = JSON.parse(JSON.stringify(this.frust));\n\n for (let i = 0; i < allData1.length; i++) {\n // this.frust[i].label = this.frust[i].value;\n allData1[i].label = this.frust[i].label;\n allData1[i].value = this.frust[i].value;\n delete (allData1[i].data);\n }\n\n let Cumulative = document.getElementById('chartProcess').querySelector('svg').querySelectorAll('.c3-target-Cumulative-percentage');\n let Cumulativecircle = document.getElementById('chartProcess').querySelector('svg').querySelectorAll('.c3-circle');\n let circle = Array.from(Cumulativecircle);\n circle.forEach(function (element) {\n element.setAttribute(\"style\", \"fill:#e75632\")\n })\n\n let cumulativegraph = Array.from(Cumulative)\n cumulativegraph.forEach(function (element) {\n element.setAttribute(\"style\", \"fill:none\")\n })\n\n let image = '';\n\n htmlToImage.toPng(document.getElementById('chartProcess'),)\n .then(function (dataUrl) {\n var img = new Image();\n img.src = dataUrl;\n\n image = dataUrl;\n });\n setTimeout(() => {\n\n }, 500);\n\n let name: any;\n if (this.selectedReportType == ScoreCardTypeEnum.Department && this.departmentName) {\n name = this.departmentName;\n } else if ((!this.selectedReportType || this.selectedReportType == ScoreCardTypeEnum.Team) && this.TeamName) {\n name = this.TeamName;\n } else {\n name = \"Aggregate Report\";\n }\n\n setTimeout(() => {\n this.dorseyService.generateReportExcel(allData1, allData, image, this.companyName + '_Frustrations report by process' + \"_\" + (new Date().getMonth() + 1) + '-' + new Date().getDate() + '-' + new Date().getFullYear(), 'Frustrations report by process', \"Company: \" + this.companyName, this.selectedReportType ? this.selectedReportType + \": \" + name : 'Team' + \": \" + name, \"Frustrations report by process Report\", copyRight, 'FFFFFF00', 'FF0000FF');\n }, 2000);\n\n }\n\n ConstructReport() {\n this.metricList = [];\n this.frustData = [];\n this.categories = [];\n this.frust = [];\n this.rowsOnPageSet = [];\n this.rowsOnPage = 5;\n this.warningMsg = '';\n this.dynamicRows = 5;\n var values = [];\n var perito = [];\n var sum = 0;\n let procData: any;\n this.dorseyService.GetPointer(this.CompanyID).subscribe(pointer => {\n this.pointerData = JSON.parse(pointer['_body']);\n\n if (this.TeamID == 0)\n this.pointerData = this.pointerData.filter(entity1 => this.teamData.find(entity2 => entity1.TeamID == entity2.TeamID) && entity1.PointerTypeID == 1);\n else {\n this.pointerData = this.pointerData.filter(entity1 => entity1.TeamID == this.TeamID && entity1.PointerTypeID == 1);\n }\n\n this.totalCount = this.pointerData.length;\n\n this.dorseyService.GetProcess(this.CompanyID).subscribe(process => {\n this.processData = JSON.parse(process['_body'])\n if (this.TeamID == 0)\n this.processData = this.processData.filter(entity1 => this.teamData.find(entity2 => entity1.TeamID == entity2.TeamID));\n else {\n this.processData = this.processData.filter(entity1 => entity1.TeamID == this.TeamID);\n }\n\n if (this.totalCount) {\n\n for (let i = 0; i < this.processData.length; i++) {\n let data = this.pointerData.filter(x => x.ProcessID === this.processData[i].ProcessID);\n if (data.length > 0) {\n\n if (this.totalCount) {\n this.frustData.push(data);\n this.view['CategoryName'] = this.processData[i].ProcessName;\n if (Object.keys(this.categories).indexOf(this.processData[i].ProcessName) > -1) {\n this.categories[this.processData[i].ProcessID] = data.length;\n }\n else {\n this.categories[this.processData[i].ProcessName] = data.length;\n }\n\n for (let li = 0; li < data.length; li++) {\n this.metricList.push(data[li]);\n }\n sum = sum + data.length;\n this.frust.push({\n data: data,\n label: this.processData[i].ProcessName,\n value: data.length\n });\n\n this.frust.sort(function (obj1, obj2) {\n\n return obj2.value - obj1.value;\n });\n\n }\n\n }\n }\n } else {\n this.warningMsg = 'No data available';\n\n if (!this.metricList.length) {\n this.isDisable = false;\n this.disableSearch = false;\n }\n else {\n this.isDisable = true;\n this.disableSearch = true;\n }\n return;\n }\n\n if (this.metricList.length === 0) {\n this.isDisable = false;\n this.disableSearch = false;\n return;\n }\n else {\n this.isDisable = true;\n this.disableSearch = true;\n }\n\n let sortOrder = this.sortByValue(this.categories);\n\n let perVal = 0;\n this.categories = [];\n\n for (let v = 0; v < sortOrder.length; v++) {\n values.push(sortOrder[v][1]);\n\n let processFilter = this.processData.filter(x => x.ProcessID.toString() === sortOrder[v][0].toString());\n if (processFilter.length > 0) {\n this.categories.push(processFilter[0].ProcessName);\n }\n else {\n this.categories.push(sortOrder[v][0]);\n }\n perVal = perVal + sortOrder[v][1];\n perito.push((perVal / sum));\n }\n\n\n var obj = {\n 'Frustration Count': values,\n 'Cumulative percentage': perito\n };\n\n let chart = c3.generate({\n bindto: '#chartProcess',\n data: {\n json: obj,\n axes: {\n 'Cumulative percentage': 'y2'\n },\n type: 'bar',\n types: {\n\n 'Cumulative percentage': 'line',\n\n }, groups: [\n ['Frustration Count', 'Cumulative percentage']\n ]\n\n\n },\n\n title: {\n text: \"Processes\",\n padding: {\n top: 20,\n right: 20,\n bottom: 40,\n left: 50\n }\n },\n color: {\n pattern: ['#4aabe7', '#d55632']\n },\n legend: {\n show: true,\n position: \"right\"\n\n },\n\n axis: {\n x: {\n type: 'category',\n // label: 'Processes',\n\n // label: {\n // text: 'Processes',\n // position: 'outer-center'\n // },\n categories: this.categories,\n tick: {\n rotate: 50,\n multiline: false\n // multiline: true,\n // multilineMax:2\n },\n\n height: 100,\n },\n\n y: {\n //max :10,\n label: 'Frustration Count',\n tick: {\n\n\n format: d3.format('d'),\n //values: d3.ticks(0,values[0],values[0]/5)\n values: d3.ticks(0, sortOrder[0][1], sortOrder[0][1])\n }\n },\n y2: {\n show: true,\n label: 'Cumulative percentage',\n max: 1,\n min: 0,\n padding: { top: 3, bottom: 0 },\n tick: {\n format: d3.format(',.0%')\n }\n\n },\n\n }\n\n });\n this.rowCount = this.metricList.length;\n if (this.metricList.length === 0) {\n this.activityPaging = false;\n }\n else {\n this.saveFilter = JSON.parse(JSON.stringify(this.metricList));\n\n this.activityPaging = true;\n\n while (this.dynamicRows < this.rowCount) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 10;\n }\n if (!this.rowsOnPageSet.includes(this.rowCount)) this.rowsOnPageSet.push(this.rowCount);\n if (this.rowsOnPageSet.length === 1) {\n if (this.rowsOnPageSet[0] <= 10)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n\n }\n\n });\n\n\n });\n\n }\n\n\n sortByValue(jsObj) {\n var items = Object.keys(jsObj).map(function (key) {\n return [key, jsObj[key]];\n });\n items.sort(function (first, second) {\n return second[1] - first[1];\n });\n\n return items;\n\n }\n getData(data) {\n\n const dialogRef = this.dialog.open(ReportProcessDialogComponent, {\n width: '650px',\n data: { data: data }\n });\n\n dialogRef.afterClosed().subscribe(result => {\n\n });\n\n }\n}\n\n\n@Component({\n selector: 'app-dialog',\n templateUrl: './dialog.html',\n // styleUrls: ['dialog.css']\n})\nexport class ReportProcessDialogComponent implements OnInit {\n\n data: any;\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public dialogData: any) { }\n\n ngOnInit() {\n this.data = this.dialogData.data;\n\n }\n\n close(): void {\n this.dialogRef.close();\n }\n\n}\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { DorseyService } from '../dorsey.service';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\nimport * as c3 from 'c3';\nimport * as d3 from 'd3';\nimport { LocalStorageService } from 'ngx-webstorage';\nimport htmlToImage from 'html-to-image';\nimport { copyRight } from '../copyRight.model';\n\n@Component({\n selector: 'app-report-project',\n templateUrl: './report-project.component.html',\n // styleUrls: ['./report-project.component.scss'],\n providers: [DorseyService],\n inputs: ['dashboardProject', 'dashboardPro']\n})\nexport class ReportProjectComponent implements OnInit {\n copyRight: string = copyRight;\n pointerData: any;\n projectData: any;\n projectStatusData: any;\n\n frustData = [];\n frust = [];\n view = {};\n dataSource: Object;\n filterProjectData = [];\n searchtext: string = '';\n issueData: any;\n issueList = [];\n finalList = [];\n categories = [];\n totalCount = 0;\n dashboardProject = true;\n dashboardPro = true;\n warningMsg = '';\n p: number = 1;\n rowsOnPage = 10;\n rowsOnPageSet = [];\n rowCount: any;\n dynamicRows = 10;\n activityPaging = false;\n CompanyID: string;\n saveFilter: any;\n isDisable = false;\n projectbyStatus: any;\n wrng: string;\n disableSearch = false;\n UserTeamID: string;\n companyName: string;\n headerDate = new Date();\n copyDate: number;\n isDesc: boolean = false;\n column = \"\";\n direction: number;\n arrow = true;\n\n TeamName: string;\n EmployeeID: string;\n constructor(private dorseyService: DorseyService, private dialog: MatDialog, private storage: LocalStorageService) {\n this.UserTeamID = this.storage.retrieve('TeamID');\n this.companyName = sessionStorage.getItem('loginCompanyName');\n this.EmployeeID = this.storage.retrieve('EmployeeID');\n }\n\n ngOnInit() {\n this.CompanyID = this.storage.retrieve('companyID');\n this.GetPointer();\n this.GetProjects();\n this.GetProjectStatus();\n this.copyDate = (new Date()).getFullYear();\n }\n GetPointer() {\n this.finalList = [];\n this.GetProjects();\n this.dorseyService.GetPointer(this.CompanyID).subscribe(pointer => {\n this.pointerData = JSON.parse(pointer['_body']);\n if (this.pointerData.length > 0) {\n this.issueData = this.pointerData.filter(x => x.PointerTypeID === 1);\n }\n\n if (this.projectData) {\n for (let i = 0; i < this.projectData.length; i++) {\n if (this.issueData != undefined) {\n let data = this.issueData.filter(x => x.ProjectID != null && x.ProjectID === this.projectData[i].ProjectID);\n if (data.length > 0) {\n this.finalList.push({\n 'id': this.projectData[i].ProjectID,\n 'name': this.projectData[i].ProjectName,\n 'data': data,\n 'status': this.projectData[i].ProjectStatusName,\n 'team': this.projectData[i].TeamName,\n 'owner': this.projectData[i].ProjectOwner\n });\n } else {\n this.finalList.push({\n 'id': this.projectData[i].ProjectID,\n 'name': this.projectData[i].ProjectName,\n 'data': data,\n 'status': this.projectData[i].ProjectStatusName,\n 'team': this.projectData[i].TeamName,\n 'owner': this.projectData[i].ProjectOwner\n });\n }\n }\n else {\n this.finalList.push({\n 'id': this.projectData[i].ProjectID,\n 'name': this.projectData[i].ProjectName,\n 'status': this.projectData[i].ProjectStatusName,\n 'team': this.projectData[i].TeamName,\n 'owner': this.projectData[i].ProjectOwner\n });\n }\n }\n }\n this.rowCount = this.finalList.length;\n if (this.finalList.length === 0) {\n this.activityPaging = false;\n }\n else {\n this.saveFilter = JSON.parse(JSON.stringify(this.finalList));\n this.activityPaging = true;\n\n while (this.dynamicRows < this.rowCount) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 10;\n }\n if (!this.rowsOnPageSet.includes(this.rowCount)) this.rowsOnPageSet.push(this.rowCount);\n if (this.rowsOnPageSet.length == 1) {\n if (this.rowsOnPageSet[0] <= 10)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n }\n });\n }\n\n sort(property) {\n this.arrow = !this.arrow;\n this.isDesc = !this.isDesc; //change the direction\n this.column = property;\n this.direction = this.isDesc ? 1 : -1;\n }\n sortByValue(jsObj) {\n var items = Object.keys(jsObj).map(function (key) {\n return [key, jsObj[key]];\n });\n\n // Sort the array based on the second element\n items.sort(function (first, second) {\n return second[1] - first[1];\n });\n return items;\n }\n GetProjects() {\n this.dorseyService.GetProjects(this.CompanyID).subscribe(project => {\n this.projectData = JSON.parse(project['_body']);\n\n });\n }\n GetProjectStatus() {\n\n this.dorseyService.GetProjectStatus().subscribe(status => {\n this.projectStatusData = JSON.parse(status['_body']);\n this.dorseyService.GetProjects(this.CompanyID).subscribe(project => {\n this.projectData = JSON.parse(project['_body']);\n this.totalCount = this.projectData.length;\n var values = [];\n var perito = [];\n var sum = 0;\n\n if (this.projectData.length) {\n for (let i = 0; i < this.projectStatusData.length; i++) {\n\n let data = this.projectData.filter(x => x.ProjectStatusID === this.projectStatusData[i].ProjectStatusID);\n if (data.length > 0) {\n this.frustData.push(data);\n this.view['CategoryName'] = this.projectStatusData[i].ProjectStatusName;\n this.categories[this.projectStatusData[i].ProjectStatusName] = data.length;\n sum = sum + data.length;\n this.frust.push({\n 'data': data,\n 'label': this.projectStatusData[i].ProjectStatusName,\n 'value': data.length\n });\n this.frust.sort(function (obj1, obj2) {\n\n return obj2.value - obj1.value;\n });\n }\n }\n } else {\n this.warningMsg = 'No data available';\n return;\n }\n if (this.finalList.length === 0) {\n this.isDisable = false;\n this.disableSearch = false;\n }\n else {\n this.isDisable = true;\n this.disableSearch = true;\n }\n let sortOrder = this.sortByValue(this.categories);\n\n let perVal = 0;\n this.categories = [];\n for (let v = 0; v < sortOrder.length; v++) {\n values.push(sortOrder[v][1]);\n this.categories.push(sortOrder[v][0])\n perVal = perVal + sortOrder[v][1];\n perito.push((perVal / sum));\n\n }\n var obj = {\n 'Projects Count': values,\n 'Cumulative percentage': perito\n };\n let chart = c3.generate({\n bindto: '#chart',\n data: {\n json: obj,\n axes: {\n\n 'Cumulative percentage': 'y2'\n },\n type: 'bar',\n types: {\n\n 'Cumulative percentage': 'line',\n\n }, groups: [\n ['Projects Count', 'Cumulative percentage']\n ]\n },\n\n title: {\n text: \"Project Status\",\n padding: {\n top: 20,\n right: 20,\n bottom: 40,\n left: 50\n }\n },\n color: {\n pattern: ['#4aabe7', '#d55632']\n },\n\n legend: {\n show: true,\n position: \"right\"\n\n },\n axis: {\n x: {\n type: 'category',\n\n categories: this.categories,\n tick: {\n rotate: 50,\n multiline: false\n },\n height: 100\n },\n y: {\n\n label: 'Projects Count',\n tick: {\n format: d3.format('d'),\n values: d3.ticks(0, sortOrder[0][1], sortOrder[0][1])\n }\n },\n y2: {\n show: true,\n label: 'Cumulative percentage',\n max: 1,\n min: 0,\n padding: { top: 3, bottom: 0 },\n tick: {\n format: d3.format(',.0%')\n }\n\n },\n\n }\n\n });\n });\n\n });\n\n }\n\n Searchtext() {\n this.projectbyStatus = [];\n this.projectbyStatus = this.saveFilter;\n let tempprojectbystatus = this.projectbyStatus.filter(\n (item) => {\n return (\n (item.team != null && item.team.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.name != null && item.name.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.status != null && item.status.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.owner != null && item.owner.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.data != null && (item.data.filter(\n (da) => {\n return (\n da.ProcessName != null && da.ProcessName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1\n || da.ActivityName != null && da.ActivityName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1\n || da.StatusName != null && da.StatusName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1\n || da.Description != null && da.Description.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1\n || da.Subject != null && da.Subject.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1\n || da.PointerID != null && da.PointerID.toString().indexOf(this.searchtext) > -1\n )\n\n }\n )\n )\n ).length\n )\n }\n );\n\n this.finalList = tempprojectbystatus;\n if (this.finalList.length == 0) {\n setTimeout(() => {\n this.wrng = \"No data available\";\n }, 100);\n this.isDisable = false;\n } else {\n this.isDisable = true;\n }\n if (this.searchtext === '') {\n this.projectbyStatus = this.saveFilter;\n this.dynamicRows = 10;\n this.rowsOnPageSet = [];\n this.rowCount = this.projectbyStatus.length;\n while (this.dynamicRows < this.rowCount) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 10;\n }\n if (!this.rowsOnPageSet.includes(this.rowCount))\n this.rowsOnPageSet.push(this.rowCount);\n if (this.rowsOnPageSet) {\n\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n this.isDisable = true;\n } else {\n this.rowCount = tempprojectbystatus.length;\n this.dynamicRows = 10;\n this.rowsOnPageSet = [];\n while (this.dynamicRows < this.rowCount) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 10;\n }\n if (!this.rowsOnPageSet.includes(this.rowCount)) {\n this.rowsOnPageSet.push(this.rowCount);\n if (this.rowsOnPageSet)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n\n if (this.rowsOnPageSet.length === 1) {\n if (this.rowsOnPageSet[0] <= 10)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n }\n }\n\n exportAsXLSX(): void {\n let allData = JSON.parse(JSON.stringify(this.finalList));\n for (let i = 0; i < allData.length; i++) {\n delete (allData[i].id);\n allData[i][\" No. \"] = i + 1;\n allData[i]['Project Team'] = allData[i].team;\n allData[i].Project = allData[i].name;\n allData[i]['Project Status'] = allData[i].status;\n allData[i]['Project Owner'] = allData[i].owner;\n delete allData[i].status;\n delete allData[i].team;\n delete allData[i].owner;\n delete allData[i].name;\n let teamName = '';\n let processName = '';\n let IssueStatus = '';\n let subject = '';\n let Description = '';\n let PointerID = '';\n if (allData[i].data) {\n let Data = allData[i].data;\n for (let i = 0; i < Data.length; i++) {\n teamName = teamName + Data[i].TeamName + '\\n';\n processName = processName + Data[i].ProcessName + '\\n';\n IssueStatus = IssueStatus + Data[i].StatusName + '\\n';\n subject = subject + Data[i].Subject + '\\n';\n Description = Description + Data[i].Description + '\\n';\n }\n allData[i]['Frustration Team'] = teamName;\n allData[i].Process = processName;\n allData[i].Frustration = subject;\n allData[i].Description = Description;\n allData[i].Status = IssueStatus;\n delete allData[i].data;\n delete allData[i].IssueID;\n }\n\n }\n let projectTypeCountData = JSON.parse(JSON.stringify(this.frust));\n for (let i = 0; i < projectTypeCountData.length; i++) {\n projectTypeCountData[i].label = this.frust[i].label;\n projectTypeCountData[i].value = this.frust[i].value;\n delete (projectTypeCountData[i].data);\n }\n let Cumulative = document.getElementById('chart').querySelector('svg').querySelectorAll('.c3-target-Cumulative-percentage');\n let Cumulativecircle = document.getElementById('chart').querySelector('svg').querySelectorAll('.c3-circle');\n\n let circle = Array.from(Cumulativecircle);\n circle.forEach(function (element) {\n element.setAttribute(\"style\", \"fill:#e75632\")\n })\n\n let cumulativegraph = Array.from(Cumulative)\n cumulativegraph.forEach(function (element) {\n element.setAttribute(\"style\", \"fill:none\")\n })\n let image = '';\n htmlToImage.toPng(document.getElementById('chart'),)\n .then(function (dataUrl) {\n var img = new Image();\n img.src = dataUrl;\n image = dataUrl;\n });\n let team: any;\n team = '';\n\n setTimeout(() => {\n this.dorseyService.generateReportExcel(projectTypeCountData, allData, image, this.companyName + '_Project report by status' + \"_\" + (new Date().getMonth() + 1) + '-' + new Date().getDate() + '-' + new Date().getFullYear(), 'Project report by status', \"Company: \" + this.companyName, team, \"Project report by status Report\", copyRight, 'FFFFFF00', 'FF0000FF');\n }, 2000);\n }\n\n getData(data) {\n const dialogRef = this.dialog.open(ReportProjectDialogComponent, {\n width: '750px',\n data: { data, data1: this.finalList }\n });\n dialogRef.componentInstance.final = this.finalList;\n dialogRef.afterClosed().subscribe(result => {\n });\n }\n}\n\n\n@Component({\n selector: 'app-dialog',\n templateUrl: './dialog.html',\n // styleUrls: ['dialog.css']\n})\nexport class ReportProjectDialogComponent implements OnInit {\n\n data: any;\n final: any;\n data1 = [];\n dataMismatch = [];\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public dialogData: any) { }\n\n ngOnInit() {\n this.data = this.dialogData.data;\n for (let j = 0; j < this.data.length; j++) {\n if (this.final.length > 0) {\n let dataCompare = this.final.filter(x => x.id === this.data[j].ProjectID);\n if (dataCompare.length > 0) {\n this.data1.push({\n 'status': dataCompare[0].status,\n 'name': dataCompare[0].name,\n 'data': dataCompare[0].data\n });\n }\n else {\n this.data1.push({\n 'status': this.data[j].ProjectStatusName,\n 'name': this.data[j].ProjectName,\n });\n }\n }\n else {\n this.data1.push({\n 'status': this.data[j].ProjectStatusName,\n 'name': this.data[j].ProjectName,\n\n });\n }\n }\n }\n\n close(): void {\n this.dialogRef.close();\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { DorseyService } from '../dorsey.service';\n\n@Component({\n selector: 'app-reports',\n templateUrl: './reports.component.html',\n // styleUrls: ['./reports.component.scss'],\n providers: [DorseyService]\n})\nexport class ReportsComponent implements OnInit {\n index = 0;\n reportData: any;\n ReportID;\n constructor(private router: Router, private dorseyService: DorseyService) { }\n\n ngOnInit() {\n this.GetReport();\n this.ReportID = 1;\n }\n onLinkClick(event) {\n this.index = event.index;\n }\n GetReport() {\n this.dorseyService.GetReport().subscribe(report => {\n this.reportData = JSON.parse(report[\"_body\"]);\n\n });\n\n }\n report(event) {\n this.ReportID = event.value;\n }\n}\n","module.exports = \".close {\\n color: #aaaaaa;\\n float: right;\\n font-size: 28px;\\n font-weight: bold;\\n cursor: pointer;\\n margin-right: -2px;\\n margin-top: -10px;\\n top: 0;\\n right: 0;\\n}\\n\\nbutton {\\n background-color: gray;\\n color: white;\\n}\\n\\n.borderless td, .borderless th {\\n border: none;\\n}\\n\\n#container {\\n display: flex;\\n margin: 0;\\n margin-top: -10px;\\n margin-bottom: -10px;\\n padding: 0;\\n justify-content: space-between;\\n}\\n\\n#heading {\\n flex: 1;\\n}\\n\\n#wrapper {\\n flex: 2;\\n}\\n\\n#tableActions {\\n display: flex;\\n justify-content: center;\\n}\\n\\n#field, #buttonview {\\n margin: 2%;\\n}\\n\\n/* #searchField{\\n width: 100%;\\n} */\\n\\n.alignheader {\\n text-align: center;\\n}\\n\\n/********For Mobile view ********/\\n\\n@media (max-width: 576px) {\\n * {\\n box-sizing: border-box;\\n }\\n\\n table {\\n margin: 2%;\\n }\\n\\n #container {\\n display: flex;\\n margin: 0;\\n padding: 0;\\n flex-direction: column;\\n justify-content: center;\\n /* align-items: center;; */\\n margin: 2%;\\n }\\n\\n #wrapper {\\n width: 100%;\\n }\\n\\n #tableActions {\\n display: flex;\\n width: 100%;\\n flex-direction: column;\\n justify-content: center;\\n }\\n\\n #searchField {\\n width: 100%;\\n }\\n\\n .btn {\\n width: 100%;\\n }\\n\\n .mappings {\\n min-width: 280px;\\n min-height: 75px;\\n }\\n\\n /* #createBtn{\\n width: 100%;\\n\\n } */\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcm9sZXMvRjpcXE5pa2lsIFdvcmtcXFByb2plY3RzXFxEb3JzZXlcXEhpZXJhcmNoeSBTb3VyY2UgQ29kZVxcV29ya2luZ1xcZG9yc2V5R3JvdXAvc3JjXFxhcHBcXHJvbGVzXFxkaWFsb2cuc2NzcyIsInNyYy9hcHAvcm9sZXMvZGlhbG9nLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxjQUFBO0VBQ0EsWUFBQTtFQUNBLGVBQUE7RUFDQSxpQkFBQTtFQUNBLGVBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBO0VBQ0MsTUFBQTtFQUNBLFFBQUE7QUNDTDs7QURFQTtFQUNJLHNCQUFBO0VBQ0EsWUFBQTtBQ0NKOztBREVBO0VBQ0ksWUFBQTtBQ0NKOztBREdBO0VBQ0ksYUFBQTtFQUNBLFNBQUE7RUFDQSxpQkFBQTtFQUNBLG9CQUFBO0VBQ0EsVUFBQTtFQUNBLDhCQUFBO0FDQUo7O0FESUE7RUFDSSxPQUFBO0FDREo7O0FER0E7RUFDQSxPQUFBO0FDQUE7O0FERUE7RUFDQSxhQUFBO0VBRUEsdUJBQUE7QUNBQTs7QURJQTtFQUNJLFVBQUE7QUNESjs7QURLQTs7R0FBQTs7QUFJQTtFQUNJLGtCQUFBO0FDSEo7O0FETUMsaUNBQUE7O0FBQ0E7RUFDRztJQUNJLHNCQUFBO0VDSE47O0VETUU7SUFDSSxVQUFBO0VDSE47O0VETUM7SUFDSSxhQUFBO0lBQ0EsU0FBQTtJQUNBLFVBQUE7SUFDQSxzQkFBQTtJQUNBLHVCQUFBO0lBQ0MsMEJBQUE7SUFDRCxVQUFBO0VDSEw7O0VET0M7SUFDSSxXQUFBO0VDSkw7O0VET0M7SUFDQSxhQUFBO0lBQ0EsV0FBQTtJQUNBLHNCQUFBO0lBQ0EsdUJBQUE7RUNKRDs7RURZQztJQUNJLFdBQUE7RUNUTDs7RURZQTtJQUNLLFdBQUE7RUNUTDs7RURZQztJQUNDLGdCQUFBO0lBQ0EsZ0JBQUE7RUNURjs7RURXRTs7O0tBQUE7QUNMSiIsImZpbGUiOiJzcmMvYXBwL3JvbGVzL2RpYWxvZy5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNsb3NlIHtcclxuICAgIGNvbG9yOiAjYWFhYWFhO1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgZm9udC1zaXplOiAyOHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IC0ycHg7XHJcbiAgICBtYXJnaW4tdG9wOiAtMTBweDtcclxuICAgICB0b3A6MDtcclxuICAgICByaWdodDowO1xyXG59XHJcblxyXG5idXR0b257XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmF5O1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG59XHJcblxyXG4uYm9yZGVybGVzcyB0ZCwgLmJvcmRlcmxlc3MgdGgge1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgXHJcbn1cclxuXHJcbiNjb250YWluZXJ7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgbWFyZ2luLXRvcDogLTEwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAtMTBweDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgIFxyXG5cclxufVxyXG4jaGVhZGluZ3tcclxuICAgIGZsZXg6IDE7XHJcbn1cclxuI3dyYXBwZXJ7XHJcbmZsZXg6IDI7XHJcbn1cclxuI3RhYmxlQWN0aW9uc3tcclxuZGlzcGxheTogZmxleDtcclxuXHJcbmp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxufVxyXG5cclxuI2ZpZWxkLCAjYnV0dG9udmlld3tcclxuICAgIG1hcmdpbjogMiU7XHJcbiAgICBcclxufVxyXG5cclxuLyogI3NlYXJjaEZpZWxke1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn0gKi9cclxuXHJcbi5hbGlnbmhlYWRlciB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbiAvKioqKioqKipGb3IgTW9iaWxlIHZpZXcgKioqKioqKiovXHJcbiBAbWVkaWEgKG1heC13aWR0aDo1NzZweCl7XHJcbiAgICAqe1xyXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICB9XHJcblxyXG4gICAgdGFibGV7XHJcbiAgICAgICAgbWFyZ2luOiAyJTtcclxuICAgIH1cclxuXHJcbiAgICNjb250YWluZXJ7XHJcbiAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgcGFkZGluZzogMDtcclxuICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAvKiBhbGlnbi1pdGVtczogY2VudGVyOzsgKi9cclxuICAgICAgIG1hcmdpbjogMiU7XHJcbiAgIFxyXG4gICB9XHJcblxyXG4gICAjd3JhcHBlcntcclxuICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICB9XHJcbiAgIFxyXG4gICAjdGFibGVBY3Rpb25ze1xyXG4gICBkaXNwbGF5OiBmbGV4O1xyXG4gICB3aWR0aDogMTAwJTtcclxuICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgIFxyXG4gICB9XHJcbiAgICAjaGVhZGluZ3tcclxuICAgICAgIFxyXG4gICAgICBcclxuICAgfVxyXG4gICBcclxuICAgI3NlYXJjaEZpZWxke1xyXG4gICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICBcclxuICAgfVxyXG4gIC5idG57XHJcbiAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgIFxyXG4gICB9XHJcbiAgIC5tYXBwaW5ncyB7XHJcbiAgICBtaW4td2lkdGg6IDI4MHB4O1xyXG4gICAgbWluLWhlaWdodDogNzVweDtcclxuICAgfVxyXG4gICAgLyogI2NyZWF0ZUJ0bntcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgIFxyXG4gICAgfSAqL1xyXG59XHJcbiIsIi5jbG9zZSB7XG4gIGNvbG9yOiAjYWFhYWFhO1xuICBmbG9hdDogcmlnaHQ7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbWFyZ2luLXJpZ2h0OiAtMnB4O1xuICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbn1cblxuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogZ3JheTtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4uYm9yZGVybGVzcyB0ZCwgLmJvcmRlcmxlc3MgdGgge1xuICBib3JkZXI6IG5vbmU7XG59XG5cbiNjb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi10b3A6IC0xMHB4O1xuICBtYXJnaW4tYm90dG9tOiAtMTBweDtcbiAgcGFkZGluZzogMDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4jaGVhZGluZyB7XG4gIGZsZXg6IDE7XG59XG5cbiN3cmFwcGVyIHtcbiAgZmxleDogMjtcbn1cblxuI3RhYmxlQWN0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4jZmllbGQsICNidXR0b252aWV3IHtcbiAgbWFyZ2luOiAyJTtcbn1cblxuLyogI3NlYXJjaEZpZWxke1xuICAgIHdpZHRoOiAxMDAlO1xufSAqL1xuLmFsaWduaGVhZGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vKioqKioqKipGb3IgTW9iaWxlIHZpZXcgKioqKioqKiovXG5AbWVkaWEgKG1heC13aWR0aDogNTc2cHgpIHtcbiAgKiB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIHRhYmxlIHtcbiAgICBtYXJnaW46IDIlO1xuICB9XG5cbiAgI2NvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIC8qIGFsaWduLWl0ZW1zOiBjZW50ZXI7OyAqL1xuICAgIG1hcmdpbjogMiU7XG4gIH1cblxuICAjd3JhcHBlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAjdGFibGVBY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAjc2VhcmNoRmllbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmJ0biB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAubWFwcGluZ3Mge1xuICAgIG1pbi13aWR0aDogMjgwcHg7XG4gICAgbWluLWhlaWdodDogNzVweDtcbiAgfVxuXG4gIC8qICNjcmVhdGVCdG57XG4gICAgICB3aWR0aDogMTAwJTtcblxuICB9ICovXG59Il19 */\"","import { Component, OnInit, Inject } from '@angular/core';\nimport { DorseyService } from '../dorsey.service';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { LocalStorageService } from 'ngx-webstorage';\nimport { copyRight } from '../copyRight.model';\n\n@Component({\n selector: 'app-roles',\n templateUrl: './roles.component.html',\n})\nexport class RolesComponent implements OnInit {\n userRoleAssign: any;\n userData: any;\n pageName = \"\";\n index = 0;\n roleData: any;\n p: number = 1;\n rowsOnPage = 10;\n rowsOnPageSet = [];\n rowCount: any;\n dynamicRows = 10;\n isDesc: boolean = false;\n column = \"\";\n direction: number;\n arrow = true;\n processPaging = true;\n saveFilter = [];\n tempRoleData: any;\n Roles = [];\n status = false;\n headerText: string;\n RoleName: any;\n RoleDescription: any;\n searchtext = '';\n CompanyID: string;\n roleID: string;\n rowID: string;\n PermissonJosn: any;\n granualPermissions = {};\n isDisable = false;\n disableSearch = false;\n condition = false;\n CurrentUser: string;\n MenuJson: any;\n MenuPermissions: any;\n menuData: any;\n menuID: string;\n menuName: string;\n menuRoleID: string;\n gruanualEdit: any;\n emproleID: any;\n compRoleID: any;\n activities: any;\n processes: any;\n ReadOnlyRoleID: any;\n userTeamID: any;\n loginCompanyName: any;\n TeamAdminRoleID: any;\n TeamMemberRoleID: any;\n employeeData: any;\n companyRole: any;\n empID: any;\n TeamName: string;\n teamData: any;\n userRoleAssignmentData: any;\n rolesData: any;\n UserID: any;\n isScoreCardEnable: boolean = false;\n constructor(private dorsey: DorseyService, private dialog: MatDialog, private storage: LocalStorageService) {\n this.CurrentUser = this.storage.retrieve('user');\n this.menuData = this.storage.retrieve('menuData');\n this.MenuPermissions = this.storage.retrieve('MenuPermissions');\n this.menuRoleID = this.storage.retrieve('RoleID');\n this.emproleID = this.storage.retrieve('EmpRoleID');\n this.compRoleID = localStorage.getItem('companyRoleID');\n this.CompanyID = this.storage.retrieve('companyID');\n this.userTeamID = this.storage.retrieve('TeamID');\n this.empID = this.storage.retrieve('EmployeeID');\n\n this.ReadOnlyRoleID = this.storage.retrieve('ReadOnlyRoleID');\n this.TeamAdminRoleID = this.storage.retrieve('TeamAdminRoleID');\n this.TeamMemberRoleID = this.storage.retrieve('TeamMemberRoleID');\n this.isScoreCardEnable = this.storage.retrieve('isScoreCardEnable');\n this.UserID = this.storage.retrieve('UserID');\n\n this.loginCompanyName = this.storage.retrieve('loginCompanyName');\n\n }\n\n ngOnInit() {\n\n this.GetEmployee();\n this.GetProcess();\n this.GetActivities();\n this.GetUserROleAssignment();\n this.getTeam();\n this.GetUserRoleAssignment();\n\n this.menuData = this.menuData.filter(x => x.MenuName.toString().toLowerCase() === 'roles');\n\n if (this.menuData.length > 0) {\n this.menuName = this.menuData[0][\"MenuName\"];\n this.menuID = this.menuData[0][\"MenuID\"];\n }\n this.dorsey.GetRoles(this.CompanyID).subscribe(roles => {\n this.Roles = JSON.parse(roles['_body']);\n });\n this.GetRoles();\n }\n\n CreateRole(type: string) {\n this.dialogCall(type);\n }\n\n\n GetProcess() {\n this.dorsey.GetSelectedRolesData(this.CompanyID, \"0\", 'KeyProcess').subscribe(process => {\n this.processes = JSON.parse(process['_body']);\n });\n }\n\n GetUserROleAssignment() {\n this.dorsey.GetUserRoleAssignment().subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.userRoleAssign = subData;\n });\n }\n GetActivities() {\n this.dorsey.GetSelectedRolesActivityData(this.CompanyID, \"0\", 'Activities').subscribe(activity => {\n this.activities = JSON.parse(activity['_body']);\n });\n }\n\n\n dialogCall(msg: string) {\n const dialogRef = this.dialog.open(RolePermissionsDiaglogComponent, {\n panelClass: 'custom-dialog-container',\n data: msg + 'æææ' + false,\n // width: '50%',\n });\n\n\n dialogRef.componentInstance.tempRoleData = this.tempRoleData;\n dialogRef.componentInstance.roleData = this.roleData;\n dialogRef.componentInstance.CompanyID = this.CompanyID;\n dialogRef.componentInstance.CurrentUser = this.CurrentUser;\n\n dialogRef.componentInstance.menuRoleID = this.menuRoleID;\n dialogRef.componentInstance.rowID = this.rowID;\n dialogRef.componentInstance.editedPerissions = this.PermissonJosn;\n dialogRef.componentInstance.MenuJson = this.MenuJson;\n dialogRef.componentInstance.processes = this.processes;\n dialogRef.componentInstance.activities = this.activities;\n dialogRef.componentInstance.roleID = this.roleID;\n dialogRef.componentInstance.isScoreCardEnable = this.isScoreCardEnable;\n\n if (msg === 'edit') {\n this.status = true;\n this.headerText = 'Edit Role';\n\n dialogRef.componentInstance.granualEdit = this.gruanualEdit;\n dialogRef.componentInstance.RoleName = this.RoleName;\n dialogRef.componentInstance.RoleDescription = this.RoleDescription;\n dialogRef.componentInstance.roleID = this.roleID;\n }\n\n if (msg === 'new') {\n this.searchtext = '';\n this.GetRoles();\n }\n\n\n dialogRef.afterClosed().subscribe(result => {\n\n if (this.searchtext !== '' && this.searchtext !== undefined) {\n this.Searchtext();\n }\n else {\n this.GetRoles();\n }\n\n if (result && result.toString() === 'true') {\n let statusMsg = '';\n if (msg === 'new') {\n\n statusMsg = 'Saved successfully';\n } else {\n\n statusMsg = 'Updated successfully';\n }\n\n this.GetRoles();\n const dialogsRefsub = this.dialog.open(RolePermissionsDiaglogComponent, {\n panelClass: 'custom-dialog-container',\n data: statusMsg + 'æææ' + false,\n // width: '30%'\n });\n\n setTimeout(() => {\n this.GetRoles();\n }, 500);\n dialogsRefsub.afterClosed().subscribe(result1 => {\n this.ifMaxRowAdd();\n this.dynamicRows = 10;\n // this.rowsOnPageSet=[];\n\n if (this.searchtext !== '') {\n this.Searchtext();\n }\n else {\n this.GetRoles();\n }\n });\n }\n });\n }\n Searchtext() {\n this.roleData = this.saveFilter;\n let teamRoles = this.roleData.filter(\n (item) => {\n return (\n (item.RoleName !== null && item.RoleName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1)\n || (item.RoleDescription !== null && item.RoleDescription.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1));\n }\n\n );\n this.roleData = teamRoles;\n\n if (this.roleData.length == 0) {\n this.isDisable = true;\n } else {\n this.isDisable = false;\n }\n if (this.searchtext === '') {\n this.roleData = this.saveFilter;\n this.rowCount = this.roleData.length;\n this.isDisable = false;\n this.getRolePagination(this.rowCount);\n }\n else {\n this.rowCount = teamRoles.length;\n this.getRolePagination(this.rowCount);\n if (this.rowsOnPageSet.length === 1) {\n if (this.rowsOnPageSet[0] <= 10)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n }\n\n }\n\n getRolePagination(RowCount): void {\n this.dynamicRows = 10;\n this.rowsOnPageSet = [];\n this.rowsOnPage = 10;\n this.rowCount = RowCount;\n while (this.dynamicRows < this.rowCount) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 10;\n }\n if (!this.rowsOnPageSet.includes(this.rowCount)) {\n this.rowsOnPageSet.push(this.rowCount);\n if (this.rowsOnPageSet.length === 1) {\n if (this.rowsOnPageSet[0] <= 10)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n }\n }\n GetUserRoleAssignment() {\n this.dorsey.GetUserRoleAssignment().subscribe(userRoles => {\n this.userRoleAssignmentData = JSON.parse(userRoles['_body']);\n this.dorsey.GetRoles(this.CompanyID).subscribe(users => {\n this.rolesData = JSON.parse(users['_body']);\n if (this.empID.toString() !== '0') {\n let roles = this.userRoleAssignmentData.filter(x => x.UserID === this.UserID);\n if (roles.length > 0) {\n this.emproleID = roles[0].RoleID;\n let roleData = this.rolesData.filter(x => x.RoleID === this.emproleID);\n if (roleData.length > 0) {\n this.MenuPermissions = JSON.parse(roleData[0].MenuJson);\n }\n\n }\n }\n });\n });\n }\n GetEmployee() {\n this.dorsey.GetEmployee(this.CompanyID).subscribe(subData => {\n\n subData = JSON.parse(subData['_body']);\n this.employeeData = subData;\n\n if (this.empID.toString() !== '0') {\n let filterEmp = this.employeeData.filter(x => x.EmployeeID === this.empID);\n if (filterEmp.length > 0) {\n this.userTeamID = filterEmp[0].TeamID;\n }\n }\n });\n }\n exportAsXLSX() {\n let allData = JSON.parse(JSON.stringify(this.roleData));\n for (let i = 0; i < allData.length; i++) {\n allData[i].Role = allData[i].RoleName;\n allData[i].Description = allData[i].RoleDescription;\n delete (allData[i].CompanyID);\n delete (allData[i].RowID);\n delete (allData[i].RoleID);\n delete (allData[i].UpdatedBy);\n delete (allData[i].UpdatedDate);\n delete (allData[i].CreatedBy);\n delete (allData[i].CreatedDate);\n delete (allData[i].IsActive);\n delete (allData[i].MenuJson);\n delete (allData[i].PermissionJson);\n delete (allData[i].RoleName);\n delete (allData[i].RoleDescription);\n }\n\n\n this.dorsey.generateExcel(allData, this.loginCompanyName + '_roles' + \"_\" + (new Date().getMonth() + 1) + '-' + new Date().getDate() + '-' + new Date().getFullYear(), 'Roles', \"Company: \" + this.loginCompanyName, '', 'Roles Report', copyRight, 'FFFFFF00', 'FF0000FF');\n }\n getTeam() {\n this.TeamName = '';\n this.dorsey.GetTeam(this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.teamData = subData;\n let tempData = this.teamData.filter(x => x.TeamID === this.userTeamID);\n if (tempData.length > 0) {\n this.TeamName = tempData[0].TeamName;\n }\n });\n }\n\n GetRoles() {\n this.roleData = [];\n this.dorsey.GetRoles(this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.dorsey.GetUsersList().subscribe(users => {\n this.userData = JSON.parse(users['_body']);\n this.roleData = subData;\n this.tempRoleData = subData;\n this.dynamicRows = 10;\n this.rowsOnPageSet = [];\n if (this.roleData.length === 0) {\n this.processPaging = false;\n this.isDisable = true;\n this.disableSearch = true;\n }\n else {\n if (this.userTeamID !== \"0\" && this.userTeamID !== null && this.CompanyID.toString() !== \"0\") {\n let data = this.userData.filter(x => x.CompanyID === this.CompanyID);\n this.companyRole = data;\n if (data.length > 0) {\n let assignROle = this.userRoleAssign.filter(x => x.UserID === data[0].UserID);\n if (assignROle.length > 0) {\n let roles = this.roleData.filter(x => x.RoleID != assignROle[0].RoleID);\n this.roleData = roles;\n let filterROle = this.roleData.filter(x => x.RoleName === \"Team Admin\" && x.RoleID === this.emproleID);\n if (filterROle.length > 0) {\n }\n else {\n let adminRole = this.roleData.filter(x => x.RoleID !== this.TeamAdminRoleID);\n this.roleData = adminRole;\n let memberRole = adminRole.filter(x => x.RoleName === \"Team Member\" && x.RoleID === this.emproleID)\n if (memberRole.length > 0) {\n }\n else {\n let emproles = adminRole.filter(x => x.RoleID === this.emproleID);\n if (emproles.length > 0) {\n this.roleData = emproles\n }\n else {\n this.roleData = adminRole;\n }\n }\n }\n\n }\n }\n this.rowCount = this.roleData.length;\n this.saveFilter = JSON.parse(JSON.stringify(this.roleData));\n this.processPaging = true;\n this.isDisable = false;\n this.disableSearch = false;\n\n this.getRolePagination(this.rowCount);\n\n }\n else {\n this.rowCount = this.roleData.length;\n this.saveFilter = JSON.parse(JSON.stringify(this.roleData));\n this.processPaging = true;\n this.isDisable = false;\n this.disableSearch = false;\n this.getRolePagination(this.rowCount);\n\n }\n }\n });\n });\n }\n\n sort(property) {\n this.arrow = !this.arrow;\n this.isDesc = !this.isDesc; //change the direction \n this.column = property;\n this.direction = this.isDesc ? 1 : -1;\n }\n\n EditRole(element) {\n this.RoleName = element.RoleName;\n this.RoleDescription = element.RoleDescription;\n this.roleID = element.RoleID;\n this.MenuJson = element.PermissionJson;\n this.gruanualEdit = element.PermissionJson;\n this.rowID = element.RowID;\n this.PermissonJosn = element.MenuJson;\n this.dialogCall('edit');\n }\n\n ifMaxRowDelete() {\n if (this.rowsOnPage == this.roleData.length) {\n this.rowsOnPage = this.rowsOnPage - 1;\n }\n }\n\n ifMaxRowAdd() {\n if (this.rowsOnPage == this.roleData.length) {\n this.rowsOnPage = this.rowsOnPage + 1;\n }\n }\n\n DeleteRole(element) {\n this.rowID = element.RowID;\n const dialogRef = this.dialog.open(RolePermissionsDiaglogComponent, {\n panelClass: 'custom-dialog-container',\n data: 'Are you sure you want to delete role: ' + element.RoleName + '?æææ' + true,\n });\n\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n let issueCount = 0\n for (let i = 0; i < this.employeeData.length; i++) {\n if (element.RoleID == this.employeeData[i].RoleID) {\n issueCount++;\n }\n }\n if (!issueCount) {\n this.dorsey.DeleteRole(this.rowID).subscribe(data => {\n if (data.ok) {\n this.ifMaxRowDelete();\n this.condition = true;\n this.dialogCall('Deleted successfully');\n }\n this.dynamicRows = 10;\n this.rowsOnPageSet = [];\n this.GetRoles();\n\n });\n } else {\n this.dialogCall(\"This role is in use\");\n }\n }\n });\n }\n}\n\n@Component({\n selector: 'app-role-dialog',\n templateUrl: './dialog.html',\n styleUrls: ['./dialog.scss']\n})\n\nexport class RolePermissionsDiaglogComponent implements OnInit {\n tempRoleData: any;\n CurrentUser: string;\n dataSelf: string;\n condition = false;\n teams = [];\n processes = [];\n activities = [];\n MainJson = {};\n MainJosnIds = {};\n teamCheckList = [];\n processCheckList = [];\n activityCheckList = [];\n mapCheck = false;\n showGranual = false;\n roleData: any;\n RoleName: any;\n RoleDescription: any;\n CompanyID: string;\n permissionsList = ['R', 'C', 'U', 'D'];\n teamList = [];\n processList = [];\n activityList = [];\n mapList = [];\n checkedList: any;\n checkedList2 = [];\n checkedList3: any;\n perDict = [];\n checkedList4 = [];\n PermissonJosn = {};\n\n granual = {};\n editedPerissions: any;\n MenuJson: any;\n MapPermission = {};\n TeamPermisson = {};\n ProcessPermissons = {};\n ActivityPermissions = {};\n menuPermissions = {};\n memuKeys = {};\n MapKeys = {};\n TeamKeys = {};\n ProcessKeys = {};\n activityKeys = {};\n menuRoleID: string;\n companyMenuKeys = { R: false, C: false, U: false, D: false };\n teamMenuKeys = { R: false, C: false, U: false, D: false };\n EmployeeMenuKeys = { R: false, C: false, U: false, D: false };\n ProcessMapMenuKeys = { R: false, C: false, U: false, D: false };\n processMenuKeys = { R: false, C: false, U: false, D: false };\n activityMenuKeys = { R: false, C: false, U: false, D: false };\n metricMenuKeys = { R: false, C: false, U: false, D: false };\n frustrationMenuKeys = { R: false, C: false, U: false, D: false };\n projectsMenuKeys = { R: false, C: false, U: false, D: false };\n casesMenuKeys = { R: false, C: false, U: false, D: false };\n ReportsMenuKeys = { R: false, C: false, U: false, D: false };\n rolesMenuKeys = { R: false, C: false, U: false, D: false };\n frustrationsTypeMenuKeys = { R: false, C: false, U: false, D: false };\n alertTypeMenukeys = { R: false, C: false, U: false, D: false };\n metricTableMenuKeys = { R: false, C: false, U: false, D: false };\n userManualMenuKeys = { R: false, C: false, U: false, D: false };\n\n departmentMenuKeys = { R: false, C: false, U: false, D: false };\n goalMenuKeys = { R: false, C: false, U: false, D: false };\n scoreCardMenuKeys = { R: false, C: false, U: false, D: false };\n quarterMenuKeys = { R: false, C: false, U: false, D: false };\n\n mapGranualKeys = { R: false, C: false, U: false, D: false };\n processGranualkeys = { R: false, C: false, U: false, D: false };\n activitiesGranualKeys = { R: false, C: false, U: false, D: false };\n teamGranualKeys = { R: false, C: false, U: false, D: false };\n\n companyMenuPermissions = {};\n teamMenuPermissions = {};\n EmployeeMenuPermissions = {};\n ProcessMapMenuPermissions = {};\n processMenuPermissions = {};\n activityMenuPermissions = {};\n metricMenuPermissions = {};\n frustrationMenuPermissions = {};\n projectsMenuPermissions = {};\n casesMenuPermissions = {};\n ReportsMenuPermissions = {};\n rolesMenuPermissions = {};\n frustrationsTypeMenuPermissions = {};\n alertTypeMenyPermissions = {};\n metricTableMenuPermissions = {};\n userManualTableMenuPermissions = {};\n departmentTableMenuPermissions = {};\n goalTableMenuPermissions = {};\n scoreCardTableMenuPermissions = {};\n quarterTableMenuPermissions = {};\n granualEdit: any;\n granualPermissions = {};\n parentGranuls = ['Map', 'Team', 'Activity', 'Process']\n\n rowID = '';\n roleID = '';\n menuData = [];\n errorMessage: string;\n newPermissions = {};\n newGranualPermissions = {};\n checked = false;\n checkedCB = {};\n btnDisabled = false;\n isScoreCardEnable: boolean = false;\n constructor(public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any, public dorseyService: DorseyService, private dialog: MatDialog) {\n // dialogRef.disableClose=true;\n this.data = this.data.split('æææ');\n\n if (this.data[1] === 'true') {\n this.condition = true;\n } else {\n this.condition = false;\n }\n this.data = this.data[0];\n\n }\n\n ngOnInit() {\n this.MainJson = [];\n let savePermissions = {};\n\n if (this.menuRoleID === '' || this.menuRoleID === undefined || this.menuRoleID.toString() === '0') {\n let tempRoles = this.tempRoleData;\n this.tempRoleData = tempRoles.filter(x => x.CompanyID === this.CompanyID);\n }\n if (this.data == 'edit') {\n this.PermissonJosn = JSON.parse(this.editedPerissions);\n this.companyMenuKeys = this.PermissonJosn['Company']['101'];\n this.rolesMenuKeys = this.PermissonJosn['Roles']['102'];\n this.EmployeeMenuKeys = this.PermissonJosn['Employee']['103'];\n this.processMenuKeys = this.PermissonJosn['Process']['104'];\n this.teamMenuKeys = this.PermissonJosn['Team']['105'];\n this.ProcessMapMenuKeys = this.PermissonJosn['ProcessMap']['106'];\n this.activityMenuKeys = this.PermissonJosn['Activity']['107'];\n this.metricMenuKeys = this.PermissonJosn['Metric']['108'];\n this.frustrationMenuKeys = this.PermissonJosn['Frustration']['109'];\n this.projectsMenuKeys = this.PermissonJosn['Projects']['110'];\n this.casesMenuKeys = this.PermissonJosn['Frustrations']['111'];\n this.ReportsMenuKeys = this.PermissonJosn['Reports']['112'];\n this.frustrationsTypeMenuKeys = this.PermissonJosn['FrustrationsType']['113'];\n this.alertTypeMenukeys = this.PermissonJosn['Alerts']['114'];\n this.metricTableMenuKeys = this.PermissonJosn['Metric Table']['115'];\n this.departmentMenuKeys = this.PermissonJosn['Departments']['117'];\n this.goalMenuKeys = this.PermissonJosn['Goals']['118'];\n this.scoreCardMenuKeys = this.PermissonJosn['Score Card']['119'];\n this.quarterMenuKeys = this.PermissonJosn['Quarter']['120'];\n this.MenuJson = JSON.parse(this.granualEdit);\n savePermissions = this.PermissonJosn;\n }\n else {\n this.rowID = '';\n this.PermissonJosn = {};\n savePermissions = {};\n if (this.menuRoleID) {\n this.newPermissions = JSON.parse(this.tempRoleData[0].MenuJson);\n if (this.tempRoleData[0].PermissionJson === '') {\n }\n else {\n this.granualPermissions = JSON.parse(this.tempRoleData[0].PermissionJson);\n }\n }\n else {\n this.newPermissions = JSON.parse(this.tempRoleData[0].MenuJson);\n if (this.tempRoleData[0].PermissionJson === '') {\n }\n else {\n this.granualPermissions = JSON.parse(this.tempRoleData[0].PermissionJson);\n }\n }\n savePermissions = this.newPermissions;\n this.PermissonJosn = this.newPermissions;\n this.MenuJson = this.granualPermissions;\n let company = {};\n company['101'] = {\n 'R': true,\n 'C': true,\n 'U': true,\n 'D': true,\n }\n let menusList = Object.keys(this.newPermissions);\n for (let i = 0; i < menusList.length; i++) {\n let menuIds = Object.keys(this.newPermissions[menusList[i]]);\n let subLevel = this.newPermissions[menusList[i]];\n for (let j = 0; j < menuIds.length; j++) {\n this.newPermissions[menusList[i]][menuIds[j]]['R'] = false;\n this.newPermissions[menusList[i]][menuIds[j]]['C'] = false;\n this.newPermissions[menusList[i]][menuIds[j]]['U'] = false;\n this.newPermissions[menusList[i]][menuIds[j]]['D'] = false;\n }\n }\n }\n this.CreateJson(this.MenuJson);\n this.GetMenuMaster();\n if (this.data === 'new') {\n this.newPermissions['ProcessMap']['106']['R'] = true;\n this.newPermissions['Score Card']['119']['R'] = true;\n }\n }\n GetMenuMaster() {\n this.dorseyService.GetMenuMaster().subscribe(subData => {\n this.menuData = JSON.parse(subData['_body']);\n if (!this.isScoreCardEnable) {\n this.menuData = this.menuData.filter(ent => ent.MenuName != 'Score Card');\n\n }\n });\n }\n\n onYesClick() {\n this.dialogRef.close(true);\n }\n onNoClick(): void {\n this.dialogRef.close();\n }\n\n CreateJson(savePermissions) {\n this.MainJson = {};\n this.teams = [];\n this.mapList = [];\n this.activityList = [];\n this.processList = [];\n this.MainJosnIds = [];\n this.teamList = [];\n this.dorseyService.GetTeam(this.CompanyID).subscribe(teams => {\n this.teams = JSON.parse(teams['_body']);\n\n if (this.rowID) {\n if (!(Object.keys(savePermissions).indexOf('Map') < -1)) {\n }\n if (savePermissions[\"Map\"]) {\n let mapKeys = Object.keys(savePermissions[\"Map\"]);\n for (let i = 0; i < mapKeys.length; i++) {\n {\n let perkeys = Object.keys(savePermissions[\"Map\"][mapKeys[i]]);\n let perTemkeys = {};\n for (let j = 0; j < perkeys.length; j++) {\n perTemkeys[perkeys[j]] = savePermissions[\"Map\"][mapKeys[i]][perkeys[j]];\n }\n this.mapList['Map'] = perTemkeys;\n }\n }\n }\n }\n\n let i = 0;\n let j = 0;\n if (this.teams.length === 0) {\n this.showGranual = false;\n }\n else {\n\n this.showGranual = true;\n }\n\n this.teams.forEach(cteam => {\n let subJson = {};\n let ListProcess = {};\n\n this.teamCheckList[cteam.TeamName + \"æææ\" + cteam.TeamID] = false;\n i++;\n\n this.processes.forEach(cprocess => {\n const ActivityList = [];\n if (cprocess.TeamID === cteam.TeamID) {\n this.processCheckList[cprocess.ProcessName + \"æææ\" + cprocess.ProcessID] = false;\n j++;\n {\n const activityIds = [];\n this.activities.forEach(cactivity => {\n if (cprocess.ProcessID === cactivity.ProcessID && cprocess.TeamID === cteam.TeamID && cactivity.TeamID === cteam.TeamID) {\n ActivityList.push(cactivity.ActivityName + \"æææ\" + cactivity.ActivityID);\n activityIds.push(cactivity.ActivityID);\n if (this.rowID) {\n if (savePermissions[\"Activity\"]) {\n let activityKeys = Object.keys(savePermissions[\"Activity\"]);\n for (let i = 0; i < activityKeys.length; i++) {\n if (Number(cactivity.ActivityID) === Number(activityKeys[i])) {\n let perkeys = Object.keys(savePermissions[\"Activity\"][activityKeys[i]]);\n let perTemkeys = {};\n for (let j = 0; j < perkeys.length; j++) {\n perTemkeys[perkeys[j]] = savePermissions[\"Activity\"][activityKeys[i]][perkeys[j]];\n }\n this.activityList[cactivity.ActivityID] = perTemkeys;\n } else {\n let actvitykeysdummy = { R: false, C: false, D: false, U: false }\n this.activityList[cactivity.ActivityID] = actvitykeysdummy;\n }\n\n }\n }\n }\n }\n });\n\n ListProcess[cprocess.ProcessID] = activityIds;\n\n if (this.rowID) {\n if (savePermissions['Process']) {\n let processKeys = Object.keys(savePermissions[\"Process\"]);\n if (processKeys.indexOf(cprocess.ProcessID) > -1) {\n }\n else {\n this.processList[cprocess.ProcessID] = [];\n }\n for (let i = 0; i < processKeys.length; i++) {\n if (Number(cprocess.ProcessID) === Number(processKeys[i])) {\n let perkeys = Object.keys(savePermissions[\"Process\"][processKeys[i]]);\n let perTemkeys = {};\n for (let j = 0; j < perkeys.length; j++) {\n perTemkeys[perkeys[j]] = savePermissions[\"Process\"][processKeys[i]][perkeys[j]];\n }\n this.processList[cprocess.ProcessID] = perTemkeys;\n }\n else {\n let processkeysdummy = { R: false, C: false, D: false, U: false }\n this.processList[cprocess.ProcessID] = processkeysdummy;\n }\n }\n }\n }\n }\n subJson[cprocess.ProcessName + \"æææ\" + cprocess.ProcessID] = ActivityList;\n }\n });\n\n\n if (this.rowID) {\n if (!(Object.keys(savePermissions).indexOf('Team') < -1)) {\n // this.showGranual=false;\n // return;\n }\n if (savePermissions[\"Team\"]) {\n let temKeys = Object.keys(savePermissions[\"Team\"]);\n\n\n for (let i = 0; i < temKeys.length; i++) {\n\n if (Number(cteam.TeamID) === Number(temKeys[i])) {\n let perkeys = Object.keys(savePermissions[\"Team\"][temKeys[i]]);\n let perTemkeys = {};\n for (let j = 0; j < perkeys.length; j++) {\n\n perTemkeys[perkeys[j]] = savePermissions[\"Team\"][temKeys[i]][perkeys[j]];\n\n }\n\n this.teamList[cteam.TeamID] = perTemkeys;\n } else {\n let teamkeysdummy = { R: false, C: false, D: false, U: false }\n this.teamList[cteam.TeamID] = teamkeysdummy;\n }\n }\n }\n }\n this.MainJosnIds[cteam.TeamID] = ListProcess;\n this.MainJson[cteam.TeamName + \"æææ\" + cteam.TeamID] = subJson;\n });\n\n });\n }\n\n\n close(): void {\n this.dialogRef.close();\n }\n onCheckboxChange(MapType, key, permissonType, event, type) {\n if (MapType === 'Map') {\n this.mapGranualKeys[permissonType] = event.checked;\n this.MapPermission[key] = this.mapGranualKeys;\n if (permissonType == 'C' || permissonType == 'U' || permissonType == 'D') {\n\n this.mapGranualKeys['R'] = true;\n }\n if (permissonType == 'R' && !event.checked) {\n this.mapGranualKeys['C'] = false;\n this.mapGranualKeys['U'] = false;\n this.mapGranualKeys['D'] = false;\n }\n\n if (type == 'edit') {\n let prePermisn = {};\n prePermisn = this.MenuJson['Map']['ProcessMap'];\n prePermisn[permissonType] = event.checked;\n this.MenuJson['Map']['ProcessMap'] = prePermisn;\n } else {\n this.granual[MapType] = this.MapPermission;\n }\n\n }\n\n else if (MapType === 'Team') {\n this.teamGranualKeys[permissonType] = event.checked;\n this.TeamPermisson[key] = this.teamGranualKeys;\n if (permissonType == 'C' || permissonType == 'U' || permissonType == 'D') {\n this.teamGranualKeys['R'] = true;\n }\n if (permissonType == 'R' && !event.checked) {\n this.teamGranualKeys['C'] = false;\n this.teamGranualKeys['U'] = false;\n this.teamGranualKeys['D'] = false;\n }\n\n if (type == 'edit') {\n let prePermisn = {};\n let keysList = Object.keys(this.MenuJson['Team']);\n if (keysList.indexOf(key) > -1) {\n prePermisn = this.MenuJson['Team'][key];\n } else {\n prePermisn = { R: false, C: false, U: false, D: false };\n this.MenuJson['Team'][key] = prePermisn;\n }\n prePermisn[permissonType] = event.checked;\n this.MenuJson['Team'][key] = prePermisn;\n } else {\n this.granual[MapType] = this.TeamPermisson;\n }\n\n }\n\n else if (MapType === 'Process') {\n this.processGranualkeys[permissonType] = event.checked;\n this.ProcessPermissons[key] = this.processGranualkeys;\n if (permissonType == 'C' || permissonType == 'U' || permissonType == 'D') {\n\n this.processGranualkeys['R'] = true;\n }\n if (permissonType == 'R' && !event.checked) {\n this.processGranualkeys['C'] = false;\n this.processGranualkeys['U'] = false;\n this.processGranualkeys['D'] = false;\n }\n if (type == 'edit') {\n let prePermisn = {};\n let keysList = Object.keys(this.MenuJson['Process']);\n if (keysList.indexOf(key) > -1) {\n prePermisn = this.MenuJson['Process'][key];\n } else {\n prePermisn = { R: false, C: false, U: false, D: false };\n this.MenuJson['Process'][key] = prePermisn;\n }\n prePermisn[permissonType] = event.checked;\n this.MenuJson['Process'][key] = prePermisn;\n } else {\n\n this.granual[MapType] = this.ProcessPermissons;\n }\n\n }\n\n else if (MapType === 'Activity') {\n this.activitiesGranualKeys[permissonType] = event.checked;\n this.ActivityPermissions[key] = this.activitiesGranualKeys;\n if (permissonType == 'C' || permissonType == 'U' || permissonType == 'D') {\n\n this.activitiesGranualKeys['R'] = true;\n }\n if (permissonType == 'R' && !event.checked) {\n this.activitiesGranualKeys['C'] = false;\n this.activitiesGranualKeys['U'] = false;\n this.activitiesGranualKeys['D'] = false;\n }\n if (type == 'edit') {\n let prePermisn = {};\n let keysList = Object.keys(this.MenuJson['Activity']);\n if (keysList.indexOf(key) > -1) {\n prePermisn = this.MenuJson['Activity'][key];\n } else {\n prePermisn = { R: false, C: false, U: false, D: false };\n this.MenuJson['Activity'][key] = prePermisn;\n }\n prePermisn[permissonType] = event.checked;\n this.MenuJson['Activity'][key] = prePermisn;\n } else {\n\n this.granual[MapType] = this.ActivityPermissions;\n }\n\n }\n }\n\n onCheckboxMenuChange(MapType, key, permissonType, event, type) {\n if (permissonType == 'C') {\n this.checkedCB['C'] = false;\n }\n if (permissonType == 'U') {\n this.checkedCB['U'] = false;\n }\n if (permissonType == 'D') {\n this.checkedCB['D'] = false;\n }\n if (MapType === 'Company') {\n this.companyMenuKeys[permissonType] = event.checked;\n this.companyMenuPermissions[key] = this.companyMenuKeys;\n if (permissonType == 'C' || permissonType == 'U' || permissonType == 'D') {\n this.companyMenuKeys['R'] = true;\n }\n if (permissonType == 'R' && !event.checked) {\n this.companyMenuKeys['C'] = false;\n this.companyMenuKeys['U'] = false;\n this.companyMenuKeys['D'] = false;\n this.checkedCB['R'] = false;\n this.checkedCB['C'] = false;\n this.checkedCB['U'] = false;\n this.checkedCB['D'] = false;\n }\n if (type == 'edit') {\n this.PermissonJosn['Company'] = this.companyMenuPermissions;\n } else {\n this.newPermissions[MapType] = this.companyMenuPermissions;\n }\n } else if (MapType === 'Team') {\n this.teamMenuKeys[permissonType] = event.checked;\n this.teamMenuPermissions[key] = this.teamMenuKeys;\n if (permissonType == 'C' || permissonType == 'U' || permissonType == 'D') {\n this.teamMenuKeys['R'] = true;\n }\n if (permissonType == 'R' && !event.checked) {\n this.teamMenuKeys['C'] = false;\n this.teamMenuKeys['U'] = false;\n this.teamMenuKeys['D'] = false;\n this.checkedCB['R'] = false;\n this.checkedCB['C'] = false;\n this.checkedCB['U'] = false;\n this.checkedCB['D'] = false;\n }\n if (type == 'edit') {\n this.PermissonJosn['Team'] = this.teamMenuPermissions;\n } else {\n this.newPermissions[MapType] = this.teamMenuPermissions;\n }\n } else if (MapType === 'Employee') {\n this.EmployeeMenuKeys[permissonType] = event.checked;\n this.EmployeeMenuPermissions[key] = this.EmployeeMenuKeys;\n if (permissonType == 'C' || permissonType == 'U' || permissonType == 'D') {\n this.EmployeeMenuKeys['R'] = true;\n }\n if (permissonType == 'R' && !event.checked) {\n this.EmployeeMenuKeys['C'] = false;\n this.EmployeeMenuKeys['U'] = false;\n this.EmployeeMenuKeys['D'] = false;\n this.checkedCB['R'] = false;\n this.checkedCB['C'] = false;\n this.checkedCB['U'] = false;\n this.checkedCB['D'] = false;\n }\n if (type == 'edit') {\n this.PermissonJosn['Employee'] = this.EmployeeMenuPermissions;\n } else {\n this.newPermissions[MapType] = this.EmployeeMenuPermissions;\n }\n } else if (MapType === 'ProcessMap') {\n this.ProcessMapMenuKeys[permissonType] = event.checked;\n this.ProcessMapMenuPermissions[key] = this.ProcessMapMenuKeys;\n if (permissonType == 'C' || permissonType == 'U' || permissonType == 'D') {\n this.ProcessMapMenuKeys['R'] = true;\n }\n if (permissonType == 'R' && !event.checked) {\n this.ProcessMapMenuKeys['C'] = false;\n this.ProcessMapMenuKeys['U'] = false;\n this.ProcessMapMenuKeys['D'] = false;\n this.checkedCB['R'] = false;\n this.checkedCB['C'] = false;\n this.checkedCB['U'] = false;\n this.checkedCB['D'] = false;\n }\n if (type == 'edit') {\n this.PermissonJosn['ProcessMap'] = this.ProcessMapMenuPermissions;\n } else {\n this.newPermissions[MapType] = this.ProcessMapMenuPermissions;\n }\n } else if (MapType === 'Process') {\n this.processMenuKeys[permissonType] = event.checked;\n this.processMenuPermissions[key] = this.processMenuKeys;\n if (permissonType == 'C' || permissonType == 'U' || permissonType == 'D') {\n\n this.processMenuKeys['R'] = true;\n }\n if (permissonType == 'R' && !event.checked) {\n this.processMenuKeys['C'] = false;\n this.processMenuKeys['U'] = false;\n this.processMenuKeys['D'] = false;\n this.checkedCB['R'] = false;\n this.checkedCB['C'] = false;\n this.checkedCB['U'] = false;\n this.checkedCB['D'] = false;\n }\n if (type == 'edit') {\n this.PermissonJosn['Process'] = this.processMenuPermissions;\n } else {\n this.newPermissions[MapType] = this.processMenuPermissions;\n }\n } else if (MapType === 'Activity') {\n this.activityMenuKeys[permissonType] = event.checked;\n this.activityMenuPermissions[key] = this.activityMenuKeys;\n if (permissonType == 'C' || permissonType == 'U' || permissonType == 'D') {\n this.activityMenuKeys['R'] = true;\n }\n if (permissonType == 'R' && !event.checked) {\n this.activityMenuKeys['C'] = false;\n this.activityMenuKeys['U'] = false;\n this.activityMenuKeys['D'] = false;\n this.checkedCB['R'] = false;\n this.checkedCB['C'] = false;\n this.checkedCB['U'] = false;\n this.checkedCB['D'] = false;\n }\n if (type == 'edit') {\n this.PermissonJosn['Activity'] = this.activityMenuPermissions;\n } else {\n this.newPermissions[MapType] = this.activityMenuPermissions;\n }\n } else if (MapType === 'Metric') {\n this.metricMenuKeys[permissonType] = event.checked;\n this.metricMenuPermissions[key] = this.metricMenuKeys;\n if (permissonType == 'C' || permissonType == 'U' || permissonType == 'D') {\n this.metricMenuKeys['R'] = true;\n }\n if (permissonType == 'R' && !event.checked) {\n this.metricMenuKeys['C'] = false;\n this.metricMenuKeys['U'] = false;\n this.metricMenuKeys['D'] = false;\n this.checkedCB['R'] = false;\n this.checkedCB['C'] = false;\n this.checkedCB['U'] = false;\n this.checkedCB['D'] = false;\n }\n if (type == 'edit') {\n this.PermissonJosn['Metric'] = this.metricMenuPermissions;\n } else {\n this.newPermissions[MapType] = this.metricMenuPermissions;\n }\n }\n else if (MapType === 'Frustration') {\n this.frustrationMenuKeys[permissonType] = event.checked;\n this.frustrationMenuPermissions[key] = this.frustrationMenuKeys;\n if (permissonType == 'C' || permissonType == 'U' || permissonType == 'D') {\n\n this.frustrationMenuKeys['R'] = true;\n }\n if (permissonType == 'R' && !event.checked) {\n this.frustrationMenuKeys['C'] = false;\n this.frustrationMenuKeys['U'] = false;\n this.frustrationMenuKeys['D'] = false;\n this.checkedCB['R'] = false;\n this.checkedCB['C'] = false;\n this.checkedCB['U'] = false;\n this.checkedCB['D'] = false;\n }\n if (type == 'edit') {\n this.PermissonJosn['Frustration'] = this.frustrationMenuPermissions;\n } else {\n this.newPermissions[MapType] = this.frustrationMenuPermissions;\n }\n } else if (MapType === 'Projects') {\n this.projectsMenuKeys[permissonType] = event.checked;\n this.projectsMenuPermissions[key] = this.projectsMenuKeys;\n if (permissonType == 'C' || permissonType == 'U' || permissonType == 'D') {\n\n this.projectsMenuKeys['R'] = true;\n }\n if (permissonType == 'R' && !event.checked) {\n this.projectsMenuKeys['C'] = false;\n this.projectsMenuKeys['U'] = false;\n this.projectsMenuKeys['D'] = false;\n this.checkedCB['R'] = false;\n this.checkedCB['C'] = false;\n this.checkedCB['U'] = false;\n this.checkedCB['D'] = false;\n }\n\n if (type == 'edit') {\n this.PermissonJosn['Projects'] = this.projectsMenuPermissions;\n } else {\n this.newPermissions[MapType] = this.projectsMenuPermissions;\n }\n } else if (MapType === 'Frustrations') {\n this.casesMenuKeys[permissonType] = event.checked;\n this.casesMenuPermissions[key] = this.casesMenuKeys;\n if (permissonType == 'C' || permissonType == 'U' || permissonType == 'D') {\n\n this.casesMenuKeys['R'] = true;\n }\n if (permissonType == 'R' && !event.checked) {\n this.casesMenuKeys['C'] = false;\n this.casesMenuKeys['U'] = false;\n this.casesMenuKeys['D'] = false;\n this.checkedCB['R'] = false;\n this.checkedCB['C'] = false;\n this.checkedCB['U'] = false;\n this.checkedCB['D'] = false;\n }\n if (type == 'edit') {\n this.PermissonJosn['Frustrations'] = this.casesMenuPermissions;\n } else {\n this.newPermissions[MapType] = this.casesMenuPermissions;\n }\n }\n else if (MapType === 'Reports') {\n this.ReportsMenuKeys[permissonType] = event.checked;\n this.ReportsMenuPermissions[key] = this.ReportsMenuKeys;\n if (permissonType == 'C' || permissonType == 'U' || permissonType == 'D') {\n this.ReportsMenuKeys['R'] = true;\n }\n if (permissonType == 'R' && !event.checked) {\n this.ReportsMenuKeys['C'] = false;\n this.ReportsMenuKeys['U'] = false;\n this.ReportsMenuKeys['D'] = false;\n this.checkedCB['R'] = false;\n this.checkedCB['C'] = false;\n this.checkedCB['U'] = false;\n this.checkedCB['D'] = false;\n }\n if (type == 'edit') {\n this.PermissonJosn['Reports'] = this.ReportsMenuPermissions;\n } else {\n this.newPermissions[MapType] = this.ReportsMenuPermissions;\n }\n } else if (MapType === 'Roles') {\n this.rolesMenuKeys[permissonType] = event.checked;\n this.rolesMenuPermissions[key] = this.rolesMenuKeys;\n if (permissonType == 'C' || permissonType == 'U' || permissonType == 'D') {\n this.rolesMenuKeys['R'] = true;\n }\n if (permissonType == 'R' && !event.checked) {\n this.rolesMenuKeys['C'] = false;\n this.rolesMenuKeys['U'] = false;\n this.rolesMenuKeys['D'] = false;\n this.checkedCB['R'] = false;\n this.checkedCB['C'] = false;\n this.checkedCB['U'] = false;\n this.checkedCB['D'] = false;\n }\n if (type == 'edit') {\n this.PermissonJosn['Roles'] = this.rolesMenuPermissions;\n } else {\n this.newPermissions[MapType] = this.rolesMenuPermissions;\n }\n } else if (MapType === 'FrustrationsType') {\n this.frustrationsTypeMenuKeys[permissonType] = event.checked;\n this.frustrationsTypeMenuPermissions[key] = this.frustrationsTypeMenuKeys;\n if (permissonType == 'C' || permissonType == 'U' || permissonType == 'D') {\n this.frustrationsTypeMenuKeys['R'] = true;\n }\n if (permissonType == 'R' && !event.checked) {\n this.frustrationsTypeMenuKeys['C'] = false;\n this.frustrationsTypeMenuKeys['U'] = false;\n this.frustrationsTypeMenuKeys['D'] = false;\n this.checkedCB['R'] = false;\n this.checkedCB['C'] = false;\n this.checkedCB['U'] = false;\n this.checkedCB['D'] = false;\n }\n if (type == 'edit') {\n this.PermissonJosn['FrustrationsType'] = this.frustrationsTypeMenuPermissions;\n } else {\n this.newPermissions[MapType] = this.frustrationsTypeMenuPermissions;\n }\n }\n else if (MapType === 'Alerts') {\n this.alertTypeMenukeys[permissonType] = event.checked;\n this.alertTypeMenyPermissions[key] = this.alertTypeMenukeys;\n if (permissonType == 'C' || permissonType == 'U' || permissonType == 'D') {\n\n this.alertTypeMenukeys['R'] = true;\n }\n if (permissonType == 'R' && !event.checked) {\n this.alertTypeMenukeys['C'] = false;\n this.alertTypeMenukeys['U'] = false;\n this.alertTypeMenukeys['D'] = false;\n this.checkedCB['R'] = false;\n this.checkedCB['C'] = false;\n this.checkedCB['U'] = false;\n this.checkedCB['D'] = false;\n }\n if (type == 'edit') {\n this.PermissonJosn['Alerts'] = this.alertTypeMenyPermissions;\n } else {\n this.newPermissions[MapType] = this.alertTypeMenyPermissions;\n }\n }\n else if (MapType === 'Metric Table') {\n this.metricTableMenuKeys[permissonType] = event.checked;\n this.metricTableMenuPermissions[key] = this.metricTableMenuKeys;\n if (permissonType == 'C' || permissonType == 'U' || permissonType == 'D') {\n this.metricTableMenuKeys['R'] = true;\n }\n if (permissonType == 'R' && !event.checked) {\n this.metricTableMenuKeys['C'] = false;\n this.metricTableMenuKeys['U'] = false;\n this.metricTableMenuKeys['D'] = false;\n this.checkedCB['R'] = false;\n this.checkedCB['C'] = false;\n this.checkedCB['U'] = false;\n this.checkedCB['D'] = false;\n }\n if (type == 'edit') {\n this.PermissonJosn['Metric Table'] = this.metricTableMenuPermissions;\n } else {\n this.newPermissions[MapType] = this.metricTableMenuPermissions;\n }\n }\n else if (MapType === 'Departments') {\n this.departmentMenuKeys[permissonType] = event.checked;\n this.departmentTableMenuPermissions[key] = this.departmentMenuKeys;\n if (permissonType == 'C' || permissonType == 'U' || permissonType == 'D') {\n\n this.departmentMenuKeys['R'] = true;\n }\n if (permissonType == 'R' && !event.checked) {\n this.departmentMenuKeys['C'] = false;\n this.departmentMenuKeys['U'] = false;\n this.departmentMenuKeys['D'] = false;\n this.checkedCB['R'] = false;\n this.checkedCB['C'] = false;\n this.checkedCB['U'] = false;\n this.checkedCB['D'] = false;\n }\n if (type == 'edit') {\n this.PermissonJosn['Departments'] = this.departmentTableMenuPermissions;\n } else {\n this.newPermissions[MapType] = this.departmentTableMenuPermissions;\n }\n }\n else if (MapType === 'Goals') {\n this.goalMenuKeys[permissonType] = event.checked;\n this.goalTableMenuPermissions[key] = this.goalMenuKeys;\n if (permissonType == 'C' || permissonType == 'U' || permissonType == 'D') {\n\n this.goalMenuKeys['R'] = true;\n }\n if (permissonType == 'R' && !event.checked) {\n this.goalMenuKeys['C'] = false;\n this.goalMenuKeys['U'] = false;\n this.goalMenuKeys['D'] = false;\n this.checkedCB['R'] = false;\n this.checkedCB['C'] = false;\n this.checkedCB['U'] = false;\n this.checkedCB['D'] = false;\n }\n if (type == 'edit') {\n this.PermissonJosn['Goals'] = this.goalTableMenuPermissions;\n } else {\n this.newPermissions[MapType] = this.goalTableMenuPermissions;\n }\n }\n else if (MapType === 'Score Card') {\n this.scoreCardMenuKeys[permissonType] = event.checked;\n this.scoreCardTableMenuPermissions[key] = this.scoreCardMenuKeys;\n if (permissonType == 'C' || permissonType == 'U' || permissonType == 'D') {\n\n this.scoreCardMenuKeys['R'] = true;\n }\n if (permissonType == 'R' && !event.checked) {\n this.scoreCardMenuKeys['C'] = false;\n this.scoreCardMenuKeys['U'] = false;\n this.scoreCardMenuKeys['D'] = false;\n this.checkedCB['R'] = false;\n this.checkedCB['C'] = false;\n this.checkedCB['U'] = false;\n this.checkedCB['D'] = false;\n }\n if (type == 'edit') {\n this.PermissonJosn['Score Card'] = this.scoreCardTableMenuPermissions;\n } else {\n this.newPermissions[MapType] = this.scoreCardTableMenuPermissions;\n }\n }\n else if (MapType === 'Quarter') {\n this.quarterMenuKeys[permissonType] = event.checked;\n this.quarterTableMenuPermissions[key] = this.quarterMenuKeys;\n if (permissonType == 'C' || permissonType == 'U' || permissonType == 'D') {\n\n this.quarterMenuKeys['R'] = true;\n }\n if (permissonType == 'R' && !event.checked) {\n this.quarterMenuKeys['C'] = false;\n this.quarterMenuKeys['U'] = false;\n this.quarterMenuKeys['D'] = false;\n this.checkedCB['R'] = false;\n this.checkedCB['C'] = false;\n this.checkedCB['U'] = false;\n this.checkedCB['D'] = false;\n }\n if (type == 'edit') {\n this.PermissonJosn['Quarter'] = this.quarterTableMenuPermissions;\n } else {\n\n\n this.newPermissions[MapType] = this.quarterTableMenuPermissions;\n }\n }\n }\n onClick(list, data) {\n if (this.checkedCB['R'] === true) {\n }\n if (list == 'R') {\n for (let i = 0; i < this.menuData.length; i++) {\n if (this.menuData[i].MenuName != 'UserManual')\n // && (this.menuData[i].MenuName!=='ProcessMap' || list=='C' ) \n if ((this.menuData[i].MenuName !== 'Company'\n && this.menuData[i].MenuName !== 'ProcessMap'\n && this.menuData[i].MenuName !== 'Score Card')\n && (this.menuData[i].MenuName !== 'Reports' || list == 'R')\n && (this.menuData[i].MenuName !== 'Cases' || list == 'R' || list == 'U')\n && (this.menuData[i].MenuName !== 'FrustrationsType' || list == 'R')\n && (this.menuData[i].MenuName !== 'Alerts' || list == 'R')\n && (this.menuData[i].MenuName !== 'Metric Table' || list == 'R')\n && (this.menuData[i].MenuName !== 'Departments' || list == 'R')\n && (this.menuData[i].MenuName !== 'Goal' || list == 'R')\n\n && (this.menuData[i].MenuName !== 'Quarter' || list == 'R')\n )\n if (data === 'edit' && this.checkedCB['R'] == true) {\n this.PermissonJosn[this.menuData[i].MenuName][this.menuData[i].MenuID]['R'] = true;\n } else if (data === 'new' && this.checkedCB['R'] == true) {\n\n this.newPermissions[this.menuData[i].MenuName][this.menuData[i].MenuID]['R'] = true;\n } else if (data === 'new' && this.checkedCB['R'] == false) {\n this.checkedCB['C'] = false;\n this.checkedCB['U'] = false;\n this.checkedCB['D'] = false;\n this.newPermissions[this.menuData[i].MenuName][this.menuData[i].MenuID]['R'] = false;\n this.newPermissions[this.menuData[i].MenuName][this.menuData[i].MenuID]['C'] = false;\n this.newPermissions[this.menuData[i].MenuName][this.menuData[i].MenuID]['U'] = false;\n this.newPermissions[this.menuData[i].MenuName][this.menuData[i].MenuID]['D'] = false;\n } else if (data === 'edit' && this.checkedCB['R'] == false) {\n this.checkedCB['C'] = false;\n this.checkedCB['U'] = false;\n this.checkedCB['D'] = false;\n this.PermissonJosn[this.menuData[i].MenuName][this.menuData[i].MenuID]['R'] = false;\n this.PermissonJosn[this.menuData[i].MenuName][this.menuData[i].MenuID]['C'] = false;\n this.PermissonJosn[this.menuData[i].MenuName][this.menuData[i].MenuID]['U'] = false;\n this.PermissonJosn[this.menuData[i].MenuName][this.menuData[i].MenuID]['D'] = false;\n }\n\n }\n }\n if (list === 'C') {\n for (let i = 0; i < this.menuData.length; i++) {\n if (this.menuData[i].MenuName != 'UserManual')\n if ((this.menuData[i].MenuName !== 'Company' ||\n this.CurrentUser == 'admin')\n\n ) {\n if (data === 'edit' && this.checkedCB['C'] == true) {\n this.checkedCB['R'] = true;\n if ((this.menuData[i].MenuName !== 'Company')\n && (this.menuData[i].MenuName !== 'Reports')\n && (this.menuData[i].MenuName !== 'Cases')\n && (this.menuData[i].MenuName !== 'FrustrationsType')\n && (this.menuData[i].MenuName !== 'Alerts')\n && (this.menuData[i].MenuName !== 'Metric Table')\n && (this.menuData[i].MenuName !== 'Goals')\n && (this.menuData[i].MenuName !== 'Quarter')) {\n this.PermissonJosn[this.menuData[i].MenuName][this.menuData[i].MenuID]['C'] = true;\n }\n this.PermissonJosn[this.menuData[i].MenuName][this.menuData[i].MenuID]['R'] = true;\n } else if (data === 'new' && this.checkedCB['C'] == true) {\n this.checkedCB['R'] = true;\n if ((this.menuData[i].MenuName !== 'Company')\n && (this.menuData[i].MenuName !== 'Reports')\n && (this.menuData[i].MenuName !== 'Cases')\n && (this.menuData[i].MenuName !== 'FrustrationsType')\n && (this.menuData[i].MenuName !== 'Alerts')\n && (this.menuData[i].MenuName !== 'Metric Table')\n && (this.menuData[i].MenuName !== 'Goals')\n && (this.menuData[i].MenuName !== 'Quarter')) {\n this.newPermissions[this.menuData[i].MenuName][this.menuData[i].MenuID]['C'] = true;\n }\n this.newPermissions[this.menuData[i].MenuName][this.menuData[i].MenuID]['R'] = true;\n } else if (data === 'new' && this.checkedCB['C'] == false) {\n this.checkedCB['R'] = true;\n if ((this.menuData[i].MenuName !== 'Company')\n && (this.menuData[i].MenuName !== 'Reports')\n && (this.menuData[i].MenuName !== 'Cases')\n && (this.menuData[i].MenuName !== 'FrustrationsType')\n && (this.menuData[i].MenuName !== 'Alerts')\n && (this.menuData[i].MenuName !== 'Metric Table')\n && (this.menuData[i].MenuName !== 'Goals')\n && (this.menuData[i].MenuName !== 'Quarter')) {\n this.newPermissions[this.menuData[i].MenuName][this.menuData[i].MenuID]['C'] = false;\n }\n } else if (data === 'edit' && this.checkedCB['C'] == false) {\n this.checkedCB['R'] = true;\n if ((this.menuData[i].MenuName !== 'Company')\n && (this.menuData[i].MenuName !== 'Reports')\n && (this.menuData[i].MenuName !== 'Cases')\n && (this.menuData[i].MenuName !== 'FrustrationsType')\n && (this.menuData[i].MenuName !== 'Alerts')\n && (this.menuData[i].MenuName !== 'Metric Table')\n && (this.menuData[i].MenuName !== 'Goals')\n && (this.menuData[i].MenuName !== 'Quarter')) {\n this.PermissonJosn[this.menuData[i].MenuName][this.menuData[i].MenuID]['C'] = false;\n }\n }\n\n }\n }\n }\n if (list === 'U') {\n for (let i = 0; i < this.menuData.length; i++) {\n // && (this.menuData[i].MenuName!=='ProcessMap' || list=='C' )\n if (this.menuData[i].MenuName != 'UserManual')\n if ((this.menuData[i].MenuName !== 'Company'\n || this.CurrentUser == 'admin'))\n if (data === 'edit' && this.checkedCB['U'] == true) {\n this.checkedCB['R'] = true;\n if ((this.menuData[i].MenuName !== 'Company')\n && (this.menuData[i].MenuName !== 'Reports')\n && (this.menuData[i].MenuName !== 'Cases')\n && (this.menuData[i].MenuName !== 'FrustrationsType')\n && (this.menuData[i].MenuName !== 'Alerts')\n && (this.menuData[i].MenuName !== 'Metric Table')\n && (this.menuData[i].MenuName !== 'Goals')\n && (this.menuData[i].MenuName !== 'Quarter')) {\n this.PermissonJosn[this.menuData[i].MenuName][this.menuData[i].MenuID]['U'] = true;\n }\n this.PermissonJosn[this.menuData[i].MenuName][this.menuData[i].MenuID]['R'] = true;\n } else if (data === 'new' && this.checkedCB['U'] == true) {\n this.checkedCB['R'] = true;\n if ((this.menuData[i].MenuName !== 'Company')\n && (this.menuData[i].MenuName !== 'Reports')\n && (this.menuData[i].MenuName !== 'Cases')\n && (this.menuData[i].MenuName !== 'FrustrationsType')\n && (this.menuData[i].MenuName !== 'Alerts')\n && (this.menuData[i].MenuName !== 'Metric Table')\n && (this.menuData[i].MenuName !== 'Goals')\n && (this.menuData[i].MenuName !== 'Quarter')) {\n this.newPermissions[this.menuData[i].MenuName][this.menuData[i].MenuID]['U'] = true;\n }\n this.newPermissions[this.menuData[i].MenuName][this.menuData[i].MenuID]['R'] = true;\n } else if (data === 'new' && this.checkedCB['U'] == false) {\n this.checkedCB['R'] = true;\n if ((this.menuData[i].MenuName !== 'Company')\n && (this.menuData[i].MenuName !== 'Reports')\n && (this.menuData[i].MenuName !== 'Cases')\n && (this.menuData[i].MenuName !== 'FrustrationsType')\n && (this.menuData[i].MenuName !== 'Alerts')\n && (this.menuData[i].MenuName !== 'Metric Table')\n && (this.menuData[i].MenuName !== 'Goals')\n && (this.menuData[i].MenuName !== 'Quarter')) {\n this.newPermissions[this.menuData[i].MenuName][this.menuData[i].MenuID]['U'] = false;\n }\n\n } else if (data === 'edit' && this.checkedCB['U'] == false) {\n this.checkedCB['R'] = true;\n if ((this.menuData[i].MenuName !== 'Company')\n && (this.menuData[i].MenuName !== 'Reports')\n && (this.menuData[i].MenuName !== 'Cases')\n && (this.menuData[i].MenuName !== 'FrustrationsType')\n && (this.menuData[i].MenuName !== 'Alerts')\n && (this.menuData[i].MenuName !== 'Metric Table')\n && (this.menuData[i].MenuName !== 'Goals')\n && (this.menuData[i].MenuName !== 'Quarter')) {\n this.PermissonJosn[this.menuData[i].MenuName][this.menuData[i].MenuID]['U'] = false;\n }\n\n }\n }\n }\n if (list === 'D') {\n for (let i = 0; i < this.menuData.length; i++) {\n if (this.menuData[i].MenuName != 'UserManual')\n // && (this.menuData[i].MenuName!=='ProcessMap' || list=='C' ) \n if ((this.menuData[i].MenuName !== 'Company' || this.CurrentUser == 'admin'))\n\n if (data === 'edit' && this.checkedCB['D'] == true) {\n this.checkedCB['R'] = true;\n if ((this.menuData[i].MenuName !== 'Company')\n && (this.menuData[i].MenuName !== 'Reports')\n && (this.menuData[i].MenuName !== 'Cases')\n && (this.menuData[i].MenuName !== 'FrustrationsType')\n && (this.menuData[i].MenuName !== 'Alerts')\n && (this.menuData[i].MenuName !== 'Metric Table')\n && (this.menuData[i].MenuName !== 'Goals')\n && (this.menuData[i].MenuName !== 'Quarter')) {\n this.PermissonJosn[this.menuData[i].MenuName][this.menuData[i].MenuID]['D'] = true;\n }\n this.PermissonJosn[this.menuData[i].MenuName][this.menuData[i].MenuID]['R'] = true;\n } else if (data === 'new' && this.checkedCB['D'] == true) {\n this.checkedCB['R'] = true;\n if ((this.menuData[i].MenuName !== 'Company')\n && (this.menuData[i].MenuName !== 'Reports')\n && (this.menuData[i].MenuName !== 'Cases')\n && (this.menuData[i].MenuName !== 'FrustrationsType')\n && (this.menuData[i].MenuName !== 'Alerts')\n && (this.menuData[i].MenuName !== 'Metric Table')\n && (this.menuData[i].MenuName !== 'Goals')\n && (this.menuData[i].MenuName !== 'Quarter')) {\n this.newPermissions[this.menuData[i].MenuName][this.menuData[i].MenuID]['D'] = true;\n }\n this.newPermissions[this.menuData[i].MenuName][this.menuData[i].MenuID]['R'] = true;\n } else if (data === 'new' && this.checkedCB['D'] == false) {\n this.checkedCB['R'] = true;\n if ((this.menuData[i].MenuName !== 'Company')\n && (this.menuData[i].MenuName !== 'Reports')\n && (this.menuData[i].MenuName !== 'Cases')\n && (this.menuData[i].MenuName !== 'FrustrationsType')\n && (this.menuData[i].MenuName !== 'Alerts')\n && (this.menuData[i].MenuName !== 'Metric Table')\n && (this.menuData[i].MenuName !== 'Goals')\n && (this.menuData[i].MenuName !== 'Quarter')) {\n this.newPermissions[this.menuData[i].MenuName][this.menuData[i].MenuID]['D'] = false;\n }\n\n } else if (data === 'edit' && this.checkedCB['D'] == false) {\n this.checkedCB['R'] = true;\n if ((this.menuData[i].MenuName !== 'Company')\n && (this.menuData[i].MenuName !== 'Reports')\n && (this.menuData[i].MenuName !== 'Cases')\n && (this.menuData[i].MenuName !== 'FrustrationsType')\n && (this.menuData[i].MenuName !== 'Alerts')\n && (this.menuData[i].MenuName !== 'Metric Table')\n && (this.menuData[i].MenuName !== 'Goals')\n && (this.menuData[i].MenuName !== 'Quarter')) {\n this.PermissonJosn[this.menuData[i].MenuName][this.menuData[i].MenuID]['D'] = false;\n }\n\n }\n }\n }\n }\n AddRole() {\n this.btnDisabled = true;\n\n setTimeout(() => {\n this.btnDisabled = false;\n }, 1000);\n\n if (this.RoleName === undefined || this.RoleName.trim() === '') {\n this.errorMessage = \"Please enter mandatory(*) fields\";\n return;\n } else {\n let savePermissions = {};\n let granualPermission = {};\n let roleID = \"\";\n if (!this.rowID) {\n savePermissions = this.newPermissions;\n granualPermission = this.granual;\n roleID = \"\";\n } else {\n savePermissions = this.PermissonJosn;\n granualPermission = this.MenuJson;\n roleID = this.roleID\n }\n let josn = {\n RoleName: this.RoleName,\n RoleDescription: this.RoleDescription,\n RowID: this.rowID,\n Permissions: granualPermission,\n MenuJson: savePermissions,\n CreatedBy: this.CurrentUser,\n RoleId: roleID,\n CompanyID: this.CompanyID\n }\n this.dorseyService.SaveRole(josn).subscribe(permisn => {\n\n if (permisn['_body'].toString() === 'true') {\n\n this.dialogRef.close(true);\n } else {\n this.dataSelf = 'Updated successfully';\n }\n });\n }\n\n\n }\n\n}\n\n\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpErrorResponse } from \"@angular/common/http\";\r\nimport { Observable, throwError } from \"rxjs\";\r\nimport { catchError } from \"rxjs/operators\";\r\nimport { IResponsePackage } from \"../models/response-package.model\";\r\nimport { environment } from 'src/environments/environment';\r\nimport { CompanyDetails } from '../company/company.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CompanyService {\r\n\r\n private httpUrl: string = environment.API_URL;\r\n constructor(private http: HttpClient) { }\r\n\r\n\r\n getSubCompanyDetailsByCompanyId(companyId: number): Observable {\r\n return this.http.get(`${this.httpUrl}Dorsey/GetSubCompanyDetailsByCompanyId?companyId=${companyId}`)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n getSubCompaniesCountByCompanyId(companyId: number): Observable {\r\n return this.http.get(`${this.httpUrl}Dorsey/GetSubCompaniesCountByCompanyId?companyId=${companyId}`)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n saveCompany(entity: CompanyDetails): Observable {\r\n return this.http.post(`${this.httpUrl}Dorsey/SaveCompany`, entity).pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n deleteCompany(companyId: number): Observable {\r\n return this.http.get(`${this.httpUrl}Dorsey/DeleteCompany?companyId=${companyId}`).pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n UpdateEnableScoreCard(entity: CompanyDetails): Observable {\r\n return this.http.post(`${this.httpUrl}Dorsey/UpdateEnableScoreCard`, entity).pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n getUserDetailsByEmailId(emailId: string): Observable {\r\n return this.http.get(`${this.httpUrl}Dorsey/GetUserDetailsByEmailId?emailId=${emailId}`)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n private handleError(err: HttpErrorResponse) {\r\n let errorMessage = '';\r\n if (err.error instanceof ErrorEvent) {\r\n errorMessage = `An error occured: ${err.error.message}`;\r\n }\r\n else {\r\n errorMessage = `Server returned code: ${err.status}, error message is ${err.message}`\r\n }\r\n console.log(errorMessage);\r\n return throwError(errorMessage);\r\n }\r\n}\r\n","import { HttpClient, HttpErrorResponse } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable, throwError } from \"rxjs\";\r\nimport { catchError, tap } from \"rxjs/operators\";\r\nimport { environment } from \"src/environments/environment\";\r\nimport { IResponsePackage } from \"../models/response-package.model\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DepartmentService {\r\n httpUrl = environment.API_URL;\r\n constructor(private http: HttpClient) { }\r\n\r\n getDepartments(companyId: number): Observable {\r\n return this.http.get(`${this.httpUrl}Dorsey/GetDepartmentsByCompanyId?companyId=${companyId}`)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n saveDepartment(entity: any): Observable {\r\n return this.http.post(`${this.httpUrl}Dorsey/SaveDepartment`, entity).pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n deleteDepartment(departmentId: number): Observable {\r\n return this.http.get(`${this.httpUrl}Dorsey/DeleteDepartment?departmentId=${departmentId}`).pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n getTeamsByDepartmentId(companyId: number, departmentId: number): Observable {\r\n if (departmentId) {\r\n return this.http.get(`${this.httpUrl}Dorsey/GetTeamsByDepartmentId?companyId=${companyId}&departmentId=${departmentId}`)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n }\r\n\r\n getUsersByCompanyId(companyId: number): Observable {\r\n return this.http.get(`${this.httpUrl}Dorsey/GetUsersByCompanyId?companyId=${companyId}`)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n private handleError(err: HttpErrorResponse) {\r\n let errorMessage = '';\r\n if (err.error instanceof ErrorEvent) {\r\n errorMessage = `An error occured: ${err.error.message}`;\r\n }\r\n else {\r\n errorMessage = `Server returned code: ${err.status}, error message is ${err.message}`\r\n }\r\n return throwError(errorMessage);\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpErrorResponse } from \"@angular/common/http\";\nimport { Observable, throwError } from \"rxjs\";\nimport { catchError } from \"rxjs/operators\";\nimport { IResponsePackage } from \"../models/response-package.model\";\nimport { environment } from 'src/environments/environment';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class GoalService {\n\n private httpUrl: string = environment.API_URL;\n constructor(private http: HttpClient) { }\n\n getGoals(companyId: number): Observable {\n return this.http.get(`${this.httpUrl}Dorsey/GetGoalsByCompanyId?companyId=${companyId}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n saveGoal(entity: any): Observable {\n return this.http.post(`${this.httpUrl}Dorsey/SaveGoal`, entity).pipe(\n catchError(this.handleError)\n );\n }\n\n deleteGoal(goalId: number): Observable {\n return this.http.get(`${this.httpUrl}Dorsey/DeleteGoal?goalId=${goalId}`).pipe(\n catchError(this.handleError)\n );\n }\n\n private handleError(err: HttpErrorResponse) {\n let errorMessage = '';\n if (err.error instanceof ErrorEvent) {\n errorMessage = `An error occured: ${err.error.message}`;\n }\n else {\n errorMessage = `Server returned code: ${err.status}, error message is ${err.message}`\n }\n return throwError(errorMessage);\n }\n\n}\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpErrorResponse } from \"@angular/common/http\";\r\nimport { BehaviorSubject, Observable, throwError } from \"rxjs\";\r\nimport { catchError } from \"rxjs/operators\";\r\nimport { IResponsePackage } from \"../models/response-package.model\";\r\nimport { environment } from 'src/environments/environment';\r\nimport { OrganizationDetails } from '../organization/organization.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OrganizationService {\r\n\r\n private httpUrl: string = environment.API_URL;\r\n public totalLicenses = new BehaviorSubject(0);\r\n public totalLicenses$: Observable = this.totalLicenses.asObservable();\r\n constructor(private http: HttpClient) {\r\n this.totalLicenses$ = this.totalLicenses.asObservable();\r\n }\r\n\r\n getOrganizations(): Observable {\r\n return this.http.get(`${this.httpUrl}Dorsey/GetOrganizations`)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n saveOrganization(entity: OrganizationDetails): Observable {\r\n return this.http.post(`${this.httpUrl}Dorsey/SaveOrganization`, entity).pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n deleteOrganization(organizationId: number): Observable {\r\n return this.http.get(`${this.httpUrl}Dorsey/DeleteOrganization?organizationId=${organizationId}`).pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n getCompanyDetailsByOrganizationId(organizationId: number): Observable {\r\n return this.http.get(`${this.httpUrl}Dorsey/GetCompanyDetailsByOrganizationId?organizationId=${organizationId}`)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n getCompanyDetailsByCompanyId(companyId: number, organizationId: number): Observable {\r\n return this.http.get(`${this.httpUrl}Dorsey/GetCompanyDetailsByCompanyId?companyId=${companyId}&organizationId=${organizationId}`)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n getCompaniesCountByOrganizationId(organizationId: number): Observable {\r\n return this.http.get(`${this.httpUrl}Dorsey/GetCompaniesCountByOrganizationId?organizationId=${organizationId}`)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n\r\n private handleError(err: HttpErrorResponse) {\r\n let errorMessage = '';\r\n if (err.error instanceof ErrorEvent) {\r\n errorMessage = `An error occured: ${err.error.message}`;\r\n }\r\n else {\r\n errorMessage = `Server returned code: ${err.status}, error message is ${err.message}`\r\n }\r\n return throwError(errorMessage);\r\n }\r\n}\r\n","import { HttpClient, HttpErrorResponse } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { BehaviorSubject, Observable, throwError } from \"rxjs\";\r\nimport { catchError } from \"rxjs/operators\";\r\nimport { environment } from \"src/environments/environment\";\r\nimport { IResponsePackage } from \"../models/response-package.model\";\r\nimport { Month, WeekDay } from \"../quarter/quarter.model\";\r\n\r\nconst Moment = require('moment');\r\nimport { extendMoment } from 'moment-range';\r\n\r\nconst moment = extendMoment(Moment);\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class QuarterService {\r\n\r\n private httpUrl: string = environment.API_URL;\r\n\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n getMonths(): Array {\r\n return [\r\n { MonthId: 1, MonthName: 'January' },\r\n { MonthId: 2, MonthName: 'February' },\r\n { MonthId: 3, MonthName: 'March' },\r\n { MonthId: 4, MonthName: 'April' },\r\n { MonthId: 5, MonthName: 'May' },\r\n { MonthId: 6, MonthName: 'June' },\r\n { MonthId: 7, MonthName: 'July' },\r\n { MonthId: 8, MonthName: 'August' },\r\n { MonthId: 9, MonthName: 'September' },\r\n { MonthId: 10, MonthName: 'October' },\r\n { MonthId: 11, MonthName: 'November' },\r\n { MonthId: 12, MonthName: 'December' },\r\n ];\r\n }\r\n\r\n getQuarters(companyId: number): Observable {\r\n return this.http.get(`${this.httpUrl}Dorsey/GetQuartersByCompanyId?companyId=${companyId}`).pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n saveQuarters(entity: any): Observable {\r\n return this.http.post(`${this.httpUrl}Dorsey/SaveQuarter`, entity).pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n generateQuarters(selectedMonthId, companyId, currentUser, quarterWeekDay, quarterWeekDate) {\r\n let months = this.getMonths();\r\n var startMonths = months.splice(selectedMonthId - 1);\r\n var concatMonths = startMonths.concat(months).map((val, index) => {\r\n return {\r\n MonthId: index + 1,\r\n MonthName: val.MonthName\r\n }\r\n });\r\n return this.splitArrayIntoQuarters(concatMonths, 3).map((val, index) => {\r\n return {\r\n QuarterId: index + 1,\r\n QuarterName: 'Quarter ' + (index + 1),\r\n QuarterMonths: val,\r\n CompanyId: companyId,\r\n CreatedBy: currentUser,\r\n QuarterWeekDay: quarterWeekDay,\r\n QuarterWeekDate: quarterWeekDate\r\n }\r\n });\r\n }\r\n\r\n splitArrayIntoQuarters(months, noOfMonths) {\r\n var quarters = [], i = 0, n = months.length;\r\n while (i < n) {\r\n quarters.push(months.slice(i, i += noOfMonths));\r\n }\r\n return quarters;\r\n }\r\n\r\n private handleError(err: HttpErrorResponse) {\r\n let errorMessage = '';\r\n if (err.error instanceof ErrorEvent) {\r\n errorMessage = `An error occured: ${err.error.message}`;\r\n }\r\n else {\r\n errorMessage = `Server returned code: ${err.status}, error message is ${err.message}`\r\n }\r\n return throwError(errorMessage);\r\n }\r\n\r\n getQuarterWeekDays(): Array {\r\n return [\r\n\r\n { WeekDayId: 0, WeekDay: 'Sunday' },\r\n { WeekDayId: 1, WeekDay: 'Monday' },\r\n { WeekDayId: 2, WeekDay: 'Tuesday' },\r\n { WeekDayId: 3, WeekDay: 'Wednensday' },\r\n { WeekDayId: 4, WeekDay: 'Thursday' },\r\n { WeekDayId: 5, WeekDay: 'Friday' },\r\n { WeekDayId: 6, WeekDay: 'Saturday' },\r\n\r\n\r\n ];\r\n }\r\n\r\n getWeekDates(startDate, endDate, weekDay) {\r\n\r\n let weekData = [];\r\n var weeks = []\r\n var indexOf = [].indexOf;\r\n var monthRange = moment.range(startDate, endDate);\r\n\r\n for (let mday of monthRange.by('days')) {\r\n\r\n if (weeks.indexOf(mday.week()) === -1) {\r\n weeks.push(mday.week());\r\n }\r\n }\r\n\r\n while (startDate.isSameOrBefore(endDate)) {\r\n if (weekData.length > 0) {\r\n this.getWeeksStartEndDate(weekData, startDate, weekDay);\r\n\r\n startDate.add(1, 'days');\r\n }\r\n\r\n if (!startDate.isAfter(endDate)) {\r\n weekData.push({ startDate: moment(startDate).format('MM/DD') });\r\n startDate.add(6, 'days');\r\n\r\n if (weeks.length == weekData.length) {\r\n this.getWeeksStartEndDate(weekData, startDate, weekDay);\r\n\r\n }\r\n }\r\n }\r\n\r\n\r\n let lastObj = weekData[weekData.length - 1];\r\n if (lastObj.startDate == endDate.format('MM/DD')) {\r\n this.getWeeksStartEndDate(weekData, startDate, weekDay);\r\n }\r\n\r\n return weekData;\r\n }\r\n\r\n getWeeksStartEndDate(weekData, startDate, weekDay): void {\r\n let lastObj = weekData[weekData.length - 1];\r\n lastObj['endDate'] = moment(startDate).format('MM/DD');\r\n lastObj['WeekNo'] = `(week${weekData.length})`\r\n if (weekDay == 'Start Date') {\r\n lastObj['label'] = `${lastObj.startDate}`\r\n }\r\n else {\r\n lastObj['label'] = `${lastObj.endDate}`\r\n }\r\n }\r\n getWeekMonths(months: any, year, quarterWeekday, quarterWeekDate) {\r\n let WeekDateList = [];\r\n\r\n var selectedMonthId = this.getMonths().find(val => val.MonthName == months[0].MonthName).MonthId; var startDate = moment([year, selectedMonthId - 1]);\r\n\r\n var firstDay = moment(startDate).startOf('month');\r\n\r\n var chosenWeekday = Number(quarterWeekday)\r\n const todayNum = moment(firstDay).isoWeekday();\r\n\r\n var firstDayOfWeek;\r\n if ((todayNum <= chosenWeekday))\r\n firstDayOfWeek = chosenWeekday < moment(firstDay).weekday() ? moment(firstDay).weekday(chosenWeekday + 7) : moment(firstDay).weekday(chosenWeekday)\r\n else\r\n firstDayOfWeek = moment(firstDay).startOf('isoWeek').add(1, 'week').day(quarterWeekday);\r\n var endDay;\r\n let weekData = [];\r\n endDay = moment(startDate).add(3, 'months').subtract(1, 'days');\r\n WeekDateList = this.getWeekDates(firstDayOfWeek, endDay, quarterWeekDate);\r\n return WeekDateList;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'sort'\n})\nexport class SortPipe implements PipeTransform {\n\n transform(companyData: Array, args?: any): any {\n // if(args.direction)\n if (companyData) {\n return companyData.sort(function (a, b) {\n if (a[args.property] < b[args.property]) {\n return -1 * args.direction;\n }\n else if (a[args.property] > b[args.property]) {\n return 1 * args.direction;\n }\n else {\n return 0;\n }\n });\n }\n\n // else return -1;\n };\n\n}\n","module.exports = \".highlight {\\n background-color: lightblue;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc3ViLWNvbXBhbnkvRjpcXE5pa2lsIFdvcmtcXFByb2plY3RzXFxEb3JzZXlcXEhpZXJhcmNoeSBTb3VyY2UgQ29kZVxcV29ya2luZ1xcZG9yc2V5R3JvdXAvc3JjXFxhcHBcXHN1Yi1jb21wYW55XFxzdWItY29tcGFueS5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvc3ViLWNvbXBhbnkvc3ViLWNvbXBhbnkuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSwyQkFBQTtBQ0NKIiwiZmlsZSI6InNyYy9hcHAvc3ViLWNvbXBhbnkvc3ViLWNvbXBhbnkuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuaGlnaGxpZ2h0e1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRibHVlO1xyXG59IiwiLmhpZ2hsaWdodCB7XG4gIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0Ymx1ZTtcbn0iXX0= */\"","import { Component, Input, OnInit } from '@angular/core';\nimport { CompanyService } from '../services/company.service';\nimport { CompanyDetails, OrganizationLicenseDetails } from '../company/company.model';\nimport { CompanyDialogComponent } from '../company/company.component';\nimport { MatDialog, MatSlideToggleChange, MatTableDataSource } from '@angular/material';\nimport { LocalStorageService } from 'ngx-webstorage';\nimport { DorseyService } from '../dorsey.service';\nimport { ValidationDialogComponent } from '../add-score-card/validation-dialog';\nimport { ResponseDialogComponent } from '../add-score-card/response-dialog';\nimport { LoginComponent } from '../login/login.component';\n@Component({\n selector: 'app-sub-company',\n templateUrl: './sub-company.component.html',\n styleUrls: ['./sub-company.component.scss']\n})\nexport class SubCompanyComponent implements OnInit {\n @Input() organizationId: number;\n @Input() companyId: number;\n @Input() isSuperAdmin: boolean;\n @Input() entityName: string;\n @Input() entityLicenses: number;\n @Input() subCompanyCount: number;\n @Input() subEntityLicenses: number;\n @Input() remainingEntityLicenses: number;\n errorMessages: string[] = [];\n currentUser: string;\n subCompanyDetails: Array = [];\n subCompany: CompanyDetails;\n userData: any;\n showSubEntities: boolean = false;\n parentCompanyId: number;\n subEntityLevel: number = 0;\n currentRow: number;\n adminEmail: string;\n adminPassword: string;\n adminUserName: string;\n loginUsername: string;\n searchtext: string = '';\n // p: number = 1;\n // rowsOnPage = 10;\n // rowsOnPageSet = [];\n // rowCount: any;\n // dynamicRows = 10;\n isDesc: boolean = false;\n column = '';\n direction: number;\n arrow = true;\n saveFilter: Array = [];\n UserName: string;\n Password: string;\n isDisable = false;\n isSearchDisable = false;\n condition: boolean;\n organizationDetails: any;\n // companyPaging = false;\n dataSource = new MatTableDataSource();\n isCompanyLogin: boolean;\n\n constructor(\n private companyService: CompanyService,\n private dialog: MatDialog,\n private storage: LocalStorageService,\n private login: LoginComponent,\n private dorseyService: DorseyService) {\n this.currentUser = this.storage.retrieve('user');\n this.adminUserName = this.storage.retrieve('adminUname');\n this.adminEmail = this.storage.retrieve('username');\n this.adminPassword = this.storage.retrieve('password');\n this.loginUsername = this.storage.retrieve('loginUsername');\n this.organizationDetails = this.storage.retrieve(\"OrganizationDetails\");\n this.organizationId = this.organizationDetails.OrganizationId;\n this.isSuperAdmin = this.organizationDetails.IsSuperAdmin;\n this.isCompanyLogin = this.storage.retrieve(\"isCompanyLogin\");\n }\n\n ngOnInit(): void {\n this.getSubCompanies(this.companyId);\n this.getUsers();\n }\n\n subCompaniesAlreadyCreated: number;\n SubCompaniesLicensesAlreadyProvided: number;\n\n getSubCompanies(companyId: number): void {\n this.companyService.getSubCompanyDetailsByCompanyId(companyId).subscribe(resp => {\n this.subCompanyDetails = resp.Data;\n this.subCompaniesAlreadyCreated = this.subCompanyDetails.length;\n this.SubCompaniesLicensesAlreadyProvided = this.subCompanyDetails.reduce((sum, current) => sum + current.NoOfSubCompanies, 0);\n // this.rowsOnPageSet = [];\n // this.dynamicRows = 10;\n if (this.subCompanyDetails.length === 0) {\n // this.companyPaging = false;\n this.isDisable = true;\n this.isSearchDisable = true;\n }\n else {\n this.saveFilter = JSON.parse(JSON.stringify(this.subCompanyDetails));\n // this.companyPaging = true;\n this.isDisable = false;\n this.isSearchDisable = false;\n // this.rowCount = this.subCompanyDetails.length;\n // this.dataSource = new MatTableDataSource(this.subCompanyDetails);\n // while (this.dynamicRows < this.rowCount) {\n // this.rowsOnPageSet.push(this.dynamicRows);\n // this.dynamicRows = this.dynamicRows + 10;\n // }\n // if (!this.rowsOnPageSet.includes(this.rowCount))\n // this.rowsOnPageSet.push(this.rowCount);\n // if (this.rowsOnPageSet.length === 1) {\n // if (this.rowsOnPageSet[0] <= 10)\n // this.rowsOnPage = this.rowsOnPageSet[0];\n // }\n }\n })\n }\n\n sort(property) {\n this.arrow = !this.arrow;\n this.isDesc = !this.isDesc; //change the direction\n this.column = property;\n this.direction = this.isDesc ? 1 : -1;\n }\n\n viewSubEntities(element): void {\n this.currentRow = element.CompanyID;\n this.parentCompanyId = element.CompanyID;\n this.subEntityLevel = this.subEntityLevel + 1;\n\n this.companyService.getSubCompaniesCountByCompanyId(element.CompanyID).subscribe(resp => {\n this.subCompanyCount = resp.Data;\n this.entityLicenses = resp.AdditionalData.EntityLicenses;;\n if (this.subEntityLevel > 1) {\n this.showSubEntities = false;\n this.entityName = '';\n setTimeout(() => {\n this.showSubEntities = true;\n this.entityName = element.CompanyName;\n }, 200);\n } else {\n this.showSubEntities = true;\n this.entityName = element.CompanyName;\n }\n });\n\n }\n\n enableScoreCardChange(event: MatSlideToggleChange, row): void {\n const dialogRef = this.dialog.open(CompanyDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: 'Are you sure you want to enable score card for this entity: ' + row.CompanyName + '?æææ' + true,\n });\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n this.subCompany = row;\n this.subCompany.EnableScoreCard = event.checked;\n this.companyService.UpdateEnableScoreCard(this.subCompany).subscribe(resp => {\n if (resp.Data) {\n this.dialog.open(ResponseDialogComponent, {\n data: {\n message: 'Updated successfully'\n }\n });\n }\n });\n } else {\n this.subCompanyDetails.find(ele => ele.CompanyID === row.CompanyID).EnableScoreCard = false;\n }\n\n });\n }\n\n newSubCompany(): void {\n this.searchtext = '';\n this.Searchtext();\n this.errorMessages = [];\n this.remainingEntityLicenses = 0;\n var subEntitiesAlreadyAssigned = 0;\n this.entityLicenses = 0;\n this.getSubCompanies(this.companyId);\n this.companyService.getSubCompaniesCountByCompanyId(this.companyId).subscribe(resp => {\n this.companyService.getSubCompanyDetailsByCompanyId(this.companyId).subscribe(resp1 => {\n\n if (resp1.Data) {\n resp1.Data.forEach(ent => {\n subEntitiesAlreadyAssigned = subEntitiesAlreadyAssigned + ent.NoOfSubCompanies;\n });\n }\n this.entityLicenses = resp.AdditionalData.EntityLicenses;\n this.subCompanyCount = resp.Data + subEntitiesAlreadyAssigned;\n this.remainingEntityLicenses = this.entityLicenses - this.subCompanyCount;\n if (this.entityLicenses <= this.subCompanyCount) {\n this.errorMessages.push('Cannot create new sub entity as there are no licenses');\n this.dialog.open(ValidationDialogComponent, {\n data: {\n errorMessages: this.errorMessages\n }\n });\n return;\n }\n this.remainingEntityLicenses = this.remainingEntityLicenses - 1;\n this.subCompany = {\n CompanyID: 0,\n CompanyName: '',\n ParentID: this.companyId,\n Address1: '',\n Address2: '',\n Country: '',\n State: '',\n City: '',\n Pincode: '',\n Email: '',\n Phone1: '',\n Phone2: '',\n EnableScoreCard: false,\n EnableSubCompanies: false,\n NoOfSubCompanies: 0,\n OrganizationID: this.organizationId,\n UserID: 0,\n UserName: '',\n Password: '',\n FirstName: '',\n LastName: '',\n EmployeeID: 0,\n CreatedBy: this.currentUser,\n UpdatedBy: this.currentUser,\n RowID: 0,\n RoleID: 0\n\n }\n const subDialogref = this.dialog.open(CompanyDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: 'new' + 'æææ' + true,\n });\n subDialogref.componentInstance.companyDetails = this.subCompany;\n subDialogref.componentInstance.userListData = this.userData;\n subDialogref.componentInstance.companyData = this.subCompanyDetails;\n subDialogref.componentInstance.CompanyID = this.companyId;\n subDialogref.componentInstance.entityLicenses = this.entityLicenses;\n subDialogref.componentInstance.remainingEntityLicenses = this.remainingEntityLicenses;\n subDialogref.afterClosed().subscribe(result => {\n this.getSubCompanies(this.companyId);\n });\n });\n });\n\n\n\n\n\n\n\n }\n\n getUsers() {\n this.dorseyService.GetUsersList().subscribe(users => {\n this.userData = JSON.parse(users['_body']);\n });\n }\n\n\n EditCompany(companyRow) {\n this.subCompany = companyRow;\n this.subEntityLicenses = this.subCompany.NoOfSubCompanies;\n this.remainingEntityLicenses = 0;\n this.entityLicenses = 0;\n this.storage.store('CName', companyRow.CompanyName);\n this.companyService.getSubCompaniesCountByCompanyId(this.subCompany.ParentID).subscribe(resp => {\n this.companyService.getSubCompanyDetailsByCompanyId(this.subCompany.ParentID).subscribe(resp1 => {\n var subEntitiesAlreadyAssigned = 0;\n if (resp1.Data) {\n resp1.Data.forEach(ent => {\n subEntitiesAlreadyAssigned = subEntitiesAlreadyAssigned + ent.NoOfSubCompanies;\n });\n }\n this.entityLicenses = resp.AdditionalData.EntityLicenses;\n this.subCompanyCount = resp.Data + subEntitiesAlreadyAssigned;\n this.remainingEntityLicenses = this.entityLicenses - this.subCompanyCount;\n this.remainingEntityLicenses = this.subEntityLicenses + this.remainingEntityLicenses;\n this.dialogCall('edit');\n });\n });\n }\n\n // ifMaxRow() {\n // if (this.rowsOnPage == this.subCompanyDetails.length) {\n // this.rowsOnPage = this.rowsOnPage - 1;\n // }\n // }\n\n DeleteCompany(element) {\n var subCompanyCount = 0;\n this.entityLicenses = 0;\n this.companyService.getSubCompaniesCountByCompanyId(element.CompanyID).subscribe(resp => {\n subCompanyCount = resp.Data;\n this.entityLicenses = resp.AdditionalData.EntityLicenses;\n if (subCompanyCount > 0) {\n this.dialogCall(\"Delete Failed. This entity has sub entities\");\n return;\n }\n else {\n const dialogRef = this.dialog.open(CompanyDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: 'Are you sure you want to delete entity: ' + element.CompanyName + '?æææ' + true,\n });\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n /// this.condition = true;\n this.companyService.deleteCompany(element.CompanyID).subscribe(resp => {\n if (resp.Data) {\n // this.ifMaxRow();\n this.condition = false;\n this.dialogCall('Deleted successfully');\n this.showSubEntities = false;\n }\n // this.dynamicRows = 10;\n // this.rowsOnPageSet = [];\n this.getSubCompanies(this.companyId);\n });\n }\n });\n }\n });\n\n }\n\n Navigate(element) {\n this.login.GetTeam(element.CompanyID);\n this.dorseyService.GetUsersList().subscribe(users => {\n this.userData = JSON.parse(users['_body']);\n let tempUser = this.userData.filter(x => x.CompanyID.toString() === element.CompanyID.toString() && x.EmployeeID.toString() === '0');\n this.login.GetUserRoleAssignment();\n this.storage.store(\"adminEmail\", this.adminEmail);\n this.storage.store(\"adminPassword\", this.adminPassword);\n this.storage.store(\"adminUserName\", this.adminUserName);\n this.storage.store(\"userData\", this.userData);\n this.storage.store(\"companyNavigate\", true);\n if (tempUser.length > 0) {\n this.login.LoginWithCompany(tempUser[0].UserName, tempUser[0].Password, element.CompanyID);\n }\n });\n }\n\n Searchtext() {\n // this.getSubCompanies(this.companyId)\n this.subCompanyDetails = this.saveFilter;\n let tempCompany = this.subCompanyDetails.filter(\n (item) => {\n return (\n (item.CompanyName !== null && item.CompanyName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.Email !== null && item.Email.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.Phone1 !== null && item.Phone1.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1)\n );\n }\n );\n this.subCompanyDetails = tempCompany;\n if (this.subCompanyDetails.length == 0) {\n this.isDisable = true;\n } else {\n this.isDisable = false;\n }\n if (this.searchtext === '') {\n this.subCompanyDetails = this.saveFilter;\n // this.dynamicRows = 10;\n // this.rowsOnPageSet = [];\n // this.rowCount = this.subCompanyDetails.length;\n // while (this.dynamicRows < this.rowCount) {\n // this.rowsOnPageSet.push(this.dynamicRows);\n // this.dynamicRows = this.dynamicRows + 10;\n // }\n // if (!this.rowsOnPageSet.includes(this.rowCount))\n // this.rowsOnPageSet.push(this.rowCount);\n // if (this.rowsOnPageSet) {\n\n // this.rowsOnPage = this.rowsOnPageSet[0];\n // }\n this.isDisable = false;\n }\n // else {\n\n // this.rowCount = tempCompany.length;\n // this.dynamicRows = 10;\n // this.rowsOnPageSet = [];\n // while (this.dynamicRows < this.rowCount) {\n // this.rowsOnPageSet.push(this.dynamicRows);\n // this.dynamicRows = this.dynamicRows + 10;\n // }\n // if (!this.rowsOnPageSet.includes(this.rowCount)) {\n // this.rowsOnPageSet.push(this.rowCount);\n // if (this.rowsOnPageSet)\n // this.rowsOnPage = this.rowsOnPageSet[0];\n // }\n\n // if (this.rowsOnPageSet.length === 1) {\n // if (this.rowsOnPageSet[0] <= 10)\n // this.rowsOnPage = this.rowsOnPageSet[0];\n // }\n //}\n }\n\n GetUsers() {\n this.dorseyService.GetUsersList().subscribe(users => {\n this.userData = JSON.parse(users['_body']);\n });\n }\n\n dialogCall(msg: string) {\n const dialogRef = this.dialog.open(CompanyDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: msg + 'æææ' + false,\n });\n dialogRef.componentInstance.companyData = this.subCompanyDetails;\n dialogRef.componentInstance.companyDetails = this.subCompany;\n dialogRef.componentInstance.userListData = this.userData;\n dialogRef.componentInstance.currentUser = this.currentUser;\n dialogRef.componentInstance.isSuperAdmin = this.isSuperAdmin;\n dialogRef.componentInstance.entityLicenses = this.entityLicenses;\n dialogRef.componentInstance.remainingEntityLicenses = this.remainingEntityLicenses;\n dialogRef.componentInstance.subEntityLicenses = this.subEntityLicenses;\n if (msg == 'new') {\n this.searchtext = '';\n this.getSubCompanies(this.companyId);\n }\n if (msg == 'edit') {\n this.searchtext = '';\n }\n dialogRef.afterClosed().subscribe(result => {\n if (this.searchtext !== '' && this.searchtext !== undefined) {\n this.Searchtext();\n\n }\n else {\n this.getSubCompanies(this.companyId);\n }\n\n if (result && result.toString() === 'true') {\n let statusMsg = '';\n if (msg === 'new') {\n statusMsg = 'Saved successfully';\n }\n else {\n statusMsg = 'Updated successfully';\n }\n // this.dynamicRows = 10;\n const dialogRefsub = this.dialog.open(CompanyDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: statusMsg + 'æææ' + false,\n });\n\n setTimeout(() => {\n this.getSubCompanies(this.companyId);\n this.GetUsers();\n }, 500);\n\n dialogRefsub.afterClosed().subscribe(result1 => {\n if (this.searchtext !== '') {\n this.Searchtext();\n }\n else {\n this.getSubCompanies(this.companyId);\n this.GetUsers();\n }\n });\n }\n });\n }\n\n\n}\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { DorseyService } from '../dorsey.service';\nimport { LocalStorageService } from 'ngx-webstorage';\nimport { DepartmentService } from '../services/department.service';\nimport { EmployeeLoginLevel } from '../common/models/login-level.model';\nimport { copyRight } from '../copyRight.model';\n\n@Component({\n selector: 'app-teams',\n templateUrl: './teams.component.html',\n})\nexport class TeamsComponent implements OnInit {\n employeeLevelLogin = EmployeeLoginLevel;\n Permissons: any;\n processData: any;\n status = false;\n TeamName: string;\n TeamID: string;\n condition = false;\n teamData: any;\n p: number = 1;\n rowsOnPage = 10;\n rowsOnPageSet = [];\n rowCount: any;\n dynamicRows = 10;\n isDesc: boolean = false;\n column = \"\";\n direction: number;\n searchtext: string;\n teamPaging = false;\n saveFilter = [];\n CompanyID: string;\n isDisable = false;\n disableSearch = false;\n currentUser: string;\n MenuPermissions: any;\n menuData: any;\n menuID: string;\n menuName: string;\n processIDs = [];\n keyProcessTeam: any;\n TeamDescription: string;\n\n granualActivity = [];\n empID: string;\n arrow = true;\n loginCompanyName: any;\n employeeData: any;\n userRoleAssignmentData: any;\n rolesData: any;\n UserID: any;\n processName = [];\n DepartmentList: any;\n DepartmentID: number;\n employeeLoginLevel = EmployeeLoginLevel;\n employeeDetails: any;\n constructor(public dialog: MatDialog,\n public dorseyService: DorseyService,\n private storage: LocalStorageService,\n private departmentService: DepartmentService) {\n this.CompanyID = this.storage.retrieve('companyID');\n this.currentUser = this.storage.retrieve('user');\n this.menuData = this.storage.retrieve('menuData');\n this.MenuPermissions = this.storage.retrieve('MenuPermissions');\n\n this.empID = this.storage.retrieve(\"EmployeeID\");\n\n this.loginCompanyName = this.storage.retrieve('loginCompanyName');\n this.UserID = this.storage.retrieve('UserID');\n this.employeeDetails = this.storage.retrieve('employeeDetails');\n }\n\n ngOnInit() {\n this.getTeam();\n this.menuData = this.menuData.filter(x => x.MenuName.toString().toLowerCase() === 'team');\n if (this.menuData.length > 0) {\n this.menuName = this.menuData[0][\"MenuName\"];\n this.menuID = this.menuData[0][\"MenuID\"];\n }\n this.getProcess();\n this.getDepartments();\n\n }\n\n getDepartments(): void {\n this.DepartmentList = [];\n this.departmentService.getDepartments(parseInt(this.CompanyID)).subscribe(resp => {\n this.DepartmentList = resp.Data;\n if (this.employeeDetails) {\n if (this.employeeDetails.IsEmployeeLoginLevel == this.employeeLevelLogin.Department) {\n this.DepartmentList = this.DepartmentList.filter(ent => ent.DepartmentID === this.employeeDetails.DepartmentID)\n }\n // else if (this.employeeDetails.IsEmployeeLoginLevel == this.employeeLevelLogin.Team) {\n // this.DepartmentList = this.DepartmentList.filter(ent => ent.TeamID == this.employeeDetails.TeamID)\n // }\n }\n });\n }\n\n exportAsXLSX() {\n let allData = JSON.parse(JSON.stringify(this.teamData));\n for (let i = 0; i < allData.length; i++) {\n allData[i][\"Department Name\"] = allData[i].DepartmentName;\n allData[i].Team = this.teamData[i].TeamName;\n allData[i].Description = this.teamData[i].TeamDescription;\n delete (allData[i].DepartmentID);\n delete (allData[i].DepartmentName);\n delete (allData[i].TeamName);\n delete (allData[i].TeamDescription);\n delete (allData[i].CompanyID);\n delete (allData[i].ProcessID);\n delete (allData[i].TeamID);\n delete (allData[i].CreatedDate);\n delete (allData[i].CreatedBy);\n delete (allData[i].IsActive);\n delete (allData[i].UpdatedBy);\n delete (allData[i].UpdatedDate);\n\n }\n this.dorseyService.generateExcel(allData, this.loginCompanyName + '_team' + \"_\" + (new Date().getMonth() + 1) + '-' + new Date().getDate() + '-' + new Date().getFullYear(), 'Team', \"Company: \" + this.loginCompanyName, '', \"Team Report\", copyRight, 'FFFFFF00', 'FF0000FF');\n }\n\n searchText(): void {\n this.teamData = this.saveFilter;\n let tempTeam = this.teamData.filter(\n (item) => {\n return (\n (item.TeamName !== null && item.TeamName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.DepartmentName !== null && item.DepartmentName.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1) ||\n (item.TeamDescription !== null && item.TeamDescription.toLowerCase().indexOf(this.searchtext.toLowerCase().trim()) > -1)\n\n );\n }\n );\n this.teamData = tempTeam;\n if (this.teamData.length == 0) {\n this.isDisable = true;\n } else {\n this.isDisable = false;\n }\n if (this.searchtext === '') {\n this.teamData = this.saveFilter;\n this.rowCount = this.teamData.length;\n this.isDisable = false;\n this.getTeamPagination(this.rowCount);\n }\n else {\n this.rowCount = tempTeam.length;\n this.getTeamPagination(this.rowCount);\n if (this.rowsOnPageSet.length === 1) {\n if (this.rowsOnPageSet[0] <= 10)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n }\n }\n\n getTeam(): void {\n this.teamData = [];\n this.dorseyService.GetTeam(this.CompanyID).subscribe(processDa => {\n processDa = JSON.parse(processDa['_body']);\n this.teamData = processDa;\n this.dynamicRows = 10;\n this.rowsOnPageSet = [];\n if (this.teamData.length === 0) {\n this.teamPaging = false;\n this.isDisable = true;\n this.disableSearch = true;\n }\n else {\n this.teamPaging = true;\n this.isDisable = false;\n this.disableSearch = false;\n if (this.employeeDetails) {\n if (this.employeeDetails.IsEmployeeLoginLevel == this.employeeLevelLogin.Department) {\n this.teamData = this.teamData.filter(ent => ent.DepartmentID == this.employeeDetails.DepartmentID)\n }\n else if (this.employeeDetails.IsEmployeeLoginLevel == this.employeeLevelLogin.Team) {\n this.teamData = this.teamData.filter(ent => ent.TeamID == this.employeeDetails.TeamID)\n }\n else {\n let data = this.teamData.filter(x => x.CompanyID === this.CompanyID);\n this.teamData = data;\n }\n let tempTeam = this.teamData;\n if (!this.employeeDetails.PermissionJson) {\n this.rowCount = this.teamData.length;\n this.saveFilter = JSON.parse(JSON.stringify(this.teamData));\n this.getTeamPagination(this.rowCount)\n return;\n }\n\n this.Permissons = JSON.parse(this.employeeDetails.PermissionJson);\n this.Permissons = this.Permissons[\"Team\"];\n if (this.Permissons != undefined) {\n let teamKeys = Object.keys(this.Permissons);\n this.teamData = tempTeam.filter(x => x.CompanyID === this.CompanyID);\n if (teamKeys != undefined) {\n for (let i = 0; i < teamKeys.length; i++) {\n let actData = this.teamData.filter(x => x.TeamID.toString() === teamKeys[i].toString());\n if (actData.length > 0) {\n let permissonKeys = Object.keys(this.Permissons[teamKeys[i]]);\n if (permissonKeys.indexOf('R') > -1)\n actData[0]['R'] = this.Permissons[teamKeys[i]]['R'];\n else\n actData[0]['R'] = false;\n if (permissonKeys.indexOf('C') > -1)\n actData[0]['C'] = this.Permissons[teamKeys[i]]['C'];\n else\n actData[0]['C'] = false;\n if (permissonKeys.indexOf('U') > -1)\n actData[0]['U'] = this.Permissons[teamKeys[i]]['U'];\n else\n actData[0]['U'] = false;\n if (permissonKeys.indexOf('D') > -1)\n actData[0]['D'] = this.Permissons[teamKeys[i]]['D'];\n else\n actData[0]['D'] = false;\n\n this.granualActivity.push(actData[0]);\n }\n }\n this.teamData = this.granualActivity;\n if (this.teamData.length > 0) {\n this.rowCount = this.teamData.length;\n this.teamPaging = true;\n this.isDisable = false;\n this.disableSearch = false;\n this.saveFilter = JSON.parse(JSON.stringify(this.teamData));\n this.getTeamPagination(this.rowCount)\n }\n else if (this.teamData.length === 0) {\n this.teamPaging = false;\n this.isDisable = true;\n this.disableSearch = true;\n }\n }\n } else {\n if (this.teamData.length > 0) {\n this.rowCount = this.teamData.length;\n this.teamPaging = true;\n this.isDisable = false;\n this.disableSearch = false;\n this.saveFilter = JSON.parse(JSON.stringify(this.teamData));\n this.getTeamPagination(this.rowCount)\n }\n else if (this.teamData.length === 0) {\n this.teamPaging = false;\n this.isDisable = true;\n this.disableSearch = true;\n }\n }\n }\n else {\n this.teamData = processDa;\n this.saveFilter = JSON.parse(JSON.stringify(this.teamData));\n this.rowCount = this.teamData.length;\n this.getTeamPagination(this.rowCount)\n }\n }\n });\n }\n getTeamPagination(RowCount): void {\n this.dynamicRows = 10;\n this.rowsOnPageSet = [];\n this.rowsOnPage = 10;\n this.rowCount = RowCount;\n while (this.dynamicRows < this.rowCount) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 10;\n }\n if (!this.rowsOnPageSet.includes(this.rowCount)) {\n this.rowsOnPageSet.push(this.rowCount);\n if (this.rowsOnPageSet.length === 1) {\n if (this.rowsOnPageSet[0] <= 10)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n }\n }\n\n sort(property): void {\n this.arrow = !this.arrow;\n this.isDesc = !this.isDesc; //change the direction \n this.column = property;\n this.direction = this.isDesc ? 1 : -1;\n }\n\n OpenTeam(): void {\n this.TeamDescription = '';\n this.DepartmentID = 0;\n this.TeamName = '';\n this.dialogCall('new');\n }\n\n dialogCall(msg: string) {\n const dialogRef = this.dialog.open(TeamsDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: msg + 'æææ' + false,\n });\n dialogRef.componentInstance.currentUser = this.currentUser;\n dialogRef.componentInstance.teamData = this.teamData;\n dialogRef.componentInstance.TeamDescription = this.TeamDescription;\n dialogRef.componentInstance.CompanyID = this.CompanyID;\n dialogRef.componentInstance.DepartmentList = this.DepartmentList;\n dialogRef.componentInstance.DepartmentID = this.DepartmentID;\n if (msg === 'new') {\n this.searchtext = '';\n this.getTeam();\n }\n if (msg === 'edit') {\n dialogRef.componentInstance.TeamName = this.TeamName;\n dialogRef.componentInstance.TeamID = this.TeamID;\n }\n dialogRef.afterClosed().subscribe(result => {\n\n this.TeamID = \"\";\n if (this.searchtext !== '' && this.searchtext !== undefined) {\n this.searchText();\n }\n else {\n this.getTeam();\n }\n if (result.toString() === 'true') {\n let statusMsg = '';\n if (msg === 'new') {\n statusMsg = 'Saved successfully';\n }\n else {\n statusMsg = 'Updated successfully';\n }\n this.getTeam();\n const dialogRefsub = this.dialog.open(TeamsDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: statusMsg + 'æææ' + false,\n });\n setTimeout(() => {\n this.getTeam();\n }, 500);\n dialogRefsub.afterClosed().subscribe(result1 => {\n this.dynamicRows = 10;\n if (this.searchtext !== '' && this.searchtext !== undefined) {\n this.searchText();\n }\n else {\n this.getTeam();\n }\n });\n }\n });\n }\n\n getProcess() {\n this.dorseyService.GetProcess(this.CompanyID).subscribe(processDa => {\n processDa = JSON.parse(processDa['_body']);\n this.processData = processDa;\n this.processData.sort(function (a, b) {\n return b.squence - a.squence;\n });\n });\n\n }\n\n getEmployee() {\n this.dorseyService.GetEmployee(this.CompanyID).subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.employeeData = subData;\n });\n }\n EditTeam(element): void {\n this.TeamDescription = element.TeamDescription;\n this.DepartmentID = element.DepartmentID;\n this.TeamID = element.TeamID;\n this.TeamName = element.TeamName;\n this.storage.store('TName', this.TeamName);\n this.dialogCall('edit');\n }\n\n ifMaxRow(): void {\n if (this.rowsOnPage == this.teamData.length) {\n this.rowsOnPage = this.rowsOnPage - 1;\n }\n }\n\n DeleteTeam(element): void {\n this.TeamID = element.TeamID;\n const dialogRef = this.dialog.open(TeamsDialogComponent, {\n panelClass: 'custom-dialog-container',\n data: 'Are you sure you want to delete team: ' + element.TeamName + '?æææ' + true,\n });\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n this.getEmployee();\n let issueCount = 0;\n let issueCount1 = 0;\n setTimeout(() => {\n for (let i = 0; i < this.employeeData.length; i++) {\n if (this.TeamID == this.employeeData[i].TeamID) {\n issueCount++;\n }\n }\n\n for (let i = 0; i < this.processData.length; i++) {\n if (this.TeamID == this.processData[i].TeamID) {\n issueCount1++;\n }\n }\n if (!issueCount && !issueCount1) {\n this.dorseyService.DeleteTeam(this.TeamID).subscribe(data => {\n if (data.ok) {\n this.ifMaxRow();\n this.condition = true;\n this.dialogCall('Deleted successfully');\n }\n this.dynamicRows = 10;\n this.rowsOnPageSet = [];\n this.getTeam();\n });\n } else {\n this.dialogCall(\"This team have an employee or process\");\n }\n }, 500);\n }\n });\n }\n}\n\n\n@Component({\n selector: 'app-dialog',\n templateUrl: 'dialog.html',\n providers: [DorseyService]\n})\nexport class TeamsDialogComponent implements OnInit {\n condition = false;\n processData: any;\n dataSelf: string;\n TeamName: string;\n TeamID: string;\n teamData: any;\n CompanyID: string;\n currentUser: string;\n TeamDescription: string;\n processIDs = [];\n processName: any;\n btnDisabled = false;\n DepartmentID: number;\n DepartmentList: string;\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any, public dorseyService: DorseyService, private storage: LocalStorageService) {\n this.data = this.data.split('æææ');\n if (this.data[1] === 'true') {\n this.condition = true;\n } else {\n this.condition = false;\n }\n this.data = this.data[0];\n }\n\n ngOnInit() {\n }\n\n onYesClick() {\n this.dialogRef.close(true);\n }\n\n onNoClick(): void {\n this.dialogRef.close();\n }\n\n process(event) {\n this.processIDs = event.value;\n }\n\n departmentChange(event) {\n this.DepartmentID = event.value;\n }\n\n AddTeam() {\n this.btnDisabled = true;\n setTimeout(() => {\n this.btnDisabled = false;\n }, 1000);\n this.dataSelf = '';\n\n if (this.DepartmentID === 0 || !this.TeamName.trim()) {\n this.dataSelf = 'Please enter mandatory(*) fields';\n return;\n }\n this.saveTeam(this.data);\n }\n\n saveTeam(msg: string) {\n const json = {\n TeamName: this.TeamName,\n CreatedBy: this.currentUser,\n UpdatedBy: this.currentUser,\n TeamID: this.TeamID,\n CompanyID: this.CompanyID,\n ProcessID: JSON.stringify(this.processIDs),\n TeamDescription: this.TeamDescription,\n DepartmentID: this.DepartmentID\n };\n if (msg === 'new') {\n for (let i = 0; i < this.teamData.length; i++) {\n if (this.TeamName.toLowerCase().trim() === this.teamData[i].TeamName.toLowerCase().trim()) {\n this.dataSelf = \"Team name already exists\";\n return;\n }\n }\n this.dorseyService.SaveTeam(json).subscribe(data => {\n if (data['_body'].toString() === 'true') {\n this.dataSelf = 'Saved successfully';\n this.dialogRef.close(true);\n } else {\n this.dataSelf = 'Save failed';\n }\n });\n } else {\n for (let i = 0; i < this.teamData.length; i++) {\n if (this.TeamName.toLowerCase().trim() === this.teamData[i].TeamName.toLowerCase().trim() && this.TeamName.toLowerCase().trim() !== this.storage.retrieve('TName').toLowerCase().trim()) {\n this.dataSelf = \"Team name already exists\";\n return;\n }\n }\n this.dorseyService.SaveTeam(json).subscribe(data => {\n if (data['_body'].toString() === 'true') {\n this.dialogRef.close(true);\n } else {\n this.dataSelf = 'Updated successfully';\n }\n });\n }\n }\n\n Clear() {\n this.dialogRef.close(false);\n }\n\n IsAlpha(evt) {\n var keyCode = (evt.which) ? evt.which : evt.keyCode\n if ((keyCode < 65 || keyCode > 90) && (keyCode < 97 || keyCode > 123) && keyCode != 32)\n return false;\n return true;\n }\n\n validate() {\n for (let i = 0; i < this.teamData.length; i++) {\n if (this.TeamName && this.TeamName.toLowerCase().trim() === this.teamData[i].TeamName.toLowerCase().trim()) {\n this.dataSelf = \"Team name already exists\";\n setTimeout(() => {\n this.dataSelf = '';\n }, 2000);\n\n }\n }\n }\n}\n","module.exports = \"table {\\n width: 100%;\\n font-size: smaller;\\n}\\n\\nth, td {\\n text-align: center;\\n font-size: smaller;\\n}\\n\\nth {\\n color: white;\\n background-color: #474747;\\n height: 35px;\\n font-size: 13px;\\n}\\n\\ntd {\\n height: 35px;\\n font-size: 13px;\\n}\\n\\ntable {\\n border-collapse: collapse;\\n}\\n\\ntable, th, td {\\n border: 1px solid #e1e1e1;\\n overflow: hidden;\\n word-wrap: break-word;\\n}\\n\\ntable.fixed {\\n table-layout: fixed;\\n}\\n\\ntable.fixed td {\\n overflow: hidden;\\n}\\n\\n.highlight td {\\n background: #C0C0C0;\\n}\\n\\n.fa {\\n font-size: 18px;\\n}\\n\\n.fa-trash-o {\\n color: red;\\n}\\n\\n.warningMsg {\\n text-align: center;\\n color: red;\\n}\\n\\n.fa-arrow-down, .fa-arrow-up {\\n font-size: 10px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdXNlci1wZXJtaXNpb25zL0Y6XFxOaWtpbCBXb3JrXFxQcm9qZWN0c1xcRG9yc2V5XFxIaWVyYXJjaHkgU291cmNlIENvZGVcXFdvcmtpbmdcXGRvcnNleUdyb3VwL3NyY1xcYXBwXFx1c2VyLXBlcm1pc2lvbnNcXHVzZXItcGVybWlzaW9ucy5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvdXNlci1wZXJtaXNpb25zL3VzZXItcGVybWlzaW9ucy5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTtFQUNJLFdBQUE7RUFDQSxrQkFBQTtBQ0RKOztBREdBO0VBQ0ksa0JBQUE7RUFDQSxrQkFBQTtBQ0FKOztBREdBO0VBQ0MsWUFBQTtFQUNELHlCQUFBO0VBQ0EsWUFBQTtFQUNDLGVBQUE7QUNBRDs7QURFQTtFQUNJLFlBQUE7RUFDQyxlQUFBO0FDQ0w7O0FEQ0E7RUFDSSx5QkFBQTtBQ0VKOztBREFBO0VBQ0kseUJBQUE7RUFDQSxnQkFBQTtFQUNBLHFCQUFBO0FDR0o7O0FEREE7RUFBYyxtQkFBQTtBQ0tkOztBREpBO0VBQWlCLGdCQUFBO0FDUWpCOztBRFBBO0VBQWUsbUJBQUE7QUNXZjs7QURUQTtFQUNLLGVBQUE7QUNZTDs7QURUQTtFQUNJLFVBQUE7QUNZSjs7QURWQTtFQUNJLGtCQUFBO0VBQW1CLFVBQUE7QUNjdkI7O0FEWkE7RUFDSSxlQUFBO0FDZUoiLCJmaWxlIjoic3JjL2FwcC91c2VyLXBlcm1pc2lvbnMvdXNlci1wZXJtaXNpb25zLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiXHJcblxyXG50YWJsZSB7XHJcbiAgICB3aWR0aDoxMDAlO1xyXG4gICAgZm9udC1zaXplOiBzbWFsbGVyO1xyXG59XHJcbnRoLHRke1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgZm9udC1zaXplOiBzbWFsbGVyO1xyXG59XHJcblxyXG50aCB7XHJcbiBjb2xvcjp3aGl0ZTsgICAgIFxyXG5iYWNrZ3JvdW5kLWNvbG9yOiBcdCM0NzQ3NDc7XHJcbmhlaWdodDogMzVweDtcclxuIGZvbnQtc2l6ZTogMTNweDtcclxufVxyXG50ZCB7XHJcbiAgICBoZWlnaHQ6IDM1cHg7XHJcbiAgICAgZm9udC1zaXplOiAxM3B4O1xyXG59XHJcbnRhYmxlIHtcclxuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbn1cclxudGFibGUsIHRoLCB0ZCB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTFlMWUxO1xyXG4gICAgb3ZlcmZsb3c6aGlkZGVuO1xyXG4gICAgd29yZC13cmFwOmJyZWFrLXdvcmQ7XHJcbn1cclxudGFibGUuZml4ZWQgeyB0YWJsZS1sYXlvdXQ6Zml4ZWQ7IH1cclxudGFibGUuZml4ZWQgdGQgeyBvdmVyZmxvdzogaGlkZGVuOyB9XHJcbi5oaWdobGlnaHQgdGQge2JhY2tncm91bmQ6ICNDMEMwQzA7fVxyXG5cclxuLmZhe1xyXG4gICAgIGZvbnQtc2l6ZTogMThweDsgXHJcbn1cclxuXHJcbi5mYS10cmFzaC1ve1xyXG4gICAgY29sb3I6cmVkO1xyXG59XHJcbi53YXJuaW5nTXNnIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtjb2xvcjogcmVkO1xyXG59XHJcbi5mYS1hcnJvdy1kb3duLCAuZmEtYXJyb3ctdXB7XHJcbiAgICBmb250LXNpemU6IDEwcHhcclxufVxyXG4iLCJ0YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IHNtYWxsZXI7XG59XG5cbnRoLCB0ZCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiBzbWFsbGVyO1xufVxuXG50aCB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQ3NDc0NztcbiAgaGVpZ2h0OiAzNXB4O1xuICBmb250LXNpemU6IDEzcHg7XG59XG5cbnRkIHtcbiAgaGVpZ2h0OiAzNXB4O1xuICBmb250LXNpemU6IDEzcHg7XG59XG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbn1cblxudGFibGUsIHRoLCB0ZCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlMWUxZTE7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cblxudGFibGUuZml4ZWQge1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xufVxuXG50YWJsZS5maXhlZCB0ZCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5oaWdobGlnaHQgdGQge1xuICBiYWNrZ3JvdW5kOiAjQzBDMEMwO1xufVxuXG4uZmEge1xuICBmb250LXNpemU6IDE4cHg7XG59XG5cbi5mYS10cmFzaC1vIHtcbiAgY29sb3I6IHJlZDtcbn1cblxuLndhcm5pbmdNc2cge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiByZWQ7XG59XG5cbi5mYS1hcnJvdy1kb3duLCAuZmEtYXJyb3ctdXAge1xuICBmb250LXNpemU6IDEwcHg7XG59Il19 */\"","import { Component, OnInit } from '@angular/core';\nimport { DorseyService } from '../dorsey.service';\n\n@Component({\n selector: 'app-user-permisions',\n templateUrl: './user-permisions.component.html',\n styleUrls: ['./user-permisions.component.scss']\n})\nexport class UserPermisionsComponent implements OnInit {\n index = 0;\n roleData: any;\n p: number = 1;\n rowsOnPage = 10;\n rowsOnPageSet = [];\n rowCount: any;\n dynamicRows = 10;\n isDesc: boolean = false;\n column = \"\";\n direction: number;\n arrow = true;\n processPaging = false;\n saveFilter = [];\n constructor(private dorseyService: DorseyService) { }\n\n ngOnInit() {\n this.GetUsers();\n }\n onLinkClick(event) {\n this.index = event.index;\n }\n\n GetUsers() {\n this.dorseyService.GetUsersList().subscribe(subData => {\n subData = JSON.parse(subData['_body']);\n this.roleData = subData;\n this.rowCount = this.roleData.length;\n if (this.roleData.length === 0) {\n this.processPaging = false;\n }\n else {\n this.saveFilter = JSON.parse(JSON.stringify(this.roleData));\n this.processPaging = true;\n\n while (this.dynamicRows < this.rowCount) {\n this.rowsOnPageSet.push(this.dynamicRows);\n this.dynamicRows = this.dynamicRows + 10;\n }\n if (!this.rowsOnPageSet.includes(this.rowCount)) this.rowsOnPageSet.push(this.rowCount);\n if (this.rowsOnPageSet.length === 1) {\n if (this.rowsOnPageSet[0] <= 10)\n this.rowsOnPage = this.rowsOnPageSet[0];\n }\n }\n });\n }\n\n\n sort(property) {\n this.arrow = !this.arrow;\n this.isDesc = !this.isDesc; //change the direction \n this.column = property;\n this.direction = this.isDesc ? 1 : -1;\n }\n\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3VzZXJtYW51YWwvdXNlcm1hbnVhbC5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-usermanual',\n templateUrl: './usermanual.component.html',\n styleUrls: ['./usermanual.component.scss'],\n\n})\nexport class UsermanualComponent implements OnInit {\n\n // PdfArry=[\n // {pdfSrc:'../../assets/images/DMAPP_SampleUserManual.pdf'},\n // ]\n \n constructor() { \n }\n ngOnInit(): void {\n document.addEventListener(\"contextmenu\", function (e) {\n e.preventDefault();\n }, false);\n document.onkeydown = function(e) {\n // Allow: Ctrl+A\n if (e.ctrlKey && e.keyCode === 65) {\n return false;\n }//Ctrl + C\n if (e.ctrlKey && e.keyCode === 67) {\n return false;\n }//Ctrl + V\n if (e.ctrlKey && e.keyCode === 86) {\n return false;\n }\n //ctrl p\n if(e.ctrlKey && e.keyCode == 80){\n return false;\n }\n //right click key code\n if(e.ctrlKey && e.keyCode == 93){\n return false;\n\n }\n }\n }\n\n}\n","module.exports = \".text-underline {\\n text-decoration: underline;\\n}\\n\\n.field {\\n margin-left: 2%;\\n}\\n\\n#tableActions {\\n justify-content: flex-start !important;\\n}\\n\\n.form-group {\\n margin-bottom: 0.25rem;\\n}\\n\\n.example-headers-align .mat-expansion-panel-header-title,\\n.example-headers-align .mat-expansion-panel-header-description {\\n flex-basis: 0;\\n}\\n\\n.example-headers-align .mat-expansion-panel-header-description {\\n justify-content: space-between;\\n align-items: center;\\n}\\n\\n.example-headers-align .mat-form-field + .mat-form-field {\\n margin-left: 8px;\\n}\\n\\n.mat-action-row {\\n padding: 0px !important;\\n}\\n\\nmat-expansion-panel-header {\\n height: 48px !important;\\n pointer-events: none;\\n border-bottom: 1px solid lightgrey;\\n}\\n\\n.p-t-20 {\\n padding-top: 20px !important;\\n}\\n\\nmat-panel-title {\\n font-weight: 600;\\n}\\n\\nth {\\n color: white;\\n background-color: #474747;\\n}\\n\\n.target-width {\\n width: 75px;\\n}\\n\\n.f-b {\\n font-weight: bold;\\n}\\n\\n.p-0 {\\n padding: 0px !important;\\n}\\n\\n.m-0 {\\n margin: 0px !important;\\n}\\n\\n.min-width-300 {\\n min-width: 300px !important;\\n width: 400px !important;\\n max-width: 400px !important;\\n word-break: break-all;\\n}\\n\\n.min-width {\\n min-width: 130px !important;\\n width: 130px !important;\\n max-width: 130px !important;\\n}\\n\\n.w-50 {\\n text-align: center;\\n min-width: 50px !important;\\n width: 80px !important;\\n max-width: 80px !important;\\n}\\n\\n.w-100 {\\n width: 100%;\\n}\\n\\n.m-2 {\\n margin: 2%;\\n}\\n\\n.btn-default {\\n background-color: #e6e8eb !important;\\n}\\n\\n.bg-red {\\n background-color: red;\\n color: white;\\n text-align: center;\\n padding-top: 20px;\\n}\\n\\n.bg-yellow {\\n background-color: yellow;\\n color: white;\\n text-align: center;\\n padding-top: 20px;\\n}\\n\\n.bg-green {\\n background-color: green;\\n color: white;\\n text-align: center;\\n padding-top: 20px;\\n}\\n\\n.w-80 {\\n min-width: 60px;\\n width: 60px;\\n max-width: 60px;\\n word-break: break-all;\\n}\\n\\n.w-130 {\\n min-width: 130px;\\n width: 130px;\\n max-width: 130px;\\n}\\n\\n.warningMsg {\\n text-align: center;\\n color: red;\\n}\\n\\n.center {\\n display: block;\\n margin-left: auto;\\n margin-right: auto;\\n width: 20%;\\n}\\n\\n.m-2 {\\n margin: 2%;\\n}\\n\\n.headcol {\\n position: -webkit-sticky;\\n position: sticky;\\n left: 0px;\\n /* height: 48px; */\\n z-index: 1;\\n}\\n\\n.headcol1 {\\n position: -webkit-sticky;\\n position: sticky;\\n left: 130px;\\n /* height: 48px; */\\n z-index: 1;\\n}\\n\\n.bodycol {\\n position: -webkit-sticky;\\n position: sticky;\\n left: 0px;\\n /* height: 48px; */\\n z-index: 1;\\n background-color: lightgrey;\\n text-align: center;\\n vertical-align: middle;\\n}\\n\\n.bodycol1 {\\n position: -webkit-sticky;\\n position: sticky;\\n left: 130px;\\n /* height: 48px; */\\n z-index: 1;\\n background-color: lightgrey;\\n text-align: center;\\n vertical-align: middle;\\n}\\n\\n@media screen {\\n .donotprintthis {\\n display: inline-block;\\n }\\n}\\n\\n@media print {\\n .donotprintthis {\\n display: none;\\n }\\n}\\n\\n@media print {\\n @page {\\n size: landscape;\\n }\\n}\\n\\n@media print {\\n @page {\\n margin: 0;\\n }\\n body {\\n margin: 1.6cm;\\n }\\n}\\n\\n@page {\\n size: auto;\\n /* auto is the initial value */\\n margin: 0mm;\\n /* this affects the margin in the printer settings */\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdmlldy1zY29yZS1jYXJkL0Y6XFxOaWtpbCBXb3JrXFxQcm9qZWN0c1xcRG9yc2V5XFxIaWVyYXJjaHkgU291cmNlIENvZGVcXFdvcmtpbmdcXGRvcnNleUdyb3VwL3NyY1xcYXBwXFx2aWV3LXNjb3JlLWNhcmRcXHZpZXctc2NvcmUtY2FyZC5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvdmlldy1zY29yZS1jYXJkL3ZpZXctc2NvcmUtY2FyZC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLDBCQUFBO0FDQ0o7O0FERUE7RUFDSSxlQUFBO0FDQ0o7O0FERUE7RUFDSSxzQ0FBQTtBQ0NKOztBREVBO0VBQ0ksc0JBQUE7QUNDSjs7QURFQTs7RUFFRSxhQUFBO0FDQ0Y7O0FERUE7RUFDRSw4QkFBQTtFQUNBLG1CQUFBO0FDQ0Y7O0FERUE7RUFDRSxnQkFBQTtBQ0NGOztBREVBO0VBQ0EsdUJBQUE7QUNDQTs7QURFQTtFQUNJLHVCQUFBO0VBQ0Esb0JBQUE7RUFDQSxrQ0FBQTtBQ0NKOztBREVBO0VBQ0UsNEJBQUE7QUNDRjs7QURFQTtFQUNJLGdCQUFBO0FDQ0o7O0FERUE7RUFDRSxZQUFBO0VBQ0EseUJBQUE7QUNDRjs7QURFQTtFQUNFLFdBQUE7QUNDRjs7QURFQTtFQUNFLGlCQUFBO0FDQ0Y7O0FERUE7RUFDRSx1QkFBQTtBQ0NGOztBREVBO0VBQ0Usc0JBQUE7QUNDRjs7QURFQTtFQUNFLDJCQUFBO0VBQ0EsdUJBQUE7RUFDQSwyQkFBQTtFQUNBLHFCQUFBO0FDQ0Y7O0FERUE7RUFDRSwyQkFBQTtFQUNBLHVCQUFBO0VBQ0EsMkJBQUE7QUNDRjs7QURFQTtFQUNFLGtCQUFBO0VBQ0EsMEJBQUE7RUFDQSxzQkFBQTtFQUNBLDBCQUFBO0FDQ0Y7O0FERUE7RUFDRSxXQUFBO0FDQ0Y7O0FERUE7RUFDRSxVQUFBO0FDQ0Y7O0FERUE7RUFDRSxvQ0FBQTtBQ0NGOztBREVBO0VBQ0UscUJBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtBQ0NGOztBREVBO0VBQ0Usd0JBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtBQ0NGOztBREVBO0VBQ0UsdUJBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtBQ0NGOztBREVBO0VBQ0UsZUFBQTtFQUNBLFdBQUE7RUFDQSxlQUFBO0VBQ0EscUJBQUE7QUNDRjs7QURDQTtFQUNFLGdCQUFBO0VBQ0EsWUFBQTtFQUNBLGdCQUFBO0FDRUY7O0FEQ0E7RUFDRSxrQkFBQTtFQUNBLFVBQUE7QUNFRjs7QURDQTtFQUNFLGNBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0VBQ0EsVUFBQTtBQ0VGOztBRENBO0VBQ0UsVUFBQTtBQ0VGOztBRENBO0VBQ0Usd0JBQUE7RUFBQSxnQkFBQTtFQUNFLFNBQUE7RUFDQSxrQkFBQTtFQUNBLFVBQUE7QUNFSjs7QURDQTtFQUNFLHdCQUFBO0VBQUEsZ0JBQUE7RUFDRSxXQUFBO0VBQ0Esa0JBQUE7RUFDQSxVQUFBO0FDRUo7O0FEQ0E7RUFDRSx3QkFBQTtFQUFBLGdCQUFBO0VBQ0UsU0FBQTtFQUNBLGtCQUFBO0VBQ0EsVUFBQTtFQUNBLDJCQUFBO0VBQ0Esa0JBQUE7RUFDQSxzQkFBQTtBQ0VKOztBRENBO0VBQ0Usd0JBQUE7RUFBQSxnQkFBQTtFQUNFLFdBQUE7RUFDQSxrQkFBQTtFQUNBLFVBQUE7RUFDQSwyQkFBQTtFQUNBLGtCQUFBO0VBQ0Esc0JBQUE7QUNFSjs7QURDQTtFQUVRO0lBQ0EscUJBQUE7RUNDTjtBQUNGOztBREVHO0VBQ0E7SUFDQyxhQUFBO0VDQUY7QUFDRjs7QURFRztFQUFhO0lBQU8sZUFBQTtFQ0VyQjtBQUNGOztBREZFO0VBQ0E7SUFBUSxTQUFBO0VDS1I7RURKQTtJQUFPLGFBQUE7RUNPUDtBQUNGOztBRExBO0VBRVEsVUFBQTtFQUFjLDhCQUFBO0VBQ2QsV0FBQTtFQUFjLG9EQUFBO0FDUXRCIiwiZmlsZSI6InNyYy9hcHAvdmlldy1zY29yZS1jYXJkL3ZpZXctc2NvcmUtY2FyZC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi50ZXh0LXVuZGVybGluZXtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG59XHJcblxyXG4uZmllbGR7XHJcbiAgICBtYXJnaW4tbGVmdDogMiU7XHJcbn1cclxuXHJcbiN0YWJsZUFjdGlvbnN7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmZvcm0tZ3JvdXB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xyXG59XHJcblxyXG4uZXhhbXBsZS1oZWFkZXJzLWFsaWduIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci10aXRsZSxcclxuLmV4YW1wbGUtaGVhZGVycy1hbGlnbiAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZGVzY3JpcHRpb24ge1xyXG4gIGZsZXgtYmFzaXM6IDA7XHJcbn1cclxuXHJcbi5leGFtcGxlLWhlYWRlcnMtYWxpZ24gLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWRlc2NyaXB0aW9uIHtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLmV4YW1wbGUtaGVhZGVycy1hbGlnbiAubWF0LWZvcm0tZmllbGQgKyAubWF0LWZvcm0tZmllbGQge1xyXG4gIG1hcmdpbi1sZWZ0OiA4cHg7XHJcbn1cclxuXHJcbi5tYXQtYWN0aW9uLXJvd3tcclxucGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVye1xyXG4gICAgaGVpZ2h0OjQ4cHggIWltcG9ydGFudDtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGxpZ2h0Z3JleTtcclxufVxyXG5cclxuLnAtdC0yMHtcclxuICBwYWRkaW5nLXRvcDogMjBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5tYXQtcGFuZWwtdGl0bGV7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG59XHJcblxyXG50aCB7XHJcbiAgY29sb3I6IHdoaXRlO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICM0NzQ3NDc7XHJcbn1cclxuXHJcbi50YXJnZXQtd2lkdGh7XHJcbiAgd2lkdGg6IDc1cHg7XHJcbn1cclxuXHJcbi5mLWJ7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi5wLTB7XHJcbiAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5tLTB7XHJcbiAgbWFyZ2luOiAwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLm1pbi13aWR0aC0zMDB7XHJcbiAgbWluLXdpZHRoOiAzMDBweCAhaW1wb3J0YW50O1xyXG4gIHdpZHRoOiA0MDBweCAhaW1wb3J0YW50O1xyXG4gIG1heC13aWR0aDogNDAwcHggIWltcG9ydGFudDtcclxuICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XHJcbn1cclxuXHJcbi5taW4td2lkdGh7XHJcbiAgbWluLXdpZHRoOiAxMzBweCAhaW1wb3J0YW50O1xyXG4gIHdpZHRoOiAxMzBweCAhaW1wb3J0YW50O1xyXG4gIG1heC13aWR0aDogMTMwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLnctNTB7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIG1pbi13aWR0aDogNTBweCAhaW1wb3J0YW50O1xyXG4gIHdpZHRoOiA4MHB4ICFpbXBvcnRhbnQ7XHJcbiAgbWF4LXdpZHRoOiA4MHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi53LTEwMHtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLm0tMntcclxuICBtYXJnaW46IDIlO1xyXG59XHJcblxyXG4uYnRuLWRlZmF1bHR7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZThlYiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uYmctcmVke1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHJlZDtcclxuICBjb2xvcjogd2hpdGU7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHBhZGRpbmctdG9wOiAyMHB4O1xyXG59XHJcblxyXG4uYmcteWVsbG93e1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHllbGxvdztcclxuICBjb2xvcjogd2hpdGU7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHBhZGRpbmctdG9wOiAyMHB4O1xyXG59XHJcblxyXG4uYmctZ3JlZW57XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47XHJcbiAgY29sb3I6IHdoaXRlO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBwYWRkaW5nLXRvcDogMjBweDtcclxufVxyXG5cclxuLnctODB7XHJcbiAgbWluLXdpZHRoOiA2MHB4O1xyXG4gIHdpZHRoOiA2MHB4O1xyXG4gIG1heC13aWR0aDogNjBweDtcclxuICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XHJcbn1cclxuLnctMTMwe1xyXG4gIG1pbi13aWR0aDogMTMwcHg7XHJcbiAgd2lkdGg6IDEzMHB4O1xyXG4gIG1heC13aWR0aDogMTMwcHg7XHJcbn1cclxuXHJcbi53YXJuaW5nTXNnIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgY29sb3I6IHJlZDtcclxufVxyXG5cclxuLmNlbnRlcntcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBtYXJnaW4tbGVmdDogYXV0bztcclxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgd2lkdGg6IDIwJTtcclxufVxyXG5cclxuLm0tMntcclxuICBtYXJnaW46IDIlO1xyXG59XHJcblxyXG4uaGVhZGNvbHtcclxuICBwb3NpdGlvbjogc3RpY2t5O1xyXG4gICAgbGVmdDogMHB4O1xyXG4gICAgLyogaGVpZ2h0OiA0OHB4OyAqL1xyXG4gICAgei1pbmRleDogMVxyXG59XHJcblxyXG4uaGVhZGNvbDF7XHJcbiAgcG9zaXRpb246IHN0aWNreTtcclxuICAgIGxlZnQ6IDEzMHB4O1xyXG4gICAgLyogaGVpZ2h0OiA0OHB4OyAqL1xyXG4gICAgei1pbmRleDogMVxyXG59XHJcblxyXG4uYm9keWNvbHtcclxuICBwb3NpdGlvbjogc3RpY2t5O1xyXG4gICAgbGVmdDogMHB4O1xyXG4gICAgLyogaGVpZ2h0OiA0OHB4OyAqL1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0Z3JleTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbn1cclxuXHJcbi5ib2R5Y29sMXtcclxuICBwb3NpdGlvbjogc3RpY2t5O1xyXG4gICAgbGVmdDogMTMwcHg7XHJcbiAgICAvKiBoZWlnaHQ6IDQ4cHg7ICovXHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRncmV5O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxufVxyXG5cclxuQG1lZGlhIHNjcmVlblxyXG4gICAgICAgIHtcclxuICAgICAgICAuZG9ub3RwcmludHRoaXMge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICBAbWVkaWEgcHJpbnQge1xyXG4gICAuZG9ub3RwcmludHRoaXMge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgICB9XHJcbiAgICB9XHJcbiAgIEBtZWRpYSBwcmludHtAcGFnZSB7c2l6ZTogbGFuZHNjYXBlfX1cclxuICBAbWVkaWEgcHJpbnQge1xyXG4gIEBwYWdlIHsgbWFyZ2luOiAwOyB9XHJcbiAgYm9keSB7IG1hcmdpbjogMS42Y207IH1cclxufVxyXG4gICAgIFxyXG5AcGFnZSBcclxuICAgIHtcclxuICAgICAgICBzaXplOiBhdXRvOyAgIC8qIGF1dG8gaXMgdGhlIGluaXRpYWwgdmFsdWUgKi9cclxuICAgICAgICBtYXJnaW46IDBtbTsgIC8qIHRoaXMgYWZmZWN0cyB0aGUgbWFyZ2luIGluIHRoZSBwcmludGVyIHNldHRpbmdzICovXHJcbiAgICB9XHJcblxyXG5cclxuLy8gLmhlYWRjb2wge1xyXG4vLyAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuLy8gICBtaW4td2lkdGg6IDEzMHB4ICFpbXBvcnRhbnQ7XHJcbi8vICAgdG9wOiBhdXRvO1xyXG4vLyAgIHotaW5kZXg6IDE7XHJcbi8vICAgaGVpZ2h0OiA5MHB4O1xyXG4vLyB9XHJcblxyXG4vLyAuaGVhZGNvbDEge1xyXG4vLyAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuLy8gICBtaW4td2lkdGg6IDEzNXB4ICFpbXBvcnRhbnQ7XHJcbi8vICAgbGVmdDogMTM1cHg7XHJcbi8vICAgdG9wOiBhdXRvO1xyXG4vLyAgIHotaW5kZXg6IDE7XHJcbi8vICAgaGVpZ2h0OiA4N3B4O1xyXG4vLyB9XHJcblxyXG4vLyAuaGVhZGNvbDIge1xyXG4vLyAgIGxlZnQ6IDI2MHB4O1xyXG4vLyAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuLy8gfVxyXG5cclxuLy8gLmhlYWRjb2wzIHtcclxuLy8gICBsZWZ0OiAyNjBweDtcclxuLy8gICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbi8vIH1cclxuXHJcbi8vIC5ib2R5Y29se1xyXG4vLyAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuLy8gICB0b3A6IGF1dG87XHJcbi8vICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRncmV5O1xyXG4vLyAgIG1pbi13aWR0aDogMTMwcHggIWltcG9ydGFudDtcclxuLy8gICB6LWluZGV4OiAxO1xyXG4vLyB9XHJcblxyXG4vLyAuYm9keWNvbDF7XHJcbi8vICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4vLyAgIGxlZnQ6IDEzNXB4O1xyXG4vLyAgIHRvcDogYXV0bztcclxuLy8gICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGdyZXk7XHJcbi8vICAgbWluLXdpZHRoOiAxMzVweCAhaW1wb3J0YW50O1xyXG4vLyAgIHotaW5kZXg6IDE7XHJcbi8vIH1cclxuXHJcbi8vIC5ib2R5Y29sMntcclxuLy8gICBsZWZ0OiAyNjBweDtcclxuLy8gICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbi8vIH1cclxuXHJcbi8vIC5ib2R5Y29sM3tcclxuLy8gICBsZWZ0OiA1NjBweDtcclxuLy8gICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbi8vIH1cclxuIiwiLnRleHQtdW5kZXJsaW5lIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5maWVsZCB7XG4gIG1hcmdpbi1sZWZ0OiAyJTtcbn1cblxuI3RhYmxlQWN0aW9ucyB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xufVxuXG4uZm9ybS1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG59XG5cbi5leGFtcGxlLWhlYWRlcnMtYWxpZ24gLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLXRpdGxlLFxuLmV4YW1wbGUtaGVhZGVycy1hbGlnbiAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZGVzY3JpcHRpb24ge1xuICBmbGV4LWJhc2lzOiAwO1xufVxuXG4uZXhhbXBsZS1oZWFkZXJzLWFsaWduIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1kZXNjcmlwdGlvbiB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmV4YW1wbGUtaGVhZGVycy1hbGlnbiAubWF0LWZvcm0tZmllbGQgKyAubWF0LWZvcm0tZmllbGQge1xuICBtYXJnaW4tbGVmdDogOHB4O1xufVxuXG4ubWF0LWFjdGlvbi1yb3cge1xuICBwYWRkaW5nOiAwcHggIWltcG9ydGFudDtcbn1cblxubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIge1xuICBoZWlnaHQ6IDQ4cHggIWltcG9ydGFudDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBsaWdodGdyZXk7XG59XG5cbi5wLXQtMjAge1xuICBwYWRkaW5nLXRvcDogMjBweCAhaW1wb3J0YW50O1xufVxuXG5tYXQtcGFuZWwtdGl0bGUge1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG50aCB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQ3NDc0Nztcbn1cblxuLnRhcmdldC13aWR0aCB7XG4gIHdpZHRoOiA3NXB4O1xufVxuXG4uZi1iIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5wLTAge1xuICBwYWRkaW5nOiAwcHggIWltcG9ydGFudDtcbn1cblxuLm0tMCB7XG4gIG1hcmdpbjogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5taW4td2lkdGgtMzAwIHtcbiAgbWluLXdpZHRoOiAzMDBweCAhaW1wb3J0YW50O1xuICB3aWR0aDogNDAwcHggIWltcG9ydGFudDtcbiAgbWF4LXdpZHRoOiA0MDBweCAhaW1wb3J0YW50O1xuICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG59XG5cbi5taW4td2lkdGgge1xuICBtaW4td2lkdGg6IDEzMHB4ICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMzBweCAhaW1wb3J0YW50O1xuICBtYXgtd2lkdGg6IDEzMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi53LTUwIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtaW4td2lkdGg6IDUwcHggIWltcG9ydGFudDtcbiAgd2lkdGg6IDgwcHggIWltcG9ydGFudDtcbiAgbWF4LXdpZHRoOiA4MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi53LTEwMCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ubS0yIHtcbiAgbWFyZ2luOiAyJTtcbn1cblxuLmJ0bi1kZWZhdWx0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZThlYiAhaW1wb3J0YW50O1xufVxuXG4uYmctcmVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmVkO1xuICBjb2xvcjogd2hpdGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG59XG5cbi5iZy15ZWxsb3cge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB5ZWxsb3c7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nLXRvcDogMjBweDtcbn1cblxuLmJnLWdyZWVuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47XG4gIGNvbG9yOiB3aGl0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nLXRvcDogMjBweDtcbn1cblxuLnctODAge1xuICBtaW4td2lkdGg6IDYwcHg7XG4gIHdpZHRoOiA2MHB4O1xuICBtYXgtd2lkdGg6IDYwcHg7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbn1cblxuLnctMTMwIHtcbiAgbWluLXdpZHRoOiAxMzBweDtcbiAgd2lkdGg6IDEzMHB4O1xuICBtYXgtd2lkdGg6IDEzMHB4O1xufVxuXG4ud2FybmluZ01zZyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6IHJlZDtcbn1cblxuLmNlbnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB3aWR0aDogMjAlO1xufVxuXG4ubS0yIHtcbiAgbWFyZ2luOiAyJTtcbn1cblxuLmhlYWRjb2wge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICBsZWZ0OiAwcHg7XG4gIC8qIGhlaWdodDogNDhweDsgKi9cbiAgei1pbmRleDogMTtcbn1cblxuLmhlYWRjb2wxIHtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgbGVmdDogMTMwcHg7XG4gIC8qIGhlaWdodDogNDhweDsgKi9cbiAgei1pbmRleDogMTtcbn1cblxuLmJvZHljb2wge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICBsZWZ0OiAwcHg7XG4gIC8qIGhlaWdodDogNDhweDsgKi9cbiAgei1pbmRleDogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRncmV5O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5ib2R5Y29sMSB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIGxlZnQ6IDEzMHB4O1xuICAvKiBoZWlnaHQ6IDQ4cHg7ICovXG4gIHotaW5kZXg6IDE7XG4gIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0Z3JleTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5AbWVkaWEgc2NyZWVuIHtcbiAgLmRvbm90cHJpbnR0aGlzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cbkBtZWRpYSBwcmludCB7XG4gIC5kb25vdHByaW50dGhpcyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuQG1lZGlhIHByaW50IHtcbiAgQHBhZ2Uge1xuICAgIHNpemU6IGxhbmRzY2FwZTtcbiAgfVxufVxuQG1lZGlhIHByaW50IHtcbiAgQHBhZ2Uge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICBib2R5IHtcbiAgICBtYXJnaW46IDEuNmNtO1xuICB9XG59XG5AcGFnZSB7XG4gIHNpemU6IGF1dG87XG4gIC8qIGF1dG8gaXMgdGhlIGluaXRpYWwgdmFsdWUgKi9cbiAgbWFyZ2luOiAwbW07XG4gIC8qIHRoaXMgYWZmZWN0cyB0aGUgbWFyZ2luIGluIHRoZSBwcmludGVyIHNldHRpbmdzICovXG59Il19 */\"","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport html2canvas from 'html2canvas';\r\nimport jsPDF from 'jspdf';\r\nimport { LocalStorageService } from 'ngx-webstorage';\r\nimport { PSCMetricDetails } from '../add-score-card/add-score-card.model';\r\nimport { ScoreCard } from '../performance-score-card/performance-score-card.model';\r\nimport * as XLSX from 'xlsx';\r\nimport { DorseyService } from '../dorsey.service';\r\nimport { copyRight } from '../copyRight.model';\r\n\r\n@Component({\r\n selector: 'app-view-score-card',\r\n templateUrl: './view-score-card.component.html',\r\n styleUrls: ['./view-score-card.component.scss']\r\n})\r\nexport class ViewScoreCardComponent implements OnInit {\r\n @Input() selectedMetrics: Array = [];\r\n @Input() scoreCard: any;\r\n @Input() isViewScoreCard: boolean;\r\n @Input() WeekDateList: [];\r\n @Input() isScoreCardEnable: boolean;\r\n\r\n @Output() viewScoreCardChanged: EventEmitter = new EventEmitter();\r\n @Output() goToAddScoreCardChanged = new EventEmitter();\r\n @Input() showDetails: boolean = false;\r\n excelMetricList: Array = [];\r\n showLogo: boolean = false;\r\n MenuPermissions: any;\r\n menuData: any;\r\n menuID: string;\r\n menuName: string;\r\n loginCompanyName: string;\r\n employeeDetails: any;\r\n\r\n constructor(private storage: LocalStorageService,\r\n private dorseyService: DorseyService) {\r\n this.menuData = this.storage.retrieve('menuData');\r\n this.MenuPermissions = this.storage.retrieve('MenuPermissions');\r\n this.loginCompanyName = this.storage.retrieve('loginCompanyName');\r\n this.employeeDetails = this.storage.retrieve('employeeDetails');\r\n }\r\n\r\n ngOnInit(): void {\r\n this.menuData = this.menuData.filter(x => x.MenuName.toString().toLowerCase() === 'score card');\r\n if (this.menuData.length > 0) {\r\n this.menuName = this.menuData[0][\"MenuName\"];\r\n this.menuID = this.menuData[0][\"MenuID\"];\r\n }\r\n var format = /[ `!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?~]/;\r\n this.excelMetricList = JSON.parse(JSON.stringify(this.selectedMetrics));//[...this.selectedMetrics];\r\n this.excelMetricList.forEach(ent => {\r\n ent.UOM = format.test(ent.UOM) ? \"'\" + ent.UOM + \"'\" : ent.UOM;\r\n });\r\n }\r\n\r\n exportAsXLSX(): void {\r\n var fileName = this.loginCompanyName + 'ScoreCard' + \"_\" + (new Date().getMonth() + 1) + '-' + new Date().getDate() + '-' + new Date().getFullYear() + \".xlsx\";\r\n /* table id is passed over here */\r\n let element = document.getElementById('table1');\r\n const ws: XLSX.WorkSheet = XLSX.utils.table_to_sheet(element);\r\n\r\n /* generate workbook and add the worksheet */\r\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\r\n XLSX.utils.book_append_sheet(wb, ws, 'Score Card');\r\n\r\n /* save to file */\r\n XLSX.writeFile(wb, fileName);\r\n\r\n }\r\n\r\n backToScoreCard(): void {\r\n this.viewScoreCardChanged.emit(this.isViewScoreCard);\r\n }\r\n\r\n goToAddScoreCard(): void {\r\n //emitting step id, need to navigate to step 4 in edit score card\r\n this.goToAddScoreCardChanged.emit(4);\r\n }\r\n\r\n print1() { window.print() }\r\n print(e): void {\r\n document.getElementById(e).style.marginTop = \"20px\";\r\n var printContents = document.getElementById(e).innerHTML;\r\n var popupWin = window.open('', '_blank', 'width=auto,height=auto');\r\n popupWin.document.open();\r\n popupWin.document.write(printContents);\r\n popupWin.document.close();\r\n }\r\n\r\n exportAsXLSX1(): void {\r\n let allData = JSON.parse(JSON.stringify(this.selectedMetrics));\r\n for (let i = 0; i < allData.length; i++) {\r\n allData[i][\"Goal \"] = allData[i].GoalName;\r\n allData[i][\"Metric \"] = allData[i].Description;\r\n allData[i][\"Green\"] = (allData[i].GreenMaximum) + \"-\" + (allData[i].GreenMinimum);\r\n allData[i][\"Yellow\"] = (allData[i].YellowMaximum) + \"-\" + (allData[i].YellowMinimum);\r\n allData[i][\"Red\"] = (allData[i].RedMaximum) + \"-\" + (allData[i].RedMinimum);\r\n allData[i].Frequency = allData[i].Frequency;\r\n allData[i].UOM = allData[i].UOM;\r\n allData[i][\"Wk1\"] = allData[i].Week1;\r\n allData[i]['Wk2'] = allData[i].Week2;\r\n allData[i]['Wk3'] = allData[i].Week3;\r\n allData[i]['Wk4'] = allData[i].Week4;\r\n allData[i]['Wk5'] = allData[i].Week5;\r\n allData[i]['Wk6'] = allData[i].Week6;\r\n allData[i]['Wk7'] = allData[i].Week7;\r\n allData[i]['Wk8'] = allData[i].Week8;\r\n allData[i]['Wk9'] = allData[i].Week9;\r\n allData[i]['Wk10'] = allData[i].Week10;\r\n allData[i]['Wk11'] = allData[i].Week11;\r\n allData[i]['Wk12'] = allData[i].Week12;\r\n allData[i]['Wk13'] = allData[i].Week13;\r\n allData[i]['Wk14'] = allData[i].Week14;\r\n delete (allData[i].Frequency);\r\n delete (allData[i].UOM);\r\n delete (allData[i].GoalName);\r\n delete (allData[i].GreenMaximum);\r\n delete (allData[i].GreenMinimum);\r\n delete (allData[i].YellowMaximum);\r\n delete (allData[i].YellowMinimum);\r\n delete (allData[i].RedMaximum);\r\n delete (allData[i].RedMinimum);\r\n delete (allData[i].Description);\r\n delete (allData[i].Id);\r\n delete (allData[i].PSCMasterId);\r\n delete (allData[i].PointerID);\r\n delete (allData[i].GoalID);\r\n delete (allData[i].GoalName);\r\n delete (allData[i].TeamID);\r\n delete (allData[i].DepartmentID);\r\n delete (allData[i].CompanyID);\r\n delete (allData[i].IsSelected);\r\n delete (allData[i].GreenTargetSymbol)\r\n delete (allData[i].YellowTargetSymbol)\r\n delete (allData[i].RedTargetSymbol)\r\n delete (allData[i].goalSpan)\r\n delete (allData[i].Week1);\r\n delete (allData[i].Week2);\r\n delete (allData[i].Week3);\r\n delete (allData[i].Week4);\r\n delete (allData[i].Week5);\r\n delete (allData[i].Week6);\r\n delete (allData[i].Week7);\r\n delete (allData[i].Week8);\r\n delete (allData[i].Week9);\r\n delete (allData[i].Week10);\r\n delete (allData[i].Week11);\r\n delete (allData[i].Week12);\r\n delete (allData[i].Week13);\r\n delete (allData[i].Week14);\r\n }\r\n this.dorseyService.generateExcelForScoreCard(allData, this.loginCompanyName + 'ScoreCard' + \"_\" + (new Date().getMonth() + 1) + '-' + new Date().getDate() + '-' + new Date().getFullYear(), 'Score Card', \"Company: \" + this.loginCompanyName, '', \"Score Card Report\", copyRight, 'FFFFFF00', 'FF0000FF');\r\n }\r\n\r\n myStyleWeek(metric, i) {\r\n var color = '';\r\n if (metric['Week' + i] !== null && metric.GreenMinimum !== null) {\r\n if (!metric.GreenTargetSymbol &&\r\n (\r\n (Number(metric['Week' + i]) >= Number(metric.GreenMinimum)) && (Number(metric['Week' + i]) <= Number(metric.GreenMaximum)) ||\r\n (Number(metric['Week' + i]) <= Number(metric.GreenMinimum)) && (Number(metric['Week' + i]) >= Number(metric.GreenMaximum))\r\n )) {\r\n color = '#0fbf0f';\r\n } else if (metric.GreenTargetSymbol && metric['Week' + i] !== null) {\r\n if (metric.GreenTargetSymbol !== 'Yes' && metric.GreenTargetSymbol !== 'No') {\r\n if (eval(metric['Week' + i] + metric.GreenTargetSymbol + metric.GreenMinimum)) {\r\n color = '#0fbf0f';\r\n }\r\n } else if ((metric.GreenTargetSymbol == 'Yes' || metric.GreenTargetSymbol == 'No') && metric['Week' + i] == metric.GreenMinimum) {\r\n color = '#0fbf0f';\r\n }\r\n }\r\n }\r\n\r\n if (metric['Week' + i] !== null && metric.YellowMinimum !== null) {\r\n if (!metric.YellowTargetSymbol &&\r\n (\r\n (Number(metric['Week' + i]) >= Number(metric.YellowMinimum) && Number(metric['Week' + i]) <= Number(metric.YellowMaximum)) ||\r\n (Number(metric['Week' + i]) <= Number(metric.YellowMinimum) && Number(metric['Week' + i]) >= Number(metric.YellowMaximum))\r\n )) {\r\n color = 'yellow';\r\n } else if (metric.YellowTargetSymbol && metric['Week' + i] !== null) {\r\n if (metric.YellowTargetSymbol !== 'Yes' && metric.YellowTargetSymbol !== 'No') {\r\n if (eval(metric['Week' + i] + metric.YellowTargetSymbol + metric.YellowMinimum)) {\r\n color = 'yellow';\r\n }\r\n }\r\n else if ((metric.YellowTargetSymbol == 'Yes' || metric.YellowTargetSymbol == 'No') && Number(metric['Week' + i]) == Number(metric.YellowMinimum)) {\r\n color = 'yellow';\r\n }\r\n }\r\n }\r\n if (metric['Week' + i] !== null && metric.RedMinimum !== null) {\r\n if (!metric.RedTargetSymbol &&\r\n (\r\n (Number(metric['Week' + i]) >= Number(metric.RedMinimum) && Number(metric['Week' + i]) <= Number(metric.RedMaximum)) ||\r\n (Number(metric['Week' + i]) <= Number(metric.RedMinimum) && Number(metric['Week' + i]) >= Number(metric.RedMaximum))\r\n )) {\r\n color = '#ff0505';\r\n } else if (metric.RedTargetSymbol && metric['Week' + i] !== null) {\r\n if (metric.RedTargetSymbol !== 'Yes' && metric.RedTargetSymbol !== 'No') {\r\n if (eval(metric['Week' + i] + metric.RedTargetSymbol + metric.RedMinimum)) {\r\n color = '#ff0505';\r\n }\r\n }\r\n else if ((metric.RedTargetSymbol == 'Yes' || metric.RedTargetSymbol == 'No') && Number(metric['Week' + i]) == Number(metric.RedMinimum)) {\r\n color = '#ff0505';\r\n }\r\n }\r\n }\r\n return { \"background-color\": color, \"font-weight\": \"bold\" };\r\n //}\r\n }\r\n\r\n public convetToPDF() {\r\n //this.showLogo = true;\r\n let DATA = document.getElementById('print-section');\r\n DATA.style.display = \"block\";\r\n DATA.style.paddingTop = \"20px\";\r\n document.body.style['zoom'] = '60%';\r\n html2canvas(DATA)\r\n .then((canvas) => {\r\n const imgData = canvas.toDataURL('image/png');\r\n const pdf = new jsPDF({\r\n orientation: 'landscape',\r\n });\r\n const imgProps = pdf.getImageProperties(imgData);\r\n const pdfWidth = pdf.internal.pageSize.getWidth();\r\n const pdfHeight = (imgProps.height * pdfWidth) / imgProps.width;\r\n pdf.addImage(imgData, 'PNG', 0, 0, pdfWidth, pdfHeight);\r\n pdf.save('ScoreCard.pdf');\r\n this.showLogo = false;\r\n });\r\n document.body.style['zoom'] = '100%';\r\n }\r\n\r\n printScoreCard(printSection): void {\r\n document.body.style['zoom'] = '50%';\r\n window.print();\r\n document.body.style['zoom'] = '100%';\r\n }\r\n\r\n}\r\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false,\n API_URL: 'https://www.tdgdm.com/DorseyAPI/api/' //azure\n //API_URL: 'http://123.176.43.187:8005/api/' //dev\n //API_URL: 'http://123.176.43.187:6008/api/' //qa\n //API_URL: 'http://localhost:52718/api/'\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */"],"sourceRoot":"webpack:///"}