@lowcodeunit/applications-flow-common 1.26.24-10102-org-styles → 1.26.28-integration

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/bundles/lowcodeunit-applications-flow-common.umd.js +687 -181
  2. package/bundles/lowcodeunit-applications-flow-common.umd.js.map +1 -1
  3. package/bundles/lowcodeunit-applications-flow-common.umd.min.js +1 -1
  4. package/bundles/lowcodeunit-applications-flow-common.umd.min.js.map +1 -1
  5. package/esm2015/lib/applications-flow.module.js +9 -1
  6. package/esm2015/lib/elements/projects/controls/forms/source-control/source-control.component.js +2 -2
  7. package/esm2015/lib/elements/projects/controls/project-tabs/project-tabs.component.js +26 -5
  8. package/esm2015/lib/elements/projects/controls/tabs/apps-flow/apps-flow.component.js +7 -134
  9. package/esm2015/lib/elements/projects/controls/tabs/apps-flow/npm-package-select/npm-package-select.component.js +2 -2
  10. package/esm2015/lib/elements/projects/controls/tabs/devops/devops.component.js +196 -0
  11. package/esm2015/lib/elements/projects/controls/tabs/dfs-modifiers/dfs-modifiers.component.js +175 -0
  12. package/esm2015/lib/elements/projects/projects.component.js +42 -4
  13. package/esm2015/lib/models/eac.models.js +1 -1
  14. package/esm2015/lib/services/applications-flow-events.service.js +21 -1
  15. package/esm2015/lib/services/applications-flow.service.js +11 -1
  16. package/esm2015/lib/services/project.service.js +41 -1
  17. package/esm2015/lowcodeunit-applications-flow-common.js +4 -2
  18. package/fesm2015/lowcodeunit-applications-flow-common.js +506 -140
  19. package/fesm2015/lowcodeunit-applications-flow-common.js.map +1 -1
  20. package/lib/applications-flow.module.d.ts.map +1 -1
  21. package/lib/elements/projects/controls/project-tabs/project-tabs.component.d.ts +6 -3
  22. package/lib/elements/projects/controls/project-tabs/project-tabs.component.d.ts.map +1 -1
  23. package/lib/elements/projects/controls/tabs/apps-flow/apps-flow.component.d.ts +1 -21
  24. package/lib/elements/projects/controls/tabs/apps-flow/apps-flow.component.d.ts.map +1 -1
  25. package/lib/elements/projects/controls/tabs/devops/devops.component.d.ts +51 -0
  26. package/lib/elements/projects/controls/tabs/devops/devops.component.d.ts.map +1 -0
  27. package/lib/elements/projects/controls/tabs/dfs-modifiers/dfs-modifiers.component.d.ts +47 -0
  28. package/lib/elements/projects/controls/tabs/dfs-modifiers/dfs-modifiers.component.d.ts.map +1 -0
  29. package/lib/elements/projects/projects.component.d.ts +3 -1
  30. package/lib/elements/projects/projects.component.d.ts.map +1 -1
  31. package/lib/models/eac.models.d.ts +1 -0
  32. package/lib/models/eac.models.d.ts.map +1 -1
  33. package/lib/services/applications-flow-events.service.d.ts +17 -2
  34. package/lib/services/applications-flow-events.service.d.ts.map +1 -1
  35. package/lib/services/applications-flow.service.d.ts +2 -0
  36. package/lib/services/applications-flow.service.d.ts.map +1 -1
  37. package/lib/services/project.service.d.ts +2 -0
  38. package/lib/services/project.service.d.ts.map +1 -1
  39. package/lowcodeunit-applications-flow-common.d.ts +3 -1
  40. package/lowcodeunit-applications-flow-common.d.ts.map +1 -1
  41. package/lowcodeunit-applications-flow-common.metadata.json +1 -1
  42. package/package.json +3 -3
@@ -504,11 +504,21 @@
504
504
  headers: this.loadHeaders(),
505
505
  });
506
506
  };
507
+ ApplicationsFlowService.prototype.DeleteDevOpsAction = function (doaLookup) {
508
+ return this.http.delete(this.apiRoot + "/api/lowcodeunit/manage/devops-actions/" + doaLookup, {
509
+ headers: this.loadHeaders(),
510
+ });
511
+ };
507
512
  ApplicationsFlowService.prototype.DeleteProject = function (projectLookup) {
508
513
  return this.http.delete(this.apiRoot + "/api/lowcodeunit/manage/projects/" + projectLookup, {
509
514
  headers: this.loadHeaders(),
510
515
  });
511
516
  };
517
+ ApplicationsFlowService.prototype.DeleteSourceControl = function (scLookup) {
518
+ return this.http.delete(this.apiRoot + "/api/lowcodeunit/manage/source-controls/" + scLookup, {
519
+ headers: this.loadHeaders(),
520
+ });
521
+ };
512
522
  ApplicationsFlowService.prototype.EnsureUserEnterprise = function () {
513
523
  return this.http.post(this.apiRoot + "/api/lowcodeunit/manage/enterprise/ensure", {}, {
514
524
  headers: this.loadHeaders(),
@@ -646,6 +656,36 @@
646
656
  });
647
657
  });
648
658
  };
659
+ ProjectService.prototype.DeleteDevOpsAction = function (state, doaLookup) {
660
+ var _this = this;
661
+ return new Promise(function (resolve, reject) {
662
+ state.Loading = true;
663
+ _this.appsFlowSvc.DeleteDevOpsAction(doaLookup).subscribe(function (response) { return __awaiter(_this, void 0, void 0, function () {
664
+ var eac;
665
+ return __generator(this, function (_b) {
666
+ switch (_b.label) {
667
+ case 0:
668
+ if (!(response.Status.Code === 0)) return [3 /*break*/, 2];
669
+ return [4 /*yield*/, this.LoadEnterpriseAsCode(state)];
670
+ case 1:
671
+ eac = _b.sent();
672
+ resolve(eac);
673
+ return [3 /*break*/, 3];
674
+ case 2:
675
+ state.Loading = false;
676
+ reject(response.Status);
677
+ console.log(response);
678
+ _b.label = 3;
679
+ case 3: return [2 /*return*/];
680
+ }
681
+ });
682
+ }); }, function (err) {
683
+ state.Loading = false;
684
+ reject(err);
685
+ console.log(err);
686
+ });
687
+ });
688
+ };
649
689
  ProjectService.prototype.DeleteProject = function (state, projectLookup) {
650
690
  var _this = this;
651
691
  return new Promise(function (resolve, reject) {
@@ -676,6 +716,36 @@
676
716
  });
677
717
  });
678
718
  };
719
+ ProjectService.prototype.DeleteSourceControl = function (state, scLookup) {
720
+ var _this = this;
721
+ return new Promise(function (resolve, reject) {
722
+ state.Loading = true;
723
+ _this.appsFlowSvc.DeleteSourceControl(scLookup).subscribe(function (response) { return __awaiter(_this, void 0, void 0, function () {
724
+ var eac;
725
+ return __generator(this, function (_b) {
726
+ switch (_b.label) {
727
+ case 0:
728
+ if (!(response.Status.Code === 0)) return [3 /*break*/, 2];
729
+ return [4 /*yield*/, this.LoadEnterpriseAsCode(state)];
730
+ case 1:
731
+ eac = _b.sent();
732
+ resolve(eac);
733
+ return [3 /*break*/, 3];
734
+ case 2:
735
+ state.Loading = false;
736
+ reject(response.Status);
737
+ console.log(response);
738
+ _b.label = 3;
739
+ case 3: return [2 /*return*/];
740
+ }
741
+ });
742
+ }); }, function (err) {
743
+ state.Loading = false;
744
+ reject(err);
745
+ console.log(err);
746
+ });
747
+ });
748
+ };
679
749
  ProjectService.prototype.EnsureUserEnterprise = function (state) {
680
750
  var _this = this;
681
751
  return new Promise(function (resolve, reject) {
@@ -1099,6 +1169,16 @@
1099
1169
  }
1100
1170
  return SaveApplicationAsCodeEventRequest;
1101
1171
  }());
1172
+ var SaveDFSModifierEventRequest = /** @class */ (function () {
1173
+ function SaveDFSModifierEventRequest() {
1174
+ }
1175
+ return SaveDFSModifierEventRequest;
1176
+ }());
1177
+ var SaveEnvironmentAsCodeEventRequest = /** @class */ (function () {
1178
+ function SaveEnvironmentAsCodeEventRequest() {
1179
+ }
1180
+ return SaveEnvironmentAsCodeEventRequest;
1181
+ }());
1102
1182
  var SaveProjectAsCodeEventRequest = /** @class */ (function () {
1103
1183
  function SaveProjectAsCodeEventRequest() {
1104
1184
  }
@@ -1108,11 +1188,15 @@
1108
1188
  // Constructors
1109
1189
  function ApplicationsFlowEventsService() {
1110
1190
  this.DeleteApplicationEvent = new i0.EventEmitter();
1191
+ this.DeleteDevOpsActionEvent = new i0.EventEmitter();
1111
1192
  this.DeleteProjectEvent = new i0.EventEmitter();
1193
+ this.DeleteSourceControlEvent = new i0.EventEmitter();
1112
1194
  this.EnsureUserEnterpriseEvent = new i0.EventEmitter();
1113
1195
  this.LoadEnterpriseAsCodeEvent = new i0.EventEmitter();
1114
1196
  this.SaveApplicationAsCodeEvent = new i0.EventEmitter();
1197
+ this.SaveDFSModifierEvent = new i0.EventEmitter();
1115
1198
  this.SaveEnterpriseAsCodeEvent = new i0.EventEmitter();
1199
+ this.SaveEnvironmentAsCodeEvent = new i0.EventEmitter();
1116
1200
  this.SaveProjectAsCodeEvent = new i0.EventEmitter();
1117
1201
  this.SetCreatingProjectEvent = new i0.EventEmitter();
1118
1202
  this.SetEditProjectSettingsEvent = new i0.EventEmitter();
@@ -1122,9 +1206,15 @@
1122
1206
  ApplicationsFlowEventsService.prototype.DeleteApplication = function (appLookup) {
1123
1207
  this.DeleteApplicationEvent.emit(appLookup);
1124
1208
  };
1209
+ ApplicationsFlowEventsService.prototype.DeleteDevOpsAction = function (doaLookup) {
1210
+ this.DeleteDevOpsActionEvent.emit(doaLookup);
1211
+ };
1125
1212
  ApplicationsFlowEventsService.prototype.DeleteProject = function (projectLookup) {
1126
1213
  this.DeleteProjectEvent.emit(projectLookup);
1127
1214
  };
1215
+ ApplicationsFlowEventsService.prototype.DeleteSourceControl = function (scLookup) {
1216
+ this.DeleteSourceControlEvent.emit(scLookup);
1217
+ };
1128
1218
  ApplicationsFlowEventsService.prototype.EnsureUserEnterprise = function () {
1129
1219
  this.EnsureUserEnterpriseEvent.emit();
1130
1220
  };
@@ -1137,9 +1227,15 @@
1137
1227
  ApplicationsFlowEventsService.prototype.SaveApplicationAsCode = function (req) {
1138
1228
  this.SaveApplicationAsCodeEvent.emit(req);
1139
1229
  };
1230
+ ApplicationsFlowEventsService.prototype.SaveDFSModifier = function (req) {
1231
+ this.SaveDFSModifierEvent.emit(req);
1232
+ };
1140
1233
  ApplicationsFlowEventsService.prototype.SaveEnterpriseAsCode = function (eac) {
1141
1234
  this.SaveEnterpriseAsCodeEvent.emit(eac);
1142
1235
  };
1236
+ ApplicationsFlowEventsService.prototype.SaveEnvironmentAsCode = function (req) {
1237
+ this.SaveEnvironmentAsCodeEvent.emit(req);
1238
+ };
1143
1239
  ApplicationsFlowEventsService.prototype.SaveProjectAsCode = function (req) {
1144
1240
  this.SaveProjectAsCodeEvent.emit(req);
1145
1241
  };
@@ -1305,8 +1401,6 @@
1305
1401
  saveEaC = {
1306
1402
  EnterpriseLookup: this.State.EaC.EnterpriseLookup,
1307
1403
  Applications: {},
1308
- DataTokens: {},
1309
- Environments: {},
1310
1404
  Projects: {},
1311
1405
  };
1312
1406
  existingProj = Object.assign({}, this.State.EaC.Projects[req.ProjectLookup]);
@@ -1320,6 +1414,52 @@
1320
1414
  if (req.Application) {
1321
1415
  saveEaC.Applications[req.ApplicationLookup] = req.Application;
1322
1416
  }
1417
+ return [4 /*yield*/, this.projectService.SaveEnterpriseAsCode(this.State, saveEaC)];
1418
+ case 1:
1419
+ _e.sent();
1420
+ return [2 /*return*/];
1421
+ }
1422
+ });
1423
+ });
1424
+ };
1425
+ ApplicationsFlowProjectsElementComponent.prototype.handleSaveDFSModifier = function (req) {
1426
+ return __awaiter(this, void 0, void 0, function () {
1427
+ var saveEaC;
1428
+ return __generator(this, function (_e) {
1429
+ switch (_e.label) {
1430
+ case 0:
1431
+ saveEaC = {
1432
+ EnterpriseLookup: this.State.EaC.EnterpriseLookup,
1433
+ Modifiers: {},
1434
+ Projects: {},
1435
+ };
1436
+ if (req.Modifier) {
1437
+ saveEaC.Modifiers[req.ModifierLookup] = req.Modifier;
1438
+ }
1439
+ if (req.ProjectLookup) {
1440
+ saveEaC.Projects[req.ProjectLookup] = {
1441
+ ModifierLookups: [req.ModifierLookup],
1442
+ };
1443
+ }
1444
+ return [4 /*yield*/, this.projectService.SaveEnterpriseAsCode(this.State, saveEaC)];
1445
+ case 1:
1446
+ _e.sent();
1447
+ return [2 /*return*/];
1448
+ }
1449
+ });
1450
+ });
1451
+ };
1452
+ ApplicationsFlowProjectsElementComponent.prototype.handleSaveEnvironment = function (req) {
1453
+ return __awaiter(this, void 0, void 0, function () {
1454
+ var saveEaC;
1455
+ return __generator(this, function (_e) {
1456
+ switch (_e.label) {
1457
+ case 0:
1458
+ saveEaC = {
1459
+ EnterpriseLookup: this.State.EaC.EnterpriseLookup,
1460
+ DataTokens: {},
1461
+ Environments: {},
1462
+ };
1323
1463
  if (req.Environment) {
1324
1464
  saveEaC.Environments[req.EnvironmentLookup] = req.Environment;
1325
1465
  }
@@ -1366,6 +1506,16 @@
1366
1506
  }
1367
1507
  });
1368
1508
  }); });
1509
+ this.appsFlowEventsSvc.DeleteDevOpsActionEvent.subscribe(function (doaLookup) { return __awaiter(_this, void 0, void 0, function () {
1510
+ return __generator(this, function (_e) {
1511
+ switch (_e.label) {
1512
+ case 0: return [4 /*yield*/, this.projectService.DeleteDevOpsAction(this.State, doaLookup)];
1513
+ case 1:
1514
+ _e.sent();
1515
+ return [2 /*return*/];
1516
+ }
1517
+ });
1518
+ }); });
1369
1519
  this.appsFlowEventsSvc.DeleteProjectEvent.subscribe(function (projectLookup) { return __awaiter(_this, void 0, void 0, function () {
1370
1520
  return __generator(this, function (_e) {
1371
1521
  switch (_e.label) {
@@ -1376,6 +1526,16 @@
1376
1526
  }
1377
1527
  });
1378
1528
  }); });
1529
+ this.appsFlowEventsSvc.DeleteSourceControlEvent.subscribe(function (scLookup) { return __awaiter(_this, void 0, void 0, function () {
1530
+ return __generator(this, function (_e) {
1531
+ switch (_e.label) {
1532
+ case 0: return [4 /*yield*/, this.projectService.DeleteSourceControl(this.State, scLookup)];
1533
+ case 1:
1534
+ _e.sent();
1535
+ return [2 /*return*/];
1536
+ }
1537
+ });
1538
+ }); });
1379
1539
  this.appsFlowEventsSvc.EnsureUserEnterpriseEvent.subscribe(function () { return __awaiter(_this, void 0, void 0, function () {
1380
1540
  return __generator(this, function (_e) {
1381
1541
  switch (_e.label) {
@@ -1419,6 +1579,26 @@
1419
1579
  }
1420
1580
  });
1421
1581
  }); });
1582
+ this.appsFlowEventsSvc.SaveDFSModifierEvent.subscribe(function (req) { return __awaiter(_this, void 0, void 0, function () {
1583
+ return __generator(this, function (_e) {
1584
+ switch (_e.label) {
1585
+ case 0: return [4 /*yield*/, this.handleSaveDFSModifier(req)];
1586
+ case 1:
1587
+ _e.sent();
1588
+ return [2 /*return*/];
1589
+ }
1590
+ });
1591
+ }); });
1592
+ this.appsFlowEventsSvc.SaveEnvironmentAsCodeEvent.subscribe(function (req) { return __awaiter(_this, void 0, void 0, function () {
1593
+ return __generator(this, function (_e) {
1594
+ switch (_e.label) {
1595
+ case 0: return [4 /*yield*/, this.handleSaveEnvironment(req)];
1596
+ case 1:
1597
+ _e.sent();
1598
+ return [2 /*return*/];
1599
+ }
1600
+ });
1601
+ }); });
1422
1602
  this.appsFlowEventsSvc.SaveProjectAsCodeEvent.subscribe(function (req) { return __awaiter(_this, void 0, void 0, function () {
1423
1603
  return __generator(this, function (_e) {
1424
1604
  switch (_e.label) {
@@ -1461,7 +1641,7 @@
1461
1641
  ApplicationsFlowProjectsElementComponent.decorators = [
1462
1642
  { type: i0.Component, args: [{
1463
1643
  selector: SELECTOR_APPLICATIONS_FLOW_PROJECTS_ELEMENT,
1464
- template: "<app-host-dashboard-card-element\r\n [context]=\"{ Title: 'Projects', Icon: 'language' }\"\r\n>\r\n <nav>\r\n <mat-form-field\r\n class=\"mat-full-width\"\r\n *ngIf=\"State.Enterprises?.length > 1\"\r\n >\r\n <mat-select\r\n placeholder=\"Active Enterprise ({{ State.ActiveEnterpriseLookup }})\"\r\n [value]=\"State.ActiveEnterpriseLookup\"\r\n (selectionChange)=\"ActiveEnterpriseChanged($event)\"\r\n >\r\n <mat-option [value]=\"ent.Lookup\" *ngFor=\"let ent of State.Enterprises\">\r\n {{ ent.Name }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <a\r\n mat-icon-button\r\n href=\"/docs/getting-started/projects\"\r\n target=\"_blank\"\r\n lcuEvent=\"click\"\r\n label=\"Projects\"\r\n category=\"help\"\r\n >\r\n <mat-icon matTooltip=\"More info\">help_outline</mat-icon>\r\n </a>\r\n </nav>\r\n\r\n <ng-container *ngIf=\"!State?.Loading\">\r\n <div\r\n fxLayout=\"column\"\r\n fxLayoutAlign=\"center center\"\r\n class=\"margin-bottom-4\"\r\n >\r\n <h2 class=\"mat-display-2 margin-y-2\" *ngIf=\"ProjectLookups?.length <= 0\">\r\n <span> Thank you for signing up </span>\r\n </h2>\r\n </div>\r\n\r\n <lcu-git-auth *ngIf=\"!State.GitHub.HasConnection\"></lcu-git-auth>\r\n\r\n <ng-container *ngIf=\"State.GitHub.HasConnection\">\r\n <!-- <div *ngIf=\"!CreatingProject\">\r\n Creating\r\n <lcu-create-project-wizard></lcu-create-project-wizard>\r\n </div> -->\r\n\r\n <ng-container>\r\n <ng-container *ngIf=\"State\">\r\n <lcu-projects-header\r\n [projects]=\"State.EaC?.Projects\"\r\n [creating-project]=\"CreatingProject\"\r\n [selected-project-lookup]=\"EditingProjectLookup\"\r\n ></lcu-projects-header>\r\n\r\n <div *ngIf=\"EditingProject\">\r\n <div class=\"divider margin-bottom-3\"></div>\r\n <lcu-project-tabs\r\n [applications]=\"State.EaC?.Applications\"\r\n [project]=\"EditingProject\"\r\n [project-lookup]=\"EditingProjectLookup\"\r\n [environment]=\"ActiveEnvironment\"\r\n [environment-lookup]=\"ActiveEnvironmentLookup\"\r\n class=\"margin-top-3\"\r\n >\r\n </lcu-project-tabs>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <div class=\"loading\" *ngIf=\"State?.Loading\">\r\n <lcu-loader [loading]=\"State?.Loading\"></lcu-loader>\r\n\r\n <div class=\"margin-3\">\r\n <p *ngIf=\"!State.UserEnterpriseLookup\">Loading your projects</p>\r\n\r\n <p *ngIf=\"State.UserEnterpriseLookup\">Loading your Dashboard.</p>\r\n </div>\r\n </div>\r\n\r\n <!-- <div>\r\n <pre>{{ State | json }}</pre>\r\n </div> -->\r\n</app-host-dashboard-card-element>\r\n",
1644
+ template: "<app-host-dashboard-card-element\r\n [context]=\"{ Title: 'Projects', Icon: 'language' }\"\r\n>\r\n <nav>\r\n <mat-form-field\r\n class=\"mat-full-width\"\r\n *ngIf=\"State.Enterprises?.length > 1\"\r\n >\r\n <mat-select\r\n placeholder=\"Active Enterprise ({{ State.ActiveEnterpriseLookup }})\"\r\n [value]=\"State.ActiveEnterpriseLookup\"\r\n (selectionChange)=\"ActiveEnterpriseChanged($event)\"\r\n >\r\n <mat-option [value]=\"ent.Lookup\" *ngFor=\"let ent of State.Enterprises\">\r\n {{ ent.Name }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <a\r\n mat-icon-button\r\n href=\"/docs/getting-started/projects\"\r\n target=\"_blank\"\r\n lcuEvent=\"click\"\r\n label=\"Projects\"\r\n category=\"help\"\r\n >\r\n <mat-icon matTooltip=\"More info\">help_outline</mat-icon>\r\n </a>\r\n </nav>\r\n\r\n <ng-container *ngIf=\"!State?.Loading\">\r\n <div\r\n fxLayout=\"column\"\r\n fxLayoutAlign=\"center center\"\r\n class=\"margin-bottom-4\"\r\n >\r\n <h2 class=\"mat-display-2 margin-y-2\" *ngIf=\"ProjectLookups?.length <= 0\">\r\n <span> Thank you for signing up </span>\r\n </h2>\r\n </div>\r\n\r\n <lcu-git-auth *ngIf=\"!State.GitHub.HasConnection\"></lcu-git-auth>\r\n\r\n <ng-container *ngIf=\"State.GitHub.HasConnection\">\r\n <!-- <div *ngIf=\"!CreatingProject\">\r\n Creating\r\n <lcu-create-project-wizard></lcu-create-project-wizard>\r\n </div> -->\r\n\r\n <ng-container>\r\n <ng-container *ngIf=\"State\">\r\n <lcu-projects-header\r\n [projects]=\"State.EaC?.Projects\"\r\n [creating-project]=\"CreatingProject\"\r\n [selected-project-lookup]=\"EditingProjectLookup\"\r\n ></lcu-projects-header>\r\n\r\n <div *ngIf=\"EditingProject\">\r\n <div class=\"divider margin-bottom-3\"></div>\r\n \r\n <lcu-project-tabs\r\n [applications]=\"State.EaC?.Applications\"\r\n [dfs-modifiers]=\"State.EaC?.Modifiers\"\r\n [project]=\"EditingProject\"\r\n [project-lookup]=\"EditingProjectLookup\"\r\n [environment]=\"ActiveEnvironment\"\r\n [environment-lookup]=\"ActiveEnvironmentLookup\"\r\n class=\"margin-top-3\"\r\n >\r\n </lcu-project-tabs>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <div class=\"loading\" *ngIf=\"State?.Loading\">\r\n <lcu-loader [loading]=\"State?.Loading\"></lcu-loader>\r\n\r\n <div class=\"margin-3\">\r\n <!-- <p *ngIf=\"!State.UserEnterpriseLookup\">Loading your projects</p> -->\r\n\r\n <!-- <p *ngIf=\"State.UserEnterpriseLookup\">Loading your Dashboard.</p> -->\r\n </div>\r\n </div>\r\n\r\n <!-- <div>\r\n <pre>{{ State | json }}</pre>\r\n </div> -->\r\n</app-host-dashboard-card-element>\r\n",
1465
1645
  styles: ["@import url(\"https://fonts.googleapis.com/icon?family=Material+Icons\");@import url(\"https://fonts.googleapis.com/css?family=Encode+Sans+Condensed:400,900&display=swap\");@import url(\"https://fonts.googleapis.com/css?family=Open+Sans:300,400,700&display=swap\");.disable-autofill-background-default input:-webkit-autofill,.disable-autofill-background-default input:-webkit-autofill:focus,.disable-autofill-background-default input:-webkit-autofill:hover,.disable-autofill-background-default select:-webkit-autofill,.disable-autofill-background-default select:-webkit-autofill:focus,.disable-autofill-background-default select:-webkit-autofill:hover,.disable-autofill-background-default textarea:-webkit-autofill,.disable-autofill-background-default textarea:-webkit-autofill:focus,.disable-autofill-background-default textarea:-webkit-autofill:hover{-webkit-transition:background-color 5000s!important;transition:background-color 5000s!important}.list-item-disabled{cursor:not-allowed!important;filter:alpha(opacity=50);opacity:.5}.filler{display:inline-block!important;flex:1 1 auto}.sticky{position:sticky;top:0;z-index:750}.inline{display:inline-block}.contents,.page-element{display:contents}.mat-spinner{margin:auto}.mat-full-width{width:100%}.spread{margin:2rem}.spread-thin{margin:1rem}.overlay{position:sticky!important}.overlay.top{top:0}.overlay.bottom{bottom:0}.margin-0{margin:0!important}.margin-top-0,.margin-y-0{margin-top:0!important}.margin-right-0,.margin-x-0{margin-right:0!important}.margin-bottom-0,.margin-y-0{margin-bottom:0!important}.margin-left-0,.margin-x-0{margin-left:0!important}.margin-1{margin:.25rem!important}.margin-top-1,.margin-y-1{margin-top:.25rem!important}.margin-right-1,.margin-x-1{margin-right:.25rem!important}.margin-bottom-1,.margin-y-1{margin-bottom:.25rem!important}.margin-left-1,.margin-x-1{margin-left:.25rem!important}.margin-2{margin:.5rem!important}.margin-top-2,.margin-y-2{margin-top:.5rem!important}.margin-right-2,.margin-x-2{margin-right:.5rem!important}.margin-bottom-2,.margin-y-2{margin-bottom:.5rem!important}.margin-left-2,.margin-x-2{margin-left:.5rem!important}.margin-3{margin:1rem!important}.margin-top-3,.margin-y-3{margin-top:1rem!important}.margin-top-bottom-3{margin:1rem 0!important}.margin-right-3,.margin-x-3{margin-right:1rem!important}.margin-bottom-3,.margin-y-3{margin-bottom:1rem!important}.margin-left-3,.margin-x-3{margin-left:1rem!important}.margin-4{margin:2rem!important}.margin-top-4,.margin-y-4{margin-top:2rem!important}.margin-right-4,.margin-x-4{margin-right:2rem!important}.margin-bottom-4,.margin-y-4{margin-bottom:2rem!important}.margin-left-4,.margin-x-4{margin-left:2rem!important}.margin-right-5,.margin-x-5{margin-right:4rem!important}.margin-bottom-5,.margin-y-5{margin-bottom:4rem!important}.margin-left-5,.margin-x-5{margin-left:4rem!important}.margin-5{margin:4rem!important}.margin-top-5,.margin-y-5{margin-top:4rem!important}.margin-right-6,.margin-x-6{margin-right:4.5rem!important}.margin-bottom-6,.margin-y-6{margin-bottom:4.5rem!important}.margin-left-6,.margin-x-6{margin-left:4.5rem!important}.margin-7{margin:6rem!important}.margin-top-7,.margin-y-7{margin-top:6rem!important}.margin-right-7,.margin-x-7{margin-right:6rem!important}.margin-bottom-7,.margin-y-7{margin-bottom:6rem!important}.margin-left-7,.margin-x-7{margin-left:6rem!important}.margin-8{margin:7.5rem!important}.margin-top-8,.margin-y-8{margin-top:7.5rem!important}.margin-right-8,.margin-x-8{margin-right:7.5rem!important}.margin-bottom-8,.margin-y-8{margin-bottom:7.5rem!important}.margin-left-8,.margin-x-8{margin-left:7.5rem!important}.margin-9{margin:9rem!important}.margin-top-9,.margin-y-9{margin-top:9rem!important}.margin-right-9,.margin-x-9{margin-right:9rem!important}.margin-bottom-9,.margin-y-9{margin-bottom:9rem!important}.margin-left-9,.margin-x-9{margin-left:9rem!important}.padding-0{padding:0!important}.padding-top-0,.padding-y-0{padding-top:0!important}.padding-right-0,.padding-x-0{padding-right:0!important}.padding-bottom-0,.padding-y-0{padding-bottom:0!important}.padding-left-0,.padding-x-0{padding-left:0!important}.padding-1{padding:.25rem!important}.padding-top-1,.padding-y-1{padding-top:.25rem!important}.padding-right-1,.padding-x-1{padding-right:.25rem!important}.padding-bottom-1,.padding-y-1{padding-bottom:.25rem!important}.padding-left-1,.padding-x-1{padding-left:.25rem!important}.padding-2{padding:.5rem!important}.padding-top-2,.padding-y-2{padding-top:.5rem!important}.padding-right-2,.padding-x-2{padding-right:.5rem!important}.padding-bottom-2,.padding-y-2{padding-bottom:.5rem!important}.padding-left-2,.padding-x-2{padding-left:.5rem!important}.padding-3{padding:1rem!important}.padding-top-3,.padding-y-3{padding-top:1rem!important}.padding-right-3,.padding-x-3{padding-right:1rem!important}.padding-bottom-3,.padding-y-3{padding-bottom:1rem!important}.padding-left-3,.padding-x-3{padding-left:1rem!important}.padding-4{padding:2rem!important}.padding-top-4,.padding-y-4{padding-top:2rem!important}.padding-right-4,.padding-x-4{padding-right:2rem!important}.padding-bottom-4,.padding-y-4{padding-bottom:2rem!important}.padding-left-4,.padding-x-4{padding-left:2rem!important}.padding-5{padding:4rem!important}.padding-top-5,.padding-y-5{padding-top:4rem!important}.padding-right-5,.padding-x-5{padding-right:4rem!important}.padding-bottom-5,.padding-y-5{padding-bottom:4rem!important}.padding-left-5,.padding-x-5{padding-left:4rem!important}.margin-n1{margin:-.25rem!important}.margin-top-n1,.margin-y-n1{margin-top:-.25rem!important}.margin-right-n1,.margin-x-n1{margin-right:-.25rem!important}.margin-bottom-n1,.margin-y-n1{margin-bottom:-.25rem!important}.margin-left-n1,.margin-x-n1{margin-left:-.25rem!important}.margin-n2{margin:-.5rem!important}.margin-top-n2,.margin-y-n2{margin-top:-.5rem!important}.margin-right-n2,.margin-x-n2{margin-right:-.5rem!important}.margin-bottom-n2,.margin-y-n2{margin-bottom:-.5rem!important}.margin-left-n2,.margin-x-n2{margin-left:-.5rem!important}.margin-n3{margin:-1rem!important}.margin-top-n3,.margin-y-n3{margin-top:-1rem!important}.margin-right-n3,.margin-x-n3{margin-right:-1rem!important}.margin-bottom-n3,.margin-y-n3{margin-bottom:-1rem!important}.margin-left-n3,.margin-x-n3{margin-left:-1rem!important}.margin-n4{margin:-2rem!important}.margin-top-n4,.margin-y-n4{margin-top:-2rem!important}.margin-right-n4,.margin-x-n4{margin-right:-2rem!important}.margin-bottom-n4,.margin-y-n4{margin-bottom:-2rem!important}.margin-left-n4,.margin-x-n4{margin-left:-2rem!important}.margin-n5{margin:-4rem!important}.margin-top-n5,.margin-y-n5{margin-top:-4rem!important}.margin-right-n5,.margin-x-n5{margin-right:-4rem!important}.margin-bottom-n5,.margin-y-n5{margin-bottom:-4rem!important}.margin-left-n5,.margin-x-n5{margin-left:-4rem!important}.margin-auto{margin:auto!important}.margin-top-auto,.margin-y-auto{margin-top:auto!important}.margin-right-auto,.margin-x-auto{margin-right:auto!important}.margin-bottom-auto,.margin-y-auto{margin-bottom:auto!important}.margin-left-auto,.margin-x-auto{margin-left:auto!important}@media (min-width:576px){.margin-sm-0{margin:0!important}.margin-top-sm-0,.margin-y-sm-0{margin-top:0!important}.margin-right-sm-0,.margin-x-sm-0{margin-right:0!important}.margin-bottom-sm-0,.margin-y-sm-0{margin-bottom:0!important}.margin-left-sm-0,.margin-x-sm-0{margin-left:0!important}.margin-sm-1{margin:.25rem!important}.margin-top-sm-1,.margin-y-sm-1{margin-top:.25rem!important}.margin-right-sm-1,.margin-x-sm-1{margin-right:.25rem!important}.margin-bottom-sm-1,.margin-y-sm-1{margin-bottom:.25rem!important}.margin-left-sm-1,.margin-x-sm-1{margin-left:.25rem!important}.margin-sm-2{margin:.5rem!important}.margin-top-sm-2,.margin-y-sm-2{margin-top:.5rem!important}.margin-right-sm-2,.margin-x-sm-2{margin-right:.5rem!important}.margin-bottom-sm-2,.margin-y-sm-2{margin-bottom:.5rem!important}.margin-left-sm-2,.margin-x-sm-2{margin-left:.5rem!important}.margin-sm-3{margin:1rem!important}.margin-top-sm-3,.margin-y-sm-3{margin-top:1rem!important}.margin-right-sm-3,.margin-x-sm-3{margin-right:1rem!important}.margin-bottom-sm-3,.margin-y-sm-3{margin-bottom:1rem!important}.margin-left-sm-3,.margin-x-sm-3{margin-left:1rem!important}.margin-sm-4{margin:2rem!important}.margin-top-sm-4,.margin-y-sm-4{margin-top:2rem!important}.margin-right-sm-4,.margin-x-sm-4{margin-right:2rem!important}.margin-bottom-sm-4,.margin-y-sm-4{margin-bottom:2rem!important}.margin-left-sm-4,.margin-x-sm-4{margin-left:2rem!important}.margin-sm-5{margin:4rem!important}.margin-top-sm-5,.margin-y-sm-5{margin-top:4rem!important}.margin-right-sm-5,.margin-x-sm-5{margin-right:4rem!important}.margin-bottom-sm-5,.margin-y-sm-5{margin-bottom:4rem!important}.margin-left-sm-5,.margin-x-sm-5{margin-left:4rem!important}.padding-sm-0{padding:0!important}.padding-top-sm-0,.padding-y-sm-0{padding-top:0!important}.padding-right-sm-0,.padding-x-sm-0{padding-right:0!important}.padding-bottom-sm-0,.padding-y-sm-0{padding-bottom:0!important}.padding-left-sm-0,.padding-x-sm-0{padding-left:0!important}.padding-sm-1{padding:.25rem!important}.padding-top-sm-1,.padding-y-sm-1{padding-top:.25rem!important}.padding-right-sm-1,.padding-x-sm-1{padding-right:.25rem!important}.padding-bottom-sm-1,.padding-y-sm-1{padding-bottom:.25rem!important}.padding-left-sm-1,.padding-x-sm-1{padding-left:.25rem!important}.padding-sm-2{padding:.5rem!important}.padding-top-sm-2,.padding-y-sm-2{padding-top:.5rem!important}.padding-right-sm-2,.padding-x-sm-2{padding-right:.5rem!important}.padding-bottom-sm-2,.padding-y-sm-2{padding-bottom:.5rem!important}.padding-left-sm-2,.padding-x-sm-2{padding-left:.5rem!important}.padding-sm-3{padding:1rem!important}.padding-top-sm-3,.padding-y-sm-3{padding-top:1rem!important}.padding-right-sm-3,.padding-x-sm-3{padding-right:1rem!important}.padding-bottom-sm-3,.padding-y-sm-3{padding-bottom:1rem!important}.padding-left-sm-3,.padding-x-sm-3{padding-left:1rem!important}.padding-sm-4{padding:2rem!important}.padding-top-sm-4,.padding-y-sm-4{padding-top:2rem!important}.padding-right-sm-4,.padding-x-sm-4{padding-right:2rem!important}.padding-bottom-sm-4,.padding-y-sm-4{padding-bottom:2rem!important}.padding-left-sm-4,.padding-x-sm-4{padding-left:2rem!important}.padding-sm-5{padding:4rem!important}.padding-top-sm-5,.padding-y-sm-5{padding-top:4rem!important}.padding-right-sm-5,.padding-x-sm-5{padding-right:4rem!important}.padding-bottom-sm-5,.padding-y-sm-5{padding-bottom:4rem!important}.padding-left-sm-5,.padding-x-sm-5{padding-left:4rem!important}.margin-sm-n1{margin:-.25rem!important}.margin-top-sm-n1,.margin-y-sm-n1{margin-top:-.25rem!important}.margin-right-sm-n1,.margin-x-sm-n1{margin-right:-.25rem!important}.margin-bottom-sm-n1,.margin-y-sm-n1{margin-bottom:-.25rem!important}.margin-left-sm-n1,.margin-x-sm-n1{margin-left:-.25rem!important}.margin-sm-n2{margin:-.5rem!important}.margin-top-sm-n2,.margin-y-sm-n2{margin-top:-.5rem!important}.margin-right-sm-n2,.margin-x-sm-n2{margin-right:-.5rem!important}.margin-bottom-sm-n2,.margin-y-sm-n2{margin-bottom:-.5rem!important}.margin-left-sm-n2,.margin-x-sm-n2{margin-left:-.5rem!important}.margin-sm-n3{margin:-1rem!important}.margin-top-sm-n3,.margin-y-sm-n3{margin-top:-1rem!important}.margin-right-sm-n3,.margin-x-sm-n3{margin-right:-1rem!important}.margin-bottom-sm-n3,.margin-y-sm-n3{margin-bottom:-1rem!important}.margin-left-sm-n3,.margin-x-sm-n3{margin-left:-1rem!important}.margin-sm-n4{margin:-2rem!important}.margin-top-sm-n4,.margin-y-sm-n4{margin-top:-2rem!important}.margin-right-sm-n4,.margin-x-sm-n4{margin-right:-2rem!important}.margin-bottom-sm-n4,.margin-y-sm-n4{margin-bottom:-2rem!important}.margin-left-sm-n4,.margin-x-sm-n4{margin-left:-2rem!important}.margin-sm-n5{margin:-4rem!important}.margin-top-sm-n5,.margin-y-sm-n5{margin-top:-4rem!important}.margin-right-sm-n5,.margin-x-sm-n5{margin-right:-4rem!important}.margin-bottom-sm-n5,.margin-y-sm-n5{margin-bottom:-4rem!important}.margin-left-sm-n5,.margin-x-sm-n5{margin-left:-4rem!important}.margin-sm-auto{margin:auto!important}.margin-top-sm-auto,.margin-y-sm-auto{margin-top:auto!important}.margin-right-sm-auto,.margin-x-sm-auto{margin-right:auto!important}.margin-bottom-sm-auto,.margin-y-sm-auto{margin-bottom:auto!important}.margin-left-sm-auto,.margin-x-sm-auto{margin-left:auto!important}}@media (min-width:768px){.margin-md-0{margin:0!important}.margin-top-md-0,.margin-y-md-0{margin-top:0!important}.margin-right-md-0,.margin-x-md-0{margin-right:0!important}.margin-bottom-md-0,.margin-y-md-0{margin-bottom:0!important}.margin-left-md-0,.margin-x-md-0{margin-left:0!important}.margin-md-1{margin:.25rem!important}.margin-top-md-1,.margin-y-md-1{margin-top:.25rem!important}.margin-right-md-1,.margin-x-md-1{margin-right:.25rem!important}.margin-bottom-md-1,.margin-y-md-1{margin-bottom:.25rem!important}.margin-left-md-1,.margin-x-md-1{margin-left:.25rem!important}.margin-md-2{margin:.5rem!important}.margin-top-md-2,.margin-y-md-2{margin-top:.5rem!important}.margin-right-md-2,.margin-x-md-2{margin-right:.5rem!important}.margin-bottom-md-2,.margin-y-md-2{margin-bottom:.5rem!important}.margin-left-md-2,.margin-x-md-2{margin-left:.5rem!important}.margin-md-3{margin:1rem!important}.margin-top-md-3,.margin-y-md-3{margin-top:1rem!important}.margin-right-md-3,.margin-x-md-3{margin-right:1rem!important}.margin-bottom-md-3,.margin-y-md-3{margin-bottom:1rem!important}.margin-left-md-3,.margin-x-md-3{margin-left:1rem!important}.margin-md-4{margin:2rem!important}.margin-top-md-4,.margin-y-md-4{margin-top:2rem!important}.margin-right-md-4,.margin-x-md-4{margin-right:2rem!important}.margin-bottom-md-4,.margin-y-md-4{margin-bottom:2rem!important}.margin-left-md-4,.margin-x-md-4{margin-left:2rem!important}.margin-md-5{margin:4rem!important}.margin-top-md-5,.margin-y-md-5{margin-top:4rem!important}.margin-right-md-5,.margin-x-md-5{margin-right:4rem!important}.margin-bottom-md-5,.margin-y-md-5{margin-bottom:4rem!important}.margin-left-md-5,.margin-x-md-5{margin-left:4rem!important}.padding-md-0{padding:0!important}.padding-top-md-0,.padding-y-md-0{padding-top:0!important}.padding-right-md-0,.padding-x-md-0{padding-right:0!important}.padding-bottom-md-0,.padding-y-md-0{padding-bottom:0!important}.padding-left-md-0,.padding-x-md-0{padding-left:0!important}.padding-md-1{padding:.25rem!important}.padding-top-md-1,.padding-y-md-1{padding-top:.25rem!important}.padding-right-md-1,.padding-x-md-1{padding-right:.25rem!important}.padding-bottom-md-1,.padding-y-md-1{padding-bottom:.25rem!important}.padding-left-md-1,.padding-x-md-1{padding-left:.25rem!important}.padding-md-2{padding:.5rem!important}.padding-top-md-2,.padding-y-md-2{padding-top:.5rem!important}.padding-right-md-2,.padding-x-md-2{padding-right:.5rem!important}.padding-bottom-md-2,.padding-y-md-2{padding-bottom:.5rem!important}.padding-left-md-2,.padding-x-md-2{padding-left:.5rem!important}.padding-md-3{padding:1rem!important}.padding-top-md-3,.padding-y-md-3{padding-top:1rem!important}.padding-right-md-3,.padding-x-md-3{padding-right:1rem!important}.padding-bottom-md-3,.padding-y-md-3{padding-bottom:1rem!important}.padding-left-md-3,.padding-x-md-3{padding-left:1rem!important}.padding-md-4{padding:2rem!important}.padding-top-md-4,.padding-y-md-4{padding-top:2rem!important}.padding-right-md-4,.padding-x-md-4{padding-right:2rem!important}.padding-bottom-md-4,.padding-y-md-4{padding-bottom:2rem!important}.padding-left-md-4,.padding-x-md-4{padding-left:2rem!important}.padding-md-5{padding:4rem!important}.padding-top-md-5,.padding-y-md-5{padding-top:4rem!important}.padding-right-md-5,.padding-x-md-5{padding-right:4rem!important}.padding-bottom-md-5,.padding-y-md-5{padding-bottom:4rem!important}.padding-left-md-5,.padding-x-md-5{padding-left:4rem!important}.margin-md-n1{margin:-.25rem!important}.margin-top-md-n1,.margin-y-md-n1{margin-top:-.25rem!important}.margin-right-md-n1,.margin-x-md-n1{margin-right:-.25rem!important}.margin-bottom-md-n1,.margin-y-md-n1{margin-bottom:-.25rem!important}.margin-left-md-n1,.margin-x-md-n1{margin-left:-.25rem!important}.margin-md-n2{margin:-.5rem!important}.margin-top-md-n2,.margin-y-md-n2{margin-top:-.5rem!important}.margin-right-md-n2,.margin-x-md-n2{margin-right:-.5rem!important}.margin-bottom-md-n2,.margin-y-md-n2{margin-bottom:-.5rem!important}.margin-left-md-n2,.margin-x-md-n2{margin-left:-.5rem!important}.margin-md-n3{margin:-1rem!important}.margin-top-md-n3,.margin-y-md-n3{margin-top:-1rem!important}.margin-right-md-n3,.margin-x-md-n3{margin-right:-1rem!important}.margin-bottom-md-n3,.margin-y-md-n3{margin-bottom:-1rem!important}.margin-left-md-n3,.margin-x-md-n3{margin-left:-1rem!important}.margin-md-n4{margin:-2rem!important}.margin-top-md-n4,.margin-y-md-n4{margin-top:-2rem!important}.margin-right-md-n4,.margin-x-md-n4{margin-right:-2rem!important}.margin-bottom-md-n4,.margin-y-md-n4{margin-bottom:-2rem!important}.margin-left-md-n4,.margin-x-md-n4{margin-left:-2rem!important}.margin-md-n5{margin:-4rem!important}.margin-top-md-n5,.margin-y-md-n5{margin-top:-4rem!important}.margin-right-md-n5,.margin-x-md-n5{margin-right:-4rem!important}.margin-bottom-md-n5,.margin-y-md-n5{margin-bottom:-4rem!important}.margin-left-md-n5,.margin-x-md-n5{margin-left:-4rem!important}.margin-md-auto{margin:auto!important}.margin-top-md-auto,.margin-y-md-auto{margin-top:auto!important}.margin-right-md-auto,.margin-x-md-auto{margin-right:auto!important}.margin-bottom-md-auto,.margin-y-md-auto{margin-bottom:auto!important}.margin-left-md-auto,.margin-x-md-auto{margin-left:auto!important}}@media (min-width:992px){.margin-lg-0{margin:0!important}.margin-top-lg-0,.margin-y-lg-0{margin-top:0!important}.margin-right-lg-0,.margin-x-lg-0{margin-right:0!important}.margin-bottom-lg-0,.margin-y-lg-0{margin-bottom:0!important}.margin-left-lg-0,.margin-x-lg-0{margin-left:0!important}.margin-lg-1{margin:.25rem!important}.margin-top-lg-1,.margin-y-lg-1{margin-top:.25rem!important}.margin-right-lg-1,.margin-x-lg-1{margin-right:.25rem!important}.margin-bottom-lg-1,.margin-y-lg-1{margin-bottom:.25rem!important}.margin-left-lg-1,.margin-x-lg-1{margin-left:.25rem!important}.margin-lg-2{margin:.5rem!important}.margin-top-lg-2,.margin-y-lg-2{margin-top:.5rem!important}.margin-right-lg-2,.margin-x-lg-2{margin-right:.5rem!important}.margin-bottom-lg-2,.margin-y-lg-2{margin-bottom:.5rem!important}.margin-left-lg-2,.margin-x-lg-2{margin-left:.5rem!important}.margin-lg-3{margin:1rem!important}.margin-top-lg-3,.margin-y-lg-3{margin-top:1rem!important}.margin-right-lg-3,.margin-x-lg-3{margin-right:1rem!important}.margin-bottom-lg-3,.margin-y-lg-3{margin-bottom:1rem!important}.margin-left-lg-3,.margin-x-lg-3{margin-left:1rem!important}.margin-lg-4{margin:2rem!important}.margin-top-lg-4,.margin-y-lg-4{margin-top:2rem!important}.margin-right-lg-4,.margin-x-lg-4{margin-right:2rem!important}.margin-bottom-lg-4,.margin-y-lg-4{margin-bottom:2rem!important}.margin-left-lg-4,.margin-x-lg-4{margin-left:2rem!important}.margin-lg-5{margin:4rem!important}.margin-top-lg-5,.margin-y-lg-5{margin-top:4rem!important}.margin-right-lg-5,.margin-x-lg-5{margin-right:4rem!important}.margin-bottom-lg-5,.margin-y-lg-5{margin-bottom:4rem!important}.margin-left-lg-5,.margin-x-lg-5{margin-left:4rem!important}.padding-lg-0{padding:0!important}.padding-top-lg-0,.padding-y-lg-0{padding-top:0!important}.padding-right-lg-0,.padding-x-lg-0{padding-right:0!important}.padding-bottom-lg-0,.padding-y-lg-0{padding-bottom:0!important}.padding-left-lg-0,.padding-x-lg-0{padding-left:0!important}.padding-lg-1{padding:.25rem!important}.padding-top-lg-1,.padding-y-lg-1{padding-top:.25rem!important}.padding-right-lg-1,.padding-x-lg-1{padding-right:.25rem!important}.padding-bottom-lg-1,.padding-y-lg-1{padding-bottom:.25rem!important}.padding-left-lg-1,.padding-x-lg-1{padding-left:.25rem!important}.padding-lg-2{padding:.5rem!important}.padding-top-lg-2,.padding-y-lg-2{padding-top:.5rem!important}.padding-right-lg-2,.padding-x-lg-2{padding-right:.5rem!important}.padding-bottom-lg-2,.padding-y-lg-2{padding-bottom:.5rem!important}.padding-left-lg-2,.padding-x-lg-2{padding-left:.5rem!important}.padding-lg-3{padding:1rem!important}.padding-top-lg-3,.padding-y-lg-3{padding-top:1rem!important}.padding-right-lg-3,.padding-x-lg-3{padding-right:1rem!important}.padding-bottom-lg-3,.padding-y-lg-3{padding-bottom:1rem!important}.padding-left-lg-3,.padding-x-lg-3{padding-left:1rem!important}.padding-lg-4{padding:2rem!important}.padding-top-lg-4,.padding-y-lg-4{padding-top:2rem!important}.padding-right-lg-4,.padding-x-lg-4{padding-right:2rem!important}.padding-bottom-lg-4,.padding-y-lg-4{padding-bottom:2rem!important}.padding-left-lg-4,.padding-x-lg-4{padding-left:2rem!important}.padding-lg-5{padding:4rem!important}.padding-top-lg-5,.padding-y-lg-5{padding-top:4rem!important}.padding-right-lg-5,.padding-x-lg-5{padding-right:4rem!important}.padding-bottom-lg-5,.padding-y-lg-5{padding-bottom:4rem!important}.padding-left-lg-5,.padding-x-lg-5{padding-left:4rem!important}.margin-lg-n1{margin:-.25rem!important}.margin-top-lg-n1,.margin-y-lg-n1{margin-top:-.25rem!important}.margin-right-lg-n1,.margin-x-lg-n1{margin-right:-.25rem!important}.margin-bottom-lg-n1,.margin-y-lg-n1{margin-bottom:-.25rem!important}.margin-left-lg-n1,.margin-x-lg-n1{margin-left:-.25rem!important}.margin-lg-n2{margin:-.5rem!important}.margin-top-lg-n2,.margin-y-lg-n2{margin-top:-.5rem!important}.margin-right-lg-n2,.margin-x-lg-n2{margin-right:-.5rem!important}.margin-bottom-lg-n2,.margin-y-lg-n2{margin-bottom:-.5rem!important}.margin-left-lg-n2,.margin-x-lg-n2{margin-left:-.5rem!important}.margin-lg-n3{margin:-1rem!important}.margin-top-lg-n3,.margin-y-lg-n3{margin-top:-1rem!important}.margin-right-lg-n3,.margin-x-lg-n3{margin-right:-1rem!important}.margin-bottom-lg-n3,.margin-y-lg-n3{margin-bottom:-1rem!important}.margin-left-lg-n3,.margin-x-lg-n3{margin-left:-1rem!important}.margin-lg-n4{margin:-2rem!important}.margin-top-lg-n4,.margin-y-lg-n4{margin-top:-2rem!important}.margin-right-lg-n4,.margin-x-lg-n4{margin-right:-2rem!important}.margin-bottom-lg-n4,.margin-y-lg-n4{margin-bottom:-2rem!important}.margin-left-lg-n4,.margin-x-lg-n4{margin-left:-2rem!important}.margin-lg-n5{margin:-4rem!important}.margin-top-lg-n5,.margin-y-lg-n5{margin-top:-4rem!important}.margin-right-lg-n5,.margin-x-lg-n5{margin-right:-4rem!important}.margin-bottom-lg-n5,.margin-y-lg-n5{margin-bottom:-4rem!important}.margin-left-lg-n5,.margin-x-lg-n5{margin-left:-4rem!important}.margin-lg-auto{margin:auto!important}.margin-top-lg-auto,.margin-y-lg-auto{margin-top:auto!important}.margin-right-lg-auto,.margin-x-lg-auto{margin-right:auto!important}.margin-bottom-lg-auto,.margin-y-lg-auto{margin-bottom:auto!important}.margin-left-lg-auto,.margin-x-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.margin-xl-0{margin:0!important}.margin-top-xl-0,.margin-y-xl-0{margin-top:0!important}.margin-right-xl-0,.margin-x-xl-0{margin-right:0!important}.margin-bottom-xl-0,.margin-y-xl-0{margin-bottom:0!important}.margin-left-xl-0,.margin-x-xl-0{margin-left:0!important}.margin-xl-1{margin:.25rem!important}.margin-top-xl-1,.margin-y-xl-1{margin-top:.25rem!important}.margin-right-xl-1,.margin-x-xl-1{margin-right:.25rem!important}.margin-bottom-xl-1,.margin-y-xl-1{margin-bottom:.25rem!important}.margin-left-xl-1,.margin-x-xl-1{margin-left:.25rem!important}.margin-xl-2{margin:.5rem!important}.margin-top-xl-2,.margin-y-xl-2{margin-top:.5rem!important}.margin-right-xl-2,.margin-x-xl-2{margin-right:.5rem!important}.margin-bottom-xl-2,.margin-y-xl-2{margin-bottom:.5rem!important}.margin-left-xl-2,.margin-x-xl-2{margin-left:.5rem!important}.margin-xl-3{margin:1rem!important}.margin-top-xl-3,.margin-y-xl-3{margin-top:1rem!important}.margin-right-xl-3,.margin-x-xl-3{margin-right:1rem!important}.margin-bottom-xl-3,.margin-y-xl-3{margin-bottom:1rem!important}.margin-left-xl-3,.margin-x-xl-3{margin-left:1rem!important}.margin-xl-4{margin:2rem!important}.margin-top-xl-4,.margin-y-xl-4{margin-top:2rem!important}.margin-right-xl-4,.margin-x-xl-4{margin-right:2rem!important}.margin-bottom-xl-4,.margin-y-xl-4{margin-bottom:2rem!important}.margin-left-xl-4,.margin-x-xl-4{margin-left:2rem!important}.margin-xl-5{margin:4rem!important}.margin-top-xl-5,.margin-y-xl-5{margin-top:4rem!important}.margin-right-xl-5,.margin-x-xl-5{margin-right:4rem!important}.margin-bottom-xl-5,.margin-y-xl-5{margin-bottom:4rem!important}.margin-left-xl-5,.margin-x-xl-5{margin-left:4rem!important}.padding-xl-0{padding:0!important}.padding-top-xl-0,.padding-y-xl-0{padding-top:0!important}.padding-right-xl-0,.padding-x-xl-0{padding-right:0!important}.padding-bottom-xl-0,.padding-y-xl-0{padding-bottom:0!important}.padding-left-xl-0,.padding-x-xl-0{padding-left:0!important}.padding-xl-1{padding:.25rem!important}.padding-top-xl-1,.padding-y-xl-1{padding-top:.25rem!important}.padding-right-xl-1,.padding-x-xl-1{padding-right:.25rem!important}.padding-bottom-xl-1,.padding-y-xl-1{padding-bottom:.25rem!important}.padding-left-xl-1,.padding-x-xl-1{padding-left:.25rem!important}.padding-xl-2{padding:.5rem!important}.padding-top-xl-2,.padding-y-xl-2{padding-top:.5rem!important}.padding-right-xl-2,.padding-x-xl-2{padding-right:.5rem!important}.padding-bottom-xl-2,.padding-y-xl-2{padding-bottom:.5rem!important}.padding-left-xl-2,.padding-x-xl-2{padding-left:.5rem!important}.padding-xl-3{padding:1rem!important}.padding-top-xl-3,.padding-y-xl-3{padding-top:1rem!important}.padding-right-xl-3,.padding-x-xl-3{padding-right:1rem!important}.padding-bottom-xl-3,.padding-y-xl-3{padding-bottom:1rem!important}.padding-left-xl-3,.padding-x-xl-3{padding-left:1rem!important}.padding-xl-4{padding:2rem!important}.padding-top-xl-4,.padding-y-xl-4{padding-top:2rem!important}.padding-right-xl-4,.padding-x-xl-4{padding-right:2rem!important}.padding-bottom-xl-4,.padding-y-xl-4{padding-bottom:2rem!important}.padding-left-xl-4,.padding-x-xl-4{padding-left:2rem!important}.padding-xl-5{padding:4rem!important}.padding-top-xl-5,.padding-y-xl-5{padding-top:4rem!important}.padding-right-xl-5,.padding-x-xl-5{padding-right:4rem!important}.padding-bottom-xl-5,.padding-y-xl-5{padding-bottom:4rem!important}.padding-left-xl-5,.padding-x-xl-5{padding-left:4rem!important}.margin-xl-n1{margin:-.25rem!important}.margin-top-xl-n1,.margin-y-xl-n1{margin-top:-.25rem!important}.margin-right-xl-n1,.margin-x-xl-n1{margin-right:-.25rem!important}.margin-bottom-xl-n1,.margin-y-xl-n1{margin-bottom:-.25rem!important}.margin-left-xl-n1,.margin-x-xl-n1{margin-left:-.25rem!important}.margin-xl-n2{margin:-.5rem!important}.margin-top-xl-n2,.margin-y-xl-n2{margin-top:-.5rem!important}.margin-right-xl-n2,.margin-x-xl-n2{margin-right:-.5rem!important}.margin-bottom-xl-n2,.margin-y-xl-n2{margin-bottom:-.5rem!important}.margin-left-xl-n2,.margin-x-xl-n2{margin-left:-.5rem!important}.margin-xl-n3{margin:-1rem!important}.margin-top-xl-n3,.margin-y-xl-n3{margin-top:-1rem!important}.margin-right-xl-n3,.margin-x-xl-n3{margin-right:-1rem!important}.margin-bottom-xl-n3,.margin-y-xl-n3{margin-bottom:-1rem!important}.margin-left-xl-n3,.margin-x-xl-n3{margin-left:-1rem!important}.margin-xl-n4{margin:-2rem!important}.margin-top-xl-n4,.margin-y-xl-n4{margin-top:-2rem!important}.margin-right-xl-n4,.margin-x-xl-n4{margin-right:-2rem!important}.margin-bottom-xl-n4,.margin-y-xl-n4{margin-bottom:-2rem!important}.margin-left-xl-n4,.margin-x-xl-n4{margin-left:-2rem!important}.margin-xl-n5{margin:-4rem!important}.margin-top-xl-n5,.margin-y-xl-n5{margin-top:-4rem!important}.margin-right-xl-n5,.margin-x-xl-n5{margin-right:-4rem!important}.margin-bottom-xl-n5,.margin-y-xl-n5{margin-bottom:-4rem!important}.margin-left-xl-n5,.margin-x-xl-n5{margin-left:-4rem!important}.margin-xl-auto{margin:auto!important}.margin-top-xl-auto,.margin-y-xl-auto{margin-top:auto!important}.margin-right-xl-auto,.margin-x-xl-auto{margin-right:auto!important}.margin-bottom-xl-auto,.margin-y-xl-auto{margin-bottom:auto!important}.margin-left-xl-auto,.margin-x-xl-auto{margin-left:auto!important}}.h1{font-size:2em}.h2{font-size:1.5em}.h3{font-size:1.17em}.h4{font-size:1em}.h5{font-size:.83em}.h6{font-size:.67em}.cursor-alias{cursor:alias}.cursor-all-scroll{cursor:all-scroll}.cursor-auto{cursor:auto}.cursor-cell{cursor:cell}.cursor-context-menu{cursor:context-menu}.cursor-col-resize{cursor:col-resize}.cursor-copy{cursor:copy}.cursor-crosshair{cursor:crosshair}.cursor-default{cursor:default}.cursor-e-resize{cursor:e-resize}.cursor-ew-resize{cursor:ew-resize}.cursor-grab{cursor:-webkit-grab;cursor:grab}.cursor-grabbing{cursor:-webkit-grabbing;cursor:grabbing}.cursor-help{cursor:help}.cursor-move{cursor:move}.cursor-n-resize{cursor:n-resize}.cursor-ne-resize{cursor:ne-resize}.cursor-nesw-resize{cursor:nesw-resize}.cursor-ns-resize{cursor:ns-resize}.cursor-nw-resize{cursor:nw-resize}.cursor-nwse-resize{cursor:nwse-resize}.cursor-no-drop{cursor:no-drop}.cursor-none{cursor:none}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-progress{cursor:progress}.cursor-row-resize{cursor:row-resize}.cursor-s-resize{cursor:s-resize}.cursor-se-resize{cursor:se-resize}.cursor-sw-resize{cursor:sw-resize}.cursor-text{cursor:text}.cursor-w-resize{cursor:w-resize}.cursor-wait{cursor:wait}.cursor-zoom-in{cursor:zoom-in}.cursor-zoom-out{cursor:zoom-out}.mat-tooltip{font-size:15px!important}body,html{height:100%}body{font-family:opens sans regular,sans-serif;margin:0;padding:0}iframe{border:none}.mat-badge-content{font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px;font-weight:600}.mat-badge-small .mat-badge-content{font-size:9px}.mat-badge-large .mat-badge-content{font-size:24px}.mat-h1,.mat-headline,.mat-typography h1{font:400 24px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h2,.mat-title,.mat-typography h2{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h3,.mat-subheading-2,.mat-typography h3{font:400 16px/28px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h4,.mat-subheading-1,.mat-typography h4{font:400 15px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h5,.mat-typography h5{font:400 11.62px/20px Roboto,Helvetica Neue,sans-serif;margin:0 0 12px}.mat-h6,.mat-typography h6{font:400 9.38px/20px Roboto,Helvetica Neue,sans-serif;margin:0 0 12px}.mat-body-2,.mat-body-strong{font:500 14px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-body,.mat-body-1,.mat-typography{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-body-1 p,.mat-body p,.mat-typography p{margin:0 0 12px}.mat-caption,.mat-small{font:400 12px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-display-4,.mat-typography .mat-display-4{font:300 112px/112px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.05em;margin:0 0 56px}.mat-display-3,.mat-typography .mat-display-3{font:400 56px/56px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.02em;margin:0 0 64px}.mat-display-2,.mat-typography .mat-display-2{font:400 45px/48px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.005em;margin:0 0 64px}.mat-display-1,.mat-typography .mat-display-1{font:400 34px/40px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 64px}.mat-bottom-sheet-container{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-button,.mat-fab,.mat-flat-button,.mat-icon-button,.mat-mini-fab,.mat-raised-button,.mat-stroked-button{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:500}.mat-button-toggle,.mat-card{font-family:Roboto,Helvetica Neue,sans-serif}.mat-card-title{font-size:24px;font-weight:500}.mat-card-header .mat-card-title{font-size:20px}.mat-card-content,.mat-card-subtitle{font-size:14px}.mat-checkbox{font-family:Roboto,Helvetica Neue,sans-serif}.mat-checkbox-layout .mat-checkbox-label{line-height:24px}.mat-chip{font-size:14px;font-weight:500}.mat-chip .mat-chip-remove.mat-icon,.mat-chip .mat-chip-trailing-icon.mat-icon{font-size:18px}.mat-table{font-family:Roboto,Helvetica Neue,sans-serif}.mat-header-cell{font-size:12px;font-weight:500}.mat-cell,.mat-footer-cell{font-size:14px}.mat-calendar{font-family:Roboto,Helvetica Neue,sans-serif}.mat-calendar-body{font-size:13px}.mat-calendar-body-label,.mat-calendar-period-button{font-size:14px;font-weight:500}.mat-calendar-table-header th{font-size:11px;font-weight:400}.mat-dialog-title{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-expansion-panel-header{font-family:Roboto,Helvetica Neue,sans-serif;font-size:15px;font-weight:400}.mat-expansion-panel-content{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-form-field{font-family:Roboto,Helvetica Neue,sans-serif;font-size:inherit;font-weight:400;letter-spacing:normal;line-height:1.125}.mat-form-field-wrapper{padding-bottom:1.34375em}.mat-form-field-prefix .mat-icon,.mat-form-field-suffix .mat-icon{font-size:150%;line-height:1.125}.mat-form-field-prefix .mat-icon-button,.mat-form-field-suffix .mat-icon-button{height:1.5em;width:1.5em}.mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-suffix .mat-icon-button .mat-icon{height:1.125em;line-height:1.125}.mat-form-field-infix{border-top:.84375em solid transparent;padding:.5em 0}.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.34375em) scale(.75);width:133.33333%}.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.34374em) scale(.75);width:133.33334%}.mat-form-field-label-wrapper{padding-top:.84375em;top:-.84375em}.mat-form-field-label{top:1.34375em}.mat-form-field-underline{bottom:1.34375em}.mat-form-field-subscript-wrapper{font-size:75%;margin-top:.66667em;top:calc(100% - 1.79167em)}.mat-form-field-appearance-legacy .mat-form-field-wrapper{padding-bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-infix{padding:.4375em 0}.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{-ms-transform:translateY(-1.28125em) scale(.75);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);width:133.33333%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{-ms-transform:translateY(-1.28124em) scale(.75);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);width:133.33334%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-ms-transform:translateY(-1.28123em) scale(.75);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);width:133.33335%}.mat-form-field-appearance-legacy .mat-form-field-label{top:1.28125em}.mat-form-field-appearance-legacy .mat-form-field-underline{bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-subscript-wrapper{margin-top:.54167em;top:calc(100% - 1.66667em)}@media print{.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28122em) scale(.75)}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28121em) scale(.75)}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.2812em) scale(.75)}}.mat-form-field-appearance-fill .mat-form-field-infix{padding:.25em 0 .75em}.mat-form-field-appearance-fill .mat-form-field-label{margin-top:-.5em;top:1.09375em}.mat-form-field-appearance-fill.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-.59375em) scale(.75);width:133.33333%}.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-.59374em) scale(.75);width:133.33334%}.mat-form-field-appearance-outline .mat-form-field-infix{padding:1em 0}.mat-form-field-appearance-outline .mat-form-field-label{margin-top:-.25em;top:1.84375em}.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.59375em) scale(.75);width:133.33333%}.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.59374em) scale(.75);width:133.33334%}.mat-grid-tile-footer,.mat-grid-tile-header{font-size:14px}.mat-grid-tile-footer .mat-line,.mat-grid-tile-header .mat-line{box-sizing:border-box;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-grid-tile-footer .mat-line:nth-child(n+2),.mat-grid-tile-header .mat-line:nth-child(n+2){font-size:12px}input.mat-input-element{margin-top:-.0625em}.mat-menu-item{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:400}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px}.mat-radio-button,.mat-select{font-family:Roboto,Helvetica Neue,sans-serif}.mat-select-trigger{height:1.125em}.mat-slide-toggle-content,.mat-slider-thumb-label-text{font-family:Roboto,Helvetica Neue,sans-serif}.mat-slider-thumb-label-text{font-size:12px;font-weight:500}.mat-stepper-horizontal,.mat-stepper-vertical{font-family:Roboto,Helvetica Neue,sans-serif}.mat-step-label{font-size:14px;font-weight:400}.mat-step-sub-label-error{font-weight:400}.mat-step-label-error{font-size:14px}.mat-step-label-selected{font-size:14px;font-weight:500}.mat-tab-group,.mat-tab-label,.mat-tab-link{font-family:Roboto,Helvetica Neue,sans-serif}.mat-tab-label,.mat-tab-link{font-size:14px;font-weight:500}.mat-toolbar,.mat-toolbar h1,.mat-toolbar h2,.mat-toolbar h3,.mat-toolbar h4,.mat-toolbar h5,.mat-toolbar h6{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0}.mat-tooltip{font-family:Roboto,Helvetica Neue,sans-serif;font-size:10px;padding-bottom:6px;padding-top:6px}.mat-tooltip-handset{font-size:14px;padding-bottom:8px;padding-top:8px}.mat-list-item,.mat-list-option{font-family:Roboto,Helvetica Neue,sans-serif}.mat-list-base .mat-list-item{font-size:16px}.mat-list-base .mat-list-item .mat-line{box-sizing:border-box;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-list-base .mat-list-item .mat-line:nth-child(n+2){font-size:14px}.mat-list-base .mat-list-option{font-size:16px}.mat-list-base .mat-list-option .mat-line{box-sizing:border-box;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-list-base .mat-list-option .mat-line:nth-child(n+2){font-size:14px}.mat-list-base .mat-subheader{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:500}.mat-list-base[dense] .mat-list-item{font-size:12px}.mat-list-base[dense] .mat-list-item .mat-line{box-sizing:border-box;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-list-base[dense] .mat-list-item .mat-line:nth-child(n+2),.mat-list-base[dense] .mat-list-option{font-size:12px}.mat-list-base[dense] .mat-list-option .mat-line{box-sizing:border-box;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-list-base[dense] .mat-list-option .mat-line:nth-child(n+2){font-size:12px}.mat-list-base[dense] .mat-subheader{font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px;font-weight:500}.mat-option{font-family:Roboto,Helvetica Neue,sans-serif;font-size:16px}.mat-optgroup-label{font:500 14px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-simple-snackbar{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px}.mat-simple-snackbar-action{font-family:inherit;font-size:inherit;font-weight:500;line-height:1}.mat-tree{font-family:Roboto,Helvetica Neue,sans-serif}.mat-nested-tree-node,.mat-tree-node{font-size:14px;font-weight:400}.mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{border-radius:50%;pointer-events:none;position:absolute;transform:scale(0);transition:opacity,transform 0ms cubic-bezier(0,0,.2,1)}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{-moz-appearance:none;-webkit-appearance:none;border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;outline:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.cdk-global-overlay-wrapper,.cdk-overlay-container{height:100%;left:0;pointer-events:none;top:0;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper,.cdk-overlay-pane{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{box-sizing:border-box;max-height:100%;max-width:100%;pointer-events:auto}.cdk-overlay-backdrop{-webkit-tap-highlight-color:transparent;bottom:0;left:0;opacity:0;pointer-events:auto;position:absolute;right:0;top:0;transition:opacity .4s cubic-bezier(.25,.8,.25,1);z-index:1000}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.32)}.cdk-overlay-transparent-backdrop,.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0}.cdk-overlay-connected-position-bounding-box{display:flex;flex-direction:column;min-height:1px;min-width:1px;position:absolute;z-index:1000}.cdk-global-scrollblock{overflow-y:scroll;position:fixed;width:100%}@-webkit-keyframes cdk-text-field-autofill-start{\n /*!*/}@keyframes cdk-text-field-autofill-start{\n /*!*/}@-webkit-keyframes cdk-text-field-autofill-end{\n /*!*/}@keyframes cdk-text-field-autofill-end{\n /*!*/}.cdk-text-field-autofill-monitored:-webkit-autofill{-webkit-animation:cdk-text-field-autofill-start 0s 1ms;animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){-webkit-animation:cdk-text-field-autofill-end 0s 1ms;animation:cdk-text-field-autofill-end 0s 1ms}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{box-sizing:content-box!important;height:auto!important;overflow:hidden!important;padding:2px 0!important}textarea.cdk-textarea-autosize-measuring-firefox{box-sizing:content-box!important;height:0!important;padding:2px 0!important}.mat-focus-indicator,.mat-mdc-focus-indicator{position:relative}.header,.title{font-family:Encode Sans Condensed,sans-serif;font-weight:900}.paragraph-title,.tagline{font-family:Open Sans,sans-serif;font-weight:400}.paragraph-title-bold .tagLine-bold{font-family:Open Sans,sans-serif;font-weight:700}.plain-text,.remarks{font-family:Open Sans,sans-serif;font-weight:300}.plain-text-bold{font-family:Open Sans,sans-serif;font-weight:700}.flex-column{flex-direction:column}.flex-column,.flex-row{box-sizing:border-box;display:flex}.flex-row{flex-direction:row}.flex-row-center{align-items:center;justify-content:center}.mat-button-large{font-size:18px;font-weight:700;line-height:48px;padding:0 24px!important}.mat-round{border-radius:.5em}:root{--background:#050505;--cyan-accent:rgba(132,255,255,0.75);--green-accent:#00e676;--initial-accent:#9cd8d7;--initial-dark-background:#222;--initial-dark-text:hsla(0,0%,100%,0.87);--initial-light-background:#f2f2f2;--initial-light-background:#fff;--initial-light-text:rgba(0,0,0,0.87);--initial-primary:#4a918e;--initial-warn:#ef4351;--orange-accent:#ff9800;--pink-accent:#e91e63;--purple-accent:#9c27b0;--success:#00e676;--yellow-accent:#fdd835}body{background-color:var(--initial-dark-background)}:host .valid-control{color:var(--green-accent)}:host .invalid-control{color:var(--theme-warn-500)}:host .actions .item:not(:last-child){margin-right:0}:host .project-thumbnail img{height:50px;width:auto}:host .active{background-color:var(--theme-accent-400)}:host .active,:host .inactive{transition:background-color 1s linear}:host .inactive{background-color:rgba(242,245,169,0)}:host .expansion-panel{margin-bottom:10px;width:100%}:host .expansion-container{max-height:300px;overflow-y:auto}:host .divider-fill-vert{background-color:var(--theme-accent-500);bottom:10%;min-height:100%;min-width:5px;top:10%}:host .divider-fill-hor{background-color:var(--theme-accent-500);height:5px;width:100%}:host .form-disabled{background-color:#797979;border-radius:4px;opacity:.5}@media (max-width:768px){.spread{margin:1em!important}}@media (max-width:480px){.spread{margin:.5em!important}}.spinner-logo{display:none!important}:host ::ng-deep .project-image img{height:100%;width:100%}:host ::ng-deep .loading{text-align:center}:host ::ng-deep .divider{background-color:var(--theme-accent-500);height:1px;width:100%}:host ::ng-deep .spinner-logo{display:none!important}"]
1466
1646
  },] }
1467
1647
  ];
@@ -1820,7 +2000,7 @@
1820
2000
  SourceControlFormControlsComponent.decorators = [
1821
2001
  { type: i0.Component, args: [{
1822
2002
  selector: 'lcu-source-control-form-controls',
1823
- template: "<div [formGroup]=\"FormGroup\">\n <div class=\"card\" *ngIf=\"OrganizationFormControl?.valid || !Loading\">\n <mat-form-field\n class=\"mat-full-width with-hint\"\n *ngIf=\"OrganizationOptions?.length > 0\"\n >\n <mat-icon class=\"org-icon\" matPrefix>groups</mat-icon>\n\n <mat-select\n [formControlName]=\"SourceControlRoot + 'organization'\"\n placeholder=\"Organization\"\n (selectionChange)=\"OrganizationChanged($event)\"\n [disabled]=\"Loading || OrganizationDisabled\"\n required\n >\n <ng-container *ngFor=\"let orgOpt of OrganizationOptions\">\n <mat-option [value]=\"orgOpt.Name\">\n {{ orgOpt.Name }}\n </mat-option>\n </ng-container>\n </mat-select>\n\n <mat-icon matSuffix (click)=\"RefreshOrganizations()\"> refresh </mat-icon>\n\n <a\n matSuffix\n mat-icon-button\n href=\"/.oauth/github?oauth-force-edit=true\"\n title=\"Re-authorize Organizations\"\n target=\"_blank\"\n >\n <mat-icon> launch </mat-icon>\n </a>\n\n <mat-hint>\n If you don't have an organization or would like to create a new one,\n <a\n mat-button\n color=\"primary\"\n href=\"https://github.com/account/organizations/new\"\n target=\"_blank\"\n >\n start here\n </a>\n </mat-hint>\n </mat-form-field>\n </div>\n\n <div\n class=\"card\"\n *ngIf=\"\n RepositoryFormControl?.valid ||\n (OrganizationFormControl?.valid && !Loading)\n \"\n >\n <mat-form-field class=\"mat-full-width\">\n <mat-icon class=\"org-icon\" matPrefix>description</mat-icon>\n\n <mat-select\n [formControlName]=\"SourceControlRoot + 'repository'\"\n [placeholder]=\"\n OrganizationFormControl?.valid\n ? 'Repository'\n : 'Repository (select organization first)'\n \"\n [disabled]=\"\n !OrganizationFormControl?.valid || Loading || RepositoryDisabled\n \"\n (selectionChange)=\"RepositoryChanged($event)\"\n *ngIf=\"!CreatingRepository\"\n required\n >\n <ng-container *ngFor=\"let repoOpt of RepositoryOptions\">\n <mat-option [value]=\"repoOpt.Name\">\n {{ repoOpt.Name }}\n </mat-option>\n </ng-container>\n </mat-select>\n\n <input\n matInput\n placeholder=\"Repository (creates new if does not exist)\"\n [formControlName]=\"SourceControlRoot + 'repository'\"\n *ngIf=\"CreatingRepository\"\n [fxHide]=\"Loading || RepositoryDisabled\"\n required\n />\n\n <mat-icon\n matSuffix\n (click)=\"CreateRepository()\"\n [fxHide]=\"Loading || RepositoryDisabled\"\n *ngIf=\"!CreatingRepository && OrganizationFormControl?.valid\"\n >\n add_circle\n </mat-icon>\n\n <mat-icon\n matSuffix\n color=\"primary\"\n (click)=\"SaveRepository()\"\n *ngIf=\"CreatingRepository && RepositoryFormControl?.valid\"\n >\n save\n </mat-icon>\n\n <mat-icon\n matSuffix\n (click)=\"CancelCreateRepository()\"\n *ngIf=\"CreatingRepository\"\n >\n cancel\n </mat-icon>\n </mat-form-field>\n </div>\n\n <div\n class=\"card\"\n *ngIf=\"\n (BranchesFormControl?.valid ||\n (OrganizationFormControl?.valid &&\n RepositoryFormControl?.valid &&\n !Loading)) &&\n !CreatingRepository &&\n UseBranches\n \"\n >\n <mat-form-field class=\"mat-full-width\">\n <mat-icon class=\"org-icon\" matPrefix>account_tree</mat-icon>\n\n <mat-label>Selected Branches</mat-label>\n\n <mat-autocomplete\n (optionSelected)=\"BranchOptionSelected($event)\"\n #branchOptions=\"matAutocomplete\"\n >\n <ng-container *ngFor=\"let branchOpt of BranchOptions\">\n <mat-option [value]=\"branchOpt.Name\">\n {{ branchOpt.Name }}\n </mat-option>\n </ng-container>\n </mat-autocomplete>\n\n <mat-chip-list #selectedBranches>\n <mat-chip\n [removable]=\"true\"\n (removed)=\"RemoveBranchOption(selBranch)\"\n *ngFor=\"let selBranch of SelectedBranches\"\n >\n {{ selBranch }}\n <mat-icon matChipRemove>cancel</mat-icon>\n </mat-chip>\n\n <input\n matInput\n placeholder=\"New Branch...\"\n [formControlName]=\"SourceControlRoot + 'branches'\"\n #branches\n [matAutocomplete]=\"branchOptions\"\n [matChipInputFor]=\"selectedBranches\"\n [matChipInputSeparatorKeyCodes]=\"SeparatorKeysCodes\"\n [matChipInputAddOnBlur]=\"true\"\n (matChipInputTokenEnd)=\"AddBranchOption($event)\"\n [disabled]=\"Loading || BranchesDisabled\"\n required\n />\n </mat-chip-list>\n </mat-form-field>\n\n <mat-form-field\n class=\"mat-full-width with-hint\"\n [fxShow]=\"SelectedBranches?.length > 1\"\n >\n <mat-icon class=\"org-icon\" matPrefix>account_tree</mat-icon>\n\n <mat-select\n [formControlName]=\"SourceControlRoot + 'mainBranch'\"\n placeholder=\"Main Branch\"\n [disabled]=\"Loading || BranchesDisabled\"\n (selectionChange)=\"MainBranchChanged($event)\"\n required\n >\n <ng-container *ngFor=\"let branch of SelectedBranches\">\n <mat-option [value]=\"branch\">\n {{ branch }}\n </mat-option>\n </ng-container>\n </mat-select>\n\n <mat-icon matSuffix (click)=\"RefreshOrganizations()\">\n refresh\n </mat-icon>\n\n <a\n matSuffix\n mat-icon-button\n href=\"/.oauth/github?oauth-force-edit=true\"\n title=\"Re-authorize Organizations\"\n target=\"_blank\"\n >\n <mat-icon> launch </mat-icon>\n </a>\n\n <mat-hint>\n If you don't have an organization or would like to create a new one,\n <a\n mat-button\n color=\"primary\"\n href=\"https://github.com/account/organizations/new\"\n target=\"_blank\"\n >\n start here\n </a>\n </mat-hint>\n </mat-form-field>\n </div>\n\n <div *ngIf=\"Loading\">\n <div class=\"spread\">\n <lcu-loader style=\"margin: auto\" [loading]=\"true\"></lcu-loader>\n\n <div class=\"margin-3\">\n <h4 class=\"mat-title\" *ngIf=\"!OrganizationFormControl?.valid\">\n Loading organizations\n </h4>\n\n <h4\n class=\"mat-title\"\n *ngIf=\"\n OrganizationFormControl?.valid && !RepositoryFormControl?.valid\n \"\n >\n Loading repositories\n </h4>\n\n <h4\n class=\"mat-title\"\n *ngIf=\"RepositoryFormControl?.valid && !BranchesFormControl?.valid\"\n >\n Loading branches\n </h4>\n </div>\n </div>\n </div>\n</div>\n",
2003
+ template: "<div [formGroup]=\"FormGroup\">\n <div class=\"card\" *ngIf=\"OrganizationFormControl?.valid || !Loading\">\n <mat-form-field\n class=\"mat-full-width with-hint\"\n *ngIf=\"OrganizationOptions?.length > 0\"\n >\n <mat-icon class=\"org-icon\" matPrefix>groups</mat-icon>\n\n <mat-select\n [formControlName]=\"SourceControlRoot + 'organization'\"\n placeholder=\"Organization\"\n (selectionChange)=\"OrganizationChanged($event)\"\n [disabled]=\"Loading || OrganizationDisabled\"\n required\n >\n <ng-container *ngFor=\"let orgOpt of OrganizationOptions\">\n <mat-option [value]=\"orgOpt.Name\">\n {{ orgOpt.Name }}\n </mat-option>\n </ng-container>\n </mat-select>\n\n <mat-icon matSuffix (click)=\"RefreshOrganizations()\"> refresh </mat-icon>\n\n <a\n matSuffix\n href=\"/.oauth/github?oauth-force-edit=true\"\n title=\"Re-authorize Organizations\"\n target=\"_blank\"\n >\n <mat-icon> launch </mat-icon>\n </a>\n\n <mat-hint>\n If you don't have an organization or would like to create a new one,\n <a\n mat-button\n href=\"https://github.com/account/organizations/new\"\n target=\"_blank\"\n >\n start here\n </a>\n .\n </mat-hint>\n </mat-form-field>\n </div>\n\n <div\n class=\"card\"\n *ngIf=\"\n RepositoryFormControl?.valid ||\n (OrganizationFormControl?.valid && !Loading)\n \"\n >\n <mat-form-field class=\"mat-full-width\">\n <mat-icon class=\"org-icon\" matPrefix>description</mat-icon>\n\n <mat-select\n [formControlName]=\"SourceControlRoot + 'repository'\"\n [placeholder]=\"\n OrganizationFormControl?.valid\n ? 'Repository'\n : 'Repository (select organization first)'\n \"\n [disabled]=\"\n !OrganizationFormControl?.valid || Loading || RepositoryDisabled\n \"\n (selectionChange)=\"RepositoryChanged($event)\"\n *ngIf=\"!CreatingRepository\"\n required\n >\n <ng-container *ngFor=\"let repoOpt of RepositoryOptions\">\n <mat-option [value]=\"repoOpt.Name\">\n {{ repoOpt.Name }}\n </mat-option>\n </ng-container>\n </mat-select>\n\n <input\n matInput\n placeholder=\"Repository (creates new if does not exist)\"\n [formControlName]=\"SourceControlRoot + 'repository'\"\n *ngIf=\"CreatingRepository\"\n [fxHide]=\"Loading || RepositoryDisabled\"\n required\n />\n\n <mat-icon\n matSuffix\n (click)=\"CreateRepository()\"\n [fxHide]=\"Loading || RepositoryDisabled\"\n *ngIf=\"!CreatingRepository && OrganizationFormControl?.valid\"\n >\n add_circle\n </mat-icon>\n\n <mat-icon\n matSuffix\n color=\"primary\"\n (click)=\"SaveRepository()\"\n *ngIf=\"CreatingRepository && RepositoryFormControl?.valid\"\n >\n save\n </mat-icon>\n\n <mat-icon\n matSuffix\n (click)=\"CancelCreateRepository()\"\n *ngIf=\"CreatingRepository\"\n >\n cancel\n </mat-icon>\n </mat-form-field>\n </div>\n\n <div\n class=\"card\"\n *ngIf=\"\n (BranchesFormControl?.valid ||\n (OrganizationFormControl?.valid &&\n RepositoryFormControl?.valid &&\n !Loading)) &&\n !CreatingRepository &&\n UseBranches\n \"\n >\n <mat-form-field class=\"mat-full-width\">\n <mat-icon class=\"org-icon\" matPrefix>account_tree</mat-icon>\n\n <mat-label>Selected Branches</mat-label>\n\n <mat-autocomplete\n (optionSelected)=\"BranchOptionSelected($event)\"\n #branchOptions=\"matAutocomplete\"\n >\n <ng-container *ngFor=\"let branchOpt of BranchOptions\">\n <mat-option [value]=\"branchOpt.Name\">\n {{ branchOpt.Name }}\n </mat-option>\n </ng-container>\n </mat-autocomplete>\n\n <mat-chip-list #selectedBranches>\n <mat-chip\n [removable]=\"true\"\n (removed)=\"RemoveBranchOption(selBranch)\"\n *ngFor=\"let selBranch of SelectedBranches\"\n >\n {{ selBranch }}\n <mat-icon matChipRemove>cancel</mat-icon>\n </mat-chip>\n\n <input\n matInput\n placeholder=\"New Branch...\"\n [formControlName]=\"SourceControlRoot + 'branches'\"\n #branches\n [matAutocomplete]=\"branchOptions\"\n [matChipInputFor]=\"selectedBranches\"\n [matChipInputSeparatorKeyCodes]=\"SeparatorKeysCodes\"\n [matChipInputAddOnBlur]=\"true\"\n (matChipInputTokenEnd)=\"AddBranchOption($event)\"\n [disabled]=\"Loading || BranchesDisabled\"\n required\n />\n </mat-chip-list>\n </mat-form-field>\n\n <mat-form-field\n class=\"mat-full-width with-hint\"\n [fxShow]=\"SelectedBranches?.length > 1\"\n >\n <mat-icon class=\"org-icon\" matPrefix>account_tree</mat-icon>\n\n <mat-select\n [formControlName]=\"SourceControlRoot + 'mainBranch'\"\n placeholder=\"Main Branch\"\n [disabled]=\"Loading || BranchesDisabled\"\n (selectionChange)=\"MainBranchChanged($event)\"\n required\n >\n <ng-container *ngFor=\"let branch of SelectedBranches\">\n <mat-option [value]=\"branch\">\n {{ branch }}\n </mat-option>\n </ng-container>\n </mat-select>\n\n <mat-icon matSuffix (click)=\"RefreshOrganizations()\">\n refresh\n </mat-icon>\n\n <a\n matSuffix\n mat-icon-button\n href=\"/.oauth/github?oauth-force-edit=true\"\n title=\"Re-authorize Organizations\"\n target=\"_blank\"\n >\n <mat-icon> launch </mat-icon>\n </a>\n\n <mat-hint>\n If you don't have an organization or would like to create a new one,\n <a\n mat-button\n href=\"https://github.com/account/organizations/new\"\n target=\"_blank\"\n >\n start here\n </a>\n .\n </mat-hint>\n </mat-form-field>\n </div>\n\n <div *ngIf=\"Loading\">\n <div class=\"spread\">\n <lcu-loader style=\"margin: auto\" [loading]=\"true\"></lcu-loader>\n\n <div class=\"margin-3\">\n <h4 class=\"mat-title\" *ngIf=\"!OrganizationFormControl?.valid\">\n Loading organizations\n </h4>\n\n <h4\n class=\"mat-title\"\n *ngIf=\"\n OrganizationFormControl?.valid && !RepositoryFormControl?.valid\n \"\n >\n Loading repositories\n </h4>\n\n <h4\n class=\"mat-title\"\n *ngIf=\"RepositoryFormControl?.valid && !BranchesFormControl?.valid\"\n >\n Loading branches\n </h4>\n </div>\n </div>\n </div>\n</div>\n",
1824
2004
  styles: ["@import url(\"https://fonts.googleapis.com/icon?family=Material+Icons\");@import url(\"https://fonts.googleapis.com/css?family=Encode+Sans+Condensed:400,900&display=swap\");@import url(\"https://fonts.googleapis.com/css?family=Open+Sans:300,400,700&display=swap\");.disable-autofill-background-default input:-webkit-autofill,.disable-autofill-background-default input:-webkit-autofill:focus,.disable-autofill-background-default input:-webkit-autofill:hover,.disable-autofill-background-default select:-webkit-autofill,.disable-autofill-background-default select:-webkit-autofill:focus,.disable-autofill-background-default select:-webkit-autofill:hover,.disable-autofill-background-default textarea:-webkit-autofill,.disable-autofill-background-default textarea:-webkit-autofill:focus,.disable-autofill-background-default textarea:-webkit-autofill:hover{-webkit-transition:background-color 5000s!important;transition:background-color 5000s!important}.list-item-disabled{cursor:not-allowed!important;filter:alpha(opacity=50);opacity:.5}.filler{display:inline-block!important;flex:1 1 auto}.sticky{position:sticky;top:0;z-index:750}.inline{display:inline-block}.contents,.page-element{display:contents}.mat-spinner{margin:auto}.mat-full-width{width:100%}.spread{margin:2rem}.spread-thin{margin:1rem}.overlay{position:sticky!important}.overlay.top{top:0}.overlay.bottom{bottom:0}.margin-0{margin:0!important}.margin-top-0,.margin-y-0{margin-top:0!important}.margin-right-0,.margin-x-0{margin-right:0!important}.margin-bottom-0,.margin-y-0{margin-bottom:0!important}.margin-left-0,.margin-x-0{margin-left:0!important}.margin-1{margin:.25rem!important}.margin-top-1,.margin-y-1{margin-top:.25rem!important}.margin-right-1,.margin-x-1{margin-right:.25rem!important}.margin-bottom-1,.margin-y-1{margin-bottom:.25rem!important}.margin-left-1,.margin-x-1{margin-left:.25rem!important}.margin-2{margin:.5rem!important}.margin-top-2,.margin-y-2{margin-top:.5rem!important}.margin-right-2,.margin-x-2{margin-right:.5rem!important}.margin-bottom-2,.margin-y-2{margin-bottom:.5rem!important}.margin-left-2,.margin-x-2{margin-left:.5rem!important}.margin-3{margin:1rem!important}.margin-top-3,.margin-y-3{margin-top:1rem!important}.margin-top-bottom-3{margin:1rem 0!important}.margin-right-3,.margin-x-3{margin-right:1rem!important}.margin-bottom-3,.margin-y-3{margin-bottom:1rem!important}.margin-left-3,.margin-x-3{margin-left:1rem!important}.margin-4{margin:2rem!important}.margin-top-4,.margin-y-4{margin-top:2rem!important}.margin-right-4,.margin-x-4{margin-right:2rem!important}.margin-bottom-4,.margin-y-4{margin-bottom:2rem!important}.margin-left-4,.margin-x-4{margin-left:2rem!important}.margin-right-5,.margin-x-5{margin-right:4rem!important}.margin-bottom-5,.margin-y-5{margin-bottom:4rem!important}.margin-left-5,.margin-x-5{margin-left:4rem!important}.margin-5{margin:4rem!important}.margin-top-5,.margin-y-5{margin-top:4rem!important}.margin-right-6,.margin-x-6{margin-right:4.5rem!important}.margin-bottom-6,.margin-y-6{margin-bottom:4.5rem!important}.margin-left-6,.margin-x-6{margin-left:4.5rem!important}.margin-7{margin:6rem!important}.margin-top-7,.margin-y-7{margin-top:6rem!important}.margin-right-7,.margin-x-7{margin-right:6rem!important}.margin-bottom-7,.margin-y-7{margin-bottom:6rem!important}.margin-left-7,.margin-x-7{margin-left:6rem!important}.margin-8{margin:7.5rem!important}.margin-top-8,.margin-y-8{margin-top:7.5rem!important}.margin-right-8,.margin-x-8{margin-right:7.5rem!important}.margin-bottom-8,.margin-y-8{margin-bottom:7.5rem!important}.margin-left-8,.margin-x-8{margin-left:7.5rem!important}.margin-9{margin:9rem!important}.margin-top-9,.margin-y-9{margin-top:9rem!important}.margin-right-9,.margin-x-9{margin-right:9rem!important}.margin-bottom-9,.margin-y-9{margin-bottom:9rem!important}.margin-left-9,.margin-x-9{margin-left:9rem!important}.padding-0{padding:0!important}.padding-top-0,.padding-y-0{padding-top:0!important}.padding-right-0,.padding-x-0{padding-right:0!important}.padding-bottom-0,.padding-y-0{padding-bottom:0!important}.padding-left-0,.padding-x-0{padding-left:0!important}.padding-1{padding:.25rem!important}.padding-top-1,.padding-y-1{padding-top:.25rem!important}.padding-right-1,.padding-x-1{padding-right:.25rem!important}.padding-bottom-1,.padding-y-1{padding-bottom:.25rem!important}.padding-left-1,.padding-x-1{padding-left:.25rem!important}.padding-2{padding:.5rem!important}.padding-top-2,.padding-y-2{padding-top:.5rem!important}.padding-right-2,.padding-x-2{padding-right:.5rem!important}.padding-bottom-2,.padding-y-2{padding-bottom:.5rem!important}.padding-left-2,.padding-x-2{padding-left:.5rem!important}.padding-3{padding:1rem!important}.padding-top-3,.padding-y-3{padding-top:1rem!important}.padding-right-3,.padding-x-3{padding-right:1rem!important}.padding-bottom-3,.padding-y-3{padding-bottom:1rem!important}.padding-left-3,.padding-x-3{padding-left:1rem!important}.padding-4{padding:2rem!important}.padding-top-4,.padding-y-4{padding-top:2rem!important}.padding-right-4,.padding-x-4{padding-right:2rem!important}.padding-bottom-4,.padding-y-4{padding-bottom:2rem!important}.padding-left-4,.padding-x-4{padding-left:2rem!important}.padding-5{padding:4rem!important}.padding-top-5,.padding-y-5{padding-top:4rem!important}.padding-right-5,.padding-x-5{padding-right:4rem!important}.padding-bottom-5,.padding-y-5{padding-bottom:4rem!important}.padding-left-5,.padding-x-5{padding-left:4rem!important}.margin-n1{margin:-.25rem!important}.margin-top-n1,.margin-y-n1{margin-top:-.25rem!important}.margin-right-n1,.margin-x-n1{margin-right:-.25rem!important}.margin-bottom-n1,.margin-y-n1{margin-bottom:-.25rem!important}.margin-left-n1,.margin-x-n1{margin-left:-.25rem!important}.margin-n2{margin:-.5rem!important}.margin-top-n2,.margin-y-n2{margin-top:-.5rem!important}.margin-right-n2,.margin-x-n2{margin-right:-.5rem!important}.margin-bottom-n2,.margin-y-n2{margin-bottom:-.5rem!important}.margin-left-n2,.margin-x-n2{margin-left:-.5rem!important}.margin-n3{margin:-1rem!important}.margin-top-n3,.margin-y-n3{margin-top:-1rem!important}.margin-right-n3,.margin-x-n3{margin-right:-1rem!important}.margin-bottom-n3,.margin-y-n3{margin-bottom:-1rem!important}.margin-left-n3,.margin-x-n3{margin-left:-1rem!important}.margin-n4{margin:-2rem!important}.margin-top-n4,.margin-y-n4{margin-top:-2rem!important}.margin-right-n4,.margin-x-n4{margin-right:-2rem!important}.margin-bottom-n4,.margin-y-n4{margin-bottom:-2rem!important}.margin-left-n4,.margin-x-n4{margin-left:-2rem!important}.margin-n5{margin:-4rem!important}.margin-top-n5,.margin-y-n5{margin-top:-4rem!important}.margin-right-n5,.margin-x-n5{margin-right:-4rem!important}.margin-bottom-n5,.margin-y-n5{margin-bottom:-4rem!important}.margin-left-n5,.margin-x-n5{margin-left:-4rem!important}.margin-auto{margin:auto!important}.margin-top-auto,.margin-y-auto{margin-top:auto!important}.margin-right-auto,.margin-x-auto{margin-right:auto!important}.margin-bottom-auto,.margin-y-auto{margin-bottom:auto!important}.margin-left-auto,.margin-x-auto{margin-left:auto!important}@media (min-width:576px){.margin-sm-0{margin:0!important}.margin-top-sm-0,.margin-y-sm-0{margin-top:0!important}.margin-right-sm-0,.margin-x-sm-0{margin-right:0!important}.margin-bottom-sm-0,.margin-y-sm-0{margin-bottom:0!important}.margin-left-sm-0,.margin-x-sm-0{margin-left:0!important}.margin-sm-1{margin:.25rem!important}.margin-top-sm-1,.margin-y-sm-1{margin-top:.25rem!important}.margin-right-sm-1,.margin-x-sm-1{margin-right:.25rem!important}.margin-bottom-sm-1,.margin-y-sm-1{margin-bottom:.25rem!important}.margin-left-sm-1,.margin-x-sm-1{margin-left:.25rem!important}.margin-sm-2{margin:.5rem!important}.margin-top-sm-2,.margin-y-sm-2{margin-top:.5rem!important}.margin-right-sm-2,.margin-x-sm-2{margin-right:.5rem!important}.margin-bottom-sm-2,.margin-y-sm-2{margin-bottom:.5rem!important}.margin-left-sm-2,.margin-x-sm-2{margin-left:.5rem!important}.margin-sm-3{margin:1rem!important}.margin-top-sm-3,.margin-y-sm-3{margin-top:1rem!important}.margin-right-sm-3,.margin-x-sm-3{margin-right:1rem!important}.margin-bottom-sm-3,.margin-y-sm-3{margin-bottom:1rem!important}.margin-left-sm-3,.margin-x-sm-3{margin-left:1rem!important}.margin-sm-4{margin:2rem!important}.margin-top-sm-4,.margin-y-sm-4{margin-top:2rem!important}.margin-right-sm-4,.margin-x-sm-4{margin-right:2rem!important}.margin-bottom-sm-4,.margin-y-sm-4{margin-bottom:2rem!important}.margin-left-sm-4,.margin-x-sm-4{margin-left:2rem!important}.margin-sm-5{margin:4rem!important}.margin-top-sm-5,.margin-y-sm-5{margin-top:4rem!important}.margin-right-sm-5,.margin-x-sm-5{margin-right:4rem!important}.margin-bottom-sm-5,.margin-y-sm-5{margin-bottom:4rem!important}.margin-left-sm-5,.margin-x-sm-5{margin-left:4rem!important}.padding-sm-0{padding:0!important}.padding-top-sm-0,.padding-y-sm-0{padding-top:0!important}.padding-right-sm-0,.padding-x-sm-0{padding-right:0!important}.padding-bottom-sm-0,.padding-y-sm-0{padding-bottom:0!important}.padding-left-sm-0,.padding-x-sm-0{padding-left:0!important}.padding-sm-1{padding:.25rem!important}.padding-top-sm-1,.padding-y-sm-1{padding-top:.25rem!important}.padding-right-sm-1,.padding-x-sm-1{padding-right:.25rem!important}.padding-bottom-sm-1,.padding-y-sm-1{padding-bottom:.25rem!important}.padding-left-sm-1,.padding-x-sm-1{padding-left:.25rem!important}.padding-sm-2{padding:.5rem!important}.padding-top-sm-2,.padding-y-sm-2{padding-top:.5rem!important}.padding-right-sm-2,.padding-x-sm-2{padding-right:.5rem!important}.padding-bottom-sm-2,.padding-y-sm-2{padding-bottom:.5rem!important}.padding-left-sm-2,.padding-x-sm-2{padding-left:.5rem!important}.padding-sm-3{padding:1rem!important}.padding-top-sm-3,.padding-y-sm-3{padding-top:1rem!important}.padding-right-sm-3,.padding-x-sm-3{padding-right:1rem!important}.padding-bottom-sm-3,.padding-y-sm-3{padding-bottom:1rem!important}.padding-left-sm-3,.padding-x-sm-3{padding-left:1rem!important}.padding-sm-4{padding:2rem!important}.padding-top-sm-4,.padding-y-sm-4{padding-top:2rem!important}.padding-right-sm-4,.padding-x-sm-4{padding-right:2rem!important}.padding-bottom-sm-4,.padding-y-sm-4{padding-bottom:2rem!important}.padding-left-sm-4,.padding-x-sm-4{padding-left:2rem!important}.padding-sm-5{padding:4rem!important}.padding-top-sm-5,.padding-y-sm-5{padding-top:4rem!important}.padding-right-sm-5,.padding-x-sm-5{padding-right:4rem!important}.padding-bottom-sm-5,.padding-y-sm-5{padding-bottom:4rem!important}.padding-left-sm-5,.padding-x-sm-5{padding-left:4rem!important}.margin-sm-n1{margin:-.25rem!important}.margin-top-sm-n1,.margin-y-sm-n1{margin-top:-.25rem!important}.margin-right-sm-n1,.margin-x-sm-n1{margin-right:-.25rem!important}.margin-bottom-sm-n1,.margin-y-sm-n1{margin-bottom:-.25rem!important}.margin-left-sm-n1,.margin-x-sm-n1{margin-left:-.25rem!important}.margin-sm-n2{margin:-.5rem!important}.margin-top-sm-n2,.margin-y-sm-n2{margin-top:-.5rem!important}.margin-right-sm-n2,.margin-x-sm-n2{margin-right:-.5rem!important}.margin-bottom-sm-n2,.margin-y-sm-n2{margin-bottom:-.5rem!important}.margin-left-sm-n2,.margin-x-sm-n2{margin-left:-.5rem!important}.margin-sm-n3{margin:-1rem!important}.margin-top-sm-n3,.margin-y-sm-n3{margin-top:-1rem!important}.margin-right-sm-n3,.margin-x-sm-n3{margin-right:-1rem!important}.margin-bottom-sm-n3,.margin-y-sm-n3{margin-bottom:-1rem!important}.margin-left-sm-n3,.margin-x-sm-n3{margin-left:-1rem!important}.margin-sm-n4{margin:-2rem!important}.margin-top-sm-n4,.margin-y-sm-n4{margin-top:-2rem!important}.margin-right-sm-n4,.margin-x-sm-n4{margin-right:-2rem!important}.margin-bottom-sm-n4,.margin-y-sm-n4{margin-bottom:-2rem!important}.margin-left-sm-n4,.margin-x-sm-n4{margin-left:-2rem!important}.margin-sm-n5{margin:-4rem!important}.margin-top-sm-n5,.margin-y-sm-n5{margin-top:-4rem!important}.margin-right-sm-n5,.margin-x-sm-n5{margin-right:-4rem!important}.margin-bottom-sm-n5,.margin-y-sm-n5{margin-bottom:-4rem!important}.margin-left-sm-n5,.margin-x-sm-n5{margin-left:-4rem!important}.margin-sm-auto{margin:auto!important}.margin-top-sm-auto,.margin-y-sm-auto{margin-top:auto!important}.margin-right-sm-auto,.margin-x-sm-auto{margin-right:auto!important}.margin-bottom-sm-auto,.margin-y-sm-auto{margin-bottom:auto!important}.margin-left-sm-auto,.margin-x-sm-auto{margin-left:auto!important}}@media (min-width:768px){.margin-md-0{margin:0!important}.margin-top-md-0,.margin-y-md-0{margin-top:0!important}.margin-right-md-0,.margin-x-md-0{margin-right:0!important}.margin-bottom-md-0,.margin-y-md-0{margin-bottom:0!important}.margin-left-md-0,.margin-x-md-0{margin-left:0!important}.margin-md-1{margin:.25rem!important}.margin-top-md-1,.margin-y-md-1{margin-top:.25rem!important}.margin-right-md-1,.margin-x-md-1{margin-right:.25rem!important}.margin-bottom-md-1,.margin-y-md-1{margin-bottom:.25rem!important}.margin-left-md-1,.margin-x-md-1{margin-left:.25rem!important}.margin-md-2{margin:.5rem!important}.margin-top-md-2,.margin-y-md-2{margin-top:.5rem!important}.margin-right-md-2,.margin-x-md-2{margin-right:.5rem!important}.margin-bottom-md-2,.margin-y-md-2{margin-bottom:.5rem!important}.margin-left-md-2,.margin-x-md-2{margin-left:.5rem!important}.margin-md-3{margin:1rem!important}.margin-top-md-3,.margin-y-md-3{margin-top:1rem!important}.margin-right-md-3,.margin-x-md-3{margin-right:1rem!important}.margin-bottom-md-3,.margin-y-md-3{margin-bottom:1rem!important}.margin-left-md-3,.margin-x-md-3{margin-left:1rem!important}.margin-md-4{margin:2rem!important}.margin-top-md-4,.margin-y-md-4{margin-top:2rem!important}.margin-right-md-4,.margin-x-md-4{margin-right:2rem!important}.margin-bottom-md-4,.margin-y-md-4{margin-bottom:2rem!important}.margin-left-md-4,.margin-x-md-4{margin-left:2rem!important}.margin-md-5{margin:4rem!important}.margin-top-md-5,.margin-y-md-5{margin-top:4rem!important}.margin-right-md-5,.margin-x-md-5{margin-right:4rem!important}.margin-bottom-md-5,.margin-y-md-5{margin-bottom:4rem!important}.margin-left-md-5,.margin-x-md-5{margin-left:4rem!important}.padding-md-0{padding:0!important}.padding-top-md-0,.padding-y-md-0{padding-top:0!important}.padding-right-md-0,.padding-x-md-0{padding-right:0!important}.padding-bottom-md-0,.padding-y-md-0{padding-bottom:0!important}.padding-left-md-0,.padding-x-md-0{padding-left:0!important}.padding-md-1{padding:.25rem!important}.padding-top-md-1,.padding-y-md-1{padding-top:.25rem!important}.padding-right-md-1,.padding-x-md-1{padding-right:.25rem!important}.padding-bottom-md-1,.padding-y-md-1{padding-bottom:.25rem!important}.padding-left-md-1,.padding-x-md-1{padding-left:.25rem!important}.padding-md-2{padding:.5rem!important}.padding-top-md-2,.padding-y-md-2{padding-top:.5rem!important}.padding-right-md-2,.padding-x-md-2{padding-right:.5rem!important}.padding-bottom-md-2,.padding-y-md-2{padding-bottom:.5rem!important}.padding-left-md-2,.padding-x-md-2{padding-left:.5rem!important}.padding-md-3{padding:1rem!important}.padding-top-md-3,.padding-y-md-3{padding-top:1rem!important}.padding-right-md-3,.padding-x-md-3{padding-right:1rem!important}.padding-bottom-md-3,.padding-y-md-3{padding-bottom:1rem!important}.padding-left-md-3,.padding-x-md-3{padding-left:1rem!important}.padding-md-4{padding:2rem!important}.padding-top-md-4,.padding-y-md-4{padding-top:2rem!important}.padding-right-md-4,.padding-x-md-4{padding-right:2rem!important}.padding-bottom-md-4,.padding-y-md-4{padding-bottom:2rem!important}.padding-left-md-4,.padding-x-md-4{padding-left:2rem!important}.padding-md-5{padding:4rem!important}.padding-top-md-5,.padding-y-md-5{padding-top:4rem!important}.padding-right-md-5,.padding-x-md-5{padding-right:4rem!important}.padding-bottom-md-5,.padding-y-md-5{padding-bottom:4rem!important}.padding-left-md-5,.padding-x-md-5{padding-left:4rem!important}.margin-md-n1{margin:-.25rem!important}.margin-top-md-n1,.margin-y-md-n1{margin-top:-.25rem!important}.margin-right-md-n1,.margin-x-md-n1{margin-right:-.25rem!important}.margin-bottom-md-n1,.margin-y-md-n1{margin-bottom:-.25rem!important}.margin-left-md-n1,.margin-x-md-n1{margin-left:-.25rem!important}.margin-md-n2{margin:-.5rem!important}.margin-top-md-n2,.margin-y-md-n2{margin-top:-.5rem!important}.margin-right-md-n2,.margin-x-md-n2{margin-right:-.5rem!important}.margin-bottom-md-n2,.margin-y-md-n2{margin-bottom:-.5rem!important}.margin-left-md-n2,.margin-x-md-n2{margin-left:-.5rem!important}.margin-md-n3{margin:-1rem!important}.margin-top-md-n3,.margin-y-md-n3{margin-top:-1rem!important}.margin-right-md-n3,.margin-x-md-n3{margin-right:-1rem!important}.margin-bottom-md-n3,.margin-y-md-n3{margin-bottom:-1rem!important}.margin-left-md-n3,.margin-x-md-n3{margin-left:-1rem!important}.margin-md-n4{margin:-2rem!important}.margin-top-md-n4,.margin-y-md-n4{margin-top:-2rem!important}.margin-right-md-n4,.margin-x-md-n4{margin-right:-2rem!important}.margin-bottom-md-n4,.margin-y-md-n4{margin-bottom:-2rem!important}.margin-left-md-n4,.margin-x-md-n4{margin-left:-2rem!important}.margin-md-n5{margin:-4rem!important}.margin-top-md-n5,.margin-y-md-n5{margin-top:-4rem!important}.margin-right-md-n5,.margin-x-md-n5{margin-right:-4rem!important}.margin-bottom-md-n5,.margin-y-md-n5{margin-bottom:-4rem!important}.margin-left-md-n5,.margin-x-md-n5{margin-left:-4rem!important}.margin-md-auto{margin:auto!important}.margin-top-md-auto,.margin-y-md-auto{margin-top:auto!important}.margin-right-md-auto,.margin-x-md-auto{margin-right:auto!important}.margin-bottom-md-auto,.margin-y-md-auto{margin-bottom:auto!important}.margin-left-md-auto,.margin-x-md-auto{margin-left:auto!important}}@media (min-width:992px){.margin-lg-0{margin:0!important}.margin-top-lg-0,.margin-y-lg-0{margin-top:0!important}.margin-right-lg-0,.margin-x-lg-0{margin-right:0!important}.margin-bottom-lg-0,.margin-y-lg-0{margin-bottom:0!important}.margin-left-lg-0,.margin-x-lg-0{margin-left:0!important}.margin-lg-1{margin:.25rem!important}.margin-top-lg-1,.margin-y-lg-1{margin-top:.25rem!important}.margin-right-lg-1,.margin-x-lg-1{margin-right:.25rem!important}.margin-bottom-lg-1,.margin-y-lg-1{margin-bottom:.25rem!important}.margin-left-lg-1,.margin-x-lg-1{margin-left:.25rem!important}.margin-lg-2{margin:.5rem!important}.margin-top-lg-2,.margin-y-lg-2{margin-top:.5rem!important}.margin-right-lg-2,.margin-x-lg-2{margin-right:.5rem!important}.margin-bottom-lg-2,.margin-y-lg-2{margin-bottom:.5rem!important}.margin-left-lg-2,.margin-x-lg-2{margin-left:.5rem!important}.margin-lg-3{margin:1rem!important}.margin-top-lg-3,.margin-y-lg-3{margin-top:1rem!important}.margin-right-lg-3,.margin-x-lg-3{margin-right:1rem!important}.margin-bottom-lg-3,.margin-y-lg-3{margin-bottom:1rem!important}.margin-left-lg-3,.margin-x-lg-3{margin-left:1rem!important}.margin-lg-4{margin:2rem!important}.margin-top-lg-4,.margin-y-lg-4{margin-top:2rem!important}.margin-right-lg-4,.margin-x-lg-4{margin-right:2rem!important}.margin-bottom-lg-4,.margin-y-lg-4{margin-bottom:2rem!important}.margin-left-lg-4,.margin-x-lg-4{margin-left:2rem!important}.margin-lg-5{margin:4rem!important}.margin-top-lg-5,.margin-y-lg-5{margin-top:4rem!important}.margin-right-lg-5,.margin-x-lg-5{margin-right:4rem!important}.margin-bottom-lg-5,.margin-y-lg-5{margin-bottom:4rem!important}.margin-left-lg-5,.margin-x-lg-5{margin-left:4rem!important}.padding-lg-0{padding:0!important}.padding-top-lg-0,.padding-y-lg-0{padding-top:0!important}.padding-right-lg-0,.padding-x-lg-0{padding-right:0!important}.padding-bottom-lg-0,.padding-y-lg-0{padding-bottom:0!important}.padding-left-lg-0,.padding-x-lg-0{padding-left:0!important}.padding-lg-1{padding:.25rem!important}.padding-top-lg-1,.padding-y-lg-1{padding-top:.25rem!important}.padding-right-lg-1,.padding-x-lg-1{padding-right:.25rem!important}.padding-bottom-lg-1,.padding-y-lg-1{padding-bottom:.25rem!important}.padding-left-lg-1,.padding-x-lg-1{padding-left:.25rem!important}.padding-lg-2{padding:.5rem!important}.padding-top-lg-2,.padding-y-lg-2{padding-top:.5rem!important}.padding-right-lg-2,.padding-x-lg-2{padding-right:.5rem!important}.padding-bottom-lg-2,.padding-y-lg-2{padding-bottom:.5rem!important}.padding-left-lg-2,.padding-x-lg-2{padding-left:.5rem!important}.padding-lg-3{padding:1rem!important}.padding-top-lg-3,.padding-y-lg-3{padding-top:1rem!important}.padding-right-lg-3,.padding-x-lg-3{padding-right:1rem!important}.padding-bottom-lg-3,.padding-y-lg-3{padding-bottom:1rem!important}.padding-left-lg-3,.padding-x-lg-3{padding-left:1rem!important}.padding-lg-4{padding:2rem!important}.padding-top-lg-4,.padding-y-lg-4{padding-top:2rem!important}.padding-right-lg-4,.padding-x-lg-4{padding-right:2rem!important}.padding-bottom-lg-4,.padding-y-lg-4{padding-bottom:2rem!important}.padding-left-lg-4,.padding-x-lg-4{padding-left:2rem!important}.padding-lg-5{padding:4rem!important}.padding-top-lg-5,.padding-y-lg-5{padding-top:4rem!important}.padding-right-lg-5,.padding-x-lg-5{padding-right:4rem!important}.padding-bottom-lg-5,.padding-y-lg-5{padding-bottom:4rem!important}.padding-left-lg-5,.padding-x-lg-5{padding-left:4rem!important}.margin-lg-n1{margin:-.25rem!important}.margin-top-lg-n1,.margin-y-lg-n1{margin-top:-.25rem!important}.margin-right-lg-n1,.margin-x-lg-n1{margin-right:-.25rem!important}.margin-bottom-lg-n1,.margin-y-lg-n1{margin-bottom:-.25rem!important}.margin-left-lg-n1,.margin-x-lg-n1{margin-left:-.25rem!important}.margin-lg-n2{margin:-.5rem!important}.margin-top-lg-n2,.margin-y-lg-n2{margin-top:-.5rem!important}.margin-right-lg-n2,.margin-x-lg-n2{margin-right:-.5rem!important}.margin-bottom-lg-n2,.margin-y-lg-n2{margin-bottom:-.5rem!important}.margin-left-lg-n2,.margin-x-lg-n2{margin-left:-.5rem!important}.margin-lg-n3{margin:-1rem!important}.margin-top-lg-n3,.margin-y-lg-n3{margin-top:-1rem!important}.margin-right-lg-n3,.margin-x-lg-n3{margin-right:-1rem!important}.margin-bottom-lg-n3,.margin-y-lg-n3{margin-bottom:-1rem!important}.margin-left-lg-n3,.margin-x-lg-n3{margin-left:-1rem!important}.margin-lg-n4{margin:-2rem!important}.margin-top-lg-n4,.margin-y-lg-n4{margin-top:-2rem!important}.margin-right-lg-n4,.margin-x-lg-n4{margin-right:-2rem!important}.margin-bottom-lg-n4,.margin-y-lg-n4{margin-bottom:-2rem!important}.margin-left-lg-n4,.margin-x-lg-n4{margin-left:-2rem!important}.margin-lg-n5{margin:-4rem!important}.margin-top-lg-n5,.margin-y-lg-n5{margin-top:-4rem!important}.margin-right-lg-n5,.margin-x-lg-n5{margin-right:-4rem!important}.margin-bottom-lg-n5,.margin-y-lg-n5{margin-bottom:-4rem!important}.margin-left-lg-n5,.margin-x-lg-n5{margin-left:-4rem!important}.margin-lg-auto{margin:auto!important}.margin-top-lg-auto,.margin-y-lg-auto{margin-top:auto!important}.margin-right-lg-auto,.margin-x-lg-auto{margin-right:auto!important}.margin-bottom-lg-auto,.margin-y-lg-auto{margin-bottom:auto!important}.margin-left-lg-auto,.margin-x-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.margin-xl-0{margin:0!important}.margin-top-xl-0,.margin-y-xl-0{margin-top:0!important}.margin-right-xl-0,.margin-x-xl-0{margin-right:0!important}.margin-bottom-xl-0,.margin-y-xl-0{margin-bottom:0!important}.margin-left-xl-0,.margin-x-xl-0{margin-left:0!important}.margin-xl-1{margin:.25rem!important}.margin-top-xl-1,.margin-y-xl-1{margin-top:.25rem!important}.margin-right-xl-1,.margin-x-xl-1{margin-right:.25rem!important}.margin-bottom-xl-1,.margin-y-xl-1{margin-bottom:.25rem!important}.margin-left-xl-1,.margin-x-xl-1{margin-left:.25rem!important}.margin-xl-2{margin:.5rem!important}.margin-top-xl-2,.margin-y-xl-2{margin-top:.5rem!important}.margin-right-xl-2,.margin-x-xl-2{margin-right:.5rem!important}.margin-bottom-xl-2,.margin-y-xl-2{margin-bottom:.5rem!important}.margin-left-xl-2,.margin-x-xl-2{margin-left:.5rem!important}.margin-xl-3{margin:1rem!important}.margin-top-xl-3,.margin-y-xl-3{margin-top:1rem!important}.margin-right-xl-3,.margin-x-xl-3{margin-right:1rem!important}.margin-bottom-xl-3,.margin-y-xl-3{margin-bottom:1rem!important}.margin-left-xl-3,.margin-x-xl-3{margin-left:1rem!important}.margin-xl-4{margin:2rem!important}.margin-top-xl-4,.margin-y-xl-4{margin-top:2rem!important}.margin-right-xl-4,.margin-x-xl-4{margin-right:2rem!important}.margin-bottom-xl-4,.margin-y-xl-4{margin-bottom:2rem!important}.margin-left-xl-4,.margin-x-xl-4{margin-left:2rem!important}.margin-xl-5{margin:4rem!important}.margin-top-xl-5,.margin-y-xl-5{margin-top:4rem!important}.margin-right-xl-5,.margin-x-xl-5{margin-right:4rem!important}.margin-bottom-xl-5,.margin-y-xl-5{margin-bottom:4rem!important}.margin-left-xl-5,.margin-x-xl-5{margin-left:4rem!important}.padding-xl-0{padding:0!important}.padding-top-xl-0,.padding-y-xl-0{padding-top:0!important}.padding-right-xl-0,.padding-x-xl-0{padding-right:0!important}.padding-bottom-xl-0,.padding-y-xl-0{padding-bottom:0!important}.padding-left-xl-0,.padding-x-xl-0{padding-left:0!important}.padding-xl-1{padding:.25rem!important}.padding-top-xl-1,.padding-y-xl-1{padding-top:.25rem!important}.padding-right-xl-1,.padding-x-xl-1{padding-right:.25rem!important}.padding-bottom-xl-1,.padding-y-xl-1{padding-bottom:.25rem!important}.padding-left-xl-1,.padding-x-xl-1{padding-left:.25rem!important}.padding-xl-2{padding:.5rem!important}.padding-top-xl-2,.padding-y-xl-2{padding-top:.5rem!important}.padding-right-xl-2,.padding-x-xl-2{padding-right:.5rem!important}.padding-bottom-xl-2,.padding-y-xl-2{padding-bottom:.5rem!important}.padding-left-xl-2,.padding-x-xl-2{padding-left:.5rem!important}.padding-xl-3{padding:1rem!important}.padding-top-xl-3,.padding-y-xl-3{padding-top:1rem!important}.padding-right-xl-3,.padding-x-xl-3{padding-right:1rem!important}.padding-bottom-xl-3,.padding-y-xl-3{padding-bottom:1rem!important}.padding-left-xl-3,.padding-x-xl-3{padding-left:1rem!important}.padding-xl-4{padding:2rem!important}.padding-top-xl-4,.padding-y-xl-4{padding-top:2rem!important}.padding-right-xl-4,.padding-x-xl-4{padding-right:2rem!important}.padding-bottom-xl-4,.padding-y-xl-4{padding-bottom:2rem!important}.padding-left-xl-4,.padding-x-xl-4{padding-left:2rem!important}.padding-xl-5{padding:4rem!important}.padding-top-xl-5,.padding-y-xl-5{padding-top:4rem!important}.padding-right-xl-5,.padding-x-xl-5{padding-right:4rem!important}.padding-bottom-xl-5,.padding-y-xl-5{padding-bottom:4rem!important}.padding-left-xl-5,.padding-x-xl-5{padding-left:4rem!important}.margin-xl-n1{margin:-.25rem!important}.margin-top-xl-n1,.margin-y-xl-n1{margin-top:-.25rem!important}.margin-right-xl-n1,.margin-x-xl-n1{margin-right:-.25rem!important}.margin-bottom-xl-n1,.margin-y-xl-n1{margin-bottom:-.25rem!important}.margin-left-xl-n1,.margin-x-xl-n1{margin-left:-.25rem!important}.margin-xl-n2{margin:-.5rem!important}.margin-top-xl-n2,.margin-y-xl-n2{margin-top:-.5rem!important}.margin-right-xl-n2,.margin-x-xl-n2{margin-right:-.5rem!important}.margin-bottom-xl-n2,.margin-y-xl-n2{margin-bottom:-.5rem!important}.margin-left-xl-n2,.margin-x-xl-n2{margin-left:-.5rem!important}.margin-xl-n3{margin:-1rem!important}.margin-top-xl-n3,.margin-y-xl-n3{margin-top:-1rem!important}.margin-right-xl-n3,.margin-x-xl-n3{margin-right:-1rem!important}.margin-bottom-xl-n3,.margin-y-xl-n3{margin-bottom:-1rem!important}.margin-left-xl-n3,.margin-x-xl-n3{margin-left:-1rem!important}.margin-xl-n4{margin:-2rem!important}.margin-top-xl-n4,.margin-y-xl-n4{margin-top:-2rem!important}.margin-right-xl-n4,.margin-x-xl-n4{margin-right:-2rem!important}.margin-bottom-xl-n4,.margin-y-xl-n4{margin-bottom:-2rem!important}.margin-left-xl-n4,.margin-x-xl-n4{margin-left:-2rem!important}.margin-xl-n5{margin:-4rem!important}.margin-top-xl-n5,.margin-y-xl-n5{margin-top:-4rem!important}.margin-right-xl-n5,.margin-x-xl-n5{margin-right:-4rem!important}.margin-bottom-xl-n5,.margin-y-xl-n5{margin-bottom:-4rem!important}.margin-left-xl-n5,.margin-x-xl-n5{margin-left:-4rem!important}.margin-xl-auto{margin:auto!important}.margin-top-xl-auto,.margin-y-xl-auto{margin-top:auto!important}.margin-right-xl-auto,.margin-x-xl-auto{margin-right:auto!important}.margin-bottom-xl-auto,.margin-y-xl-auto{margin-bottom:auto!important}.margin-left-xl-auto,.margin-x-xl-auto{margin-left:auto!important}}.h1{font-size:2em}.h2{font-size:1.5em}.h3{font-size:1.17em}.h4{font-size:1em}.h5{font-size:.83em}.h6{font-size:.67em}.cursor-alias{cursor:alias}.cursor-all-scroll{cursor:all-scroll}.cursor-auto{cursor:auto}.cursor-cell{cursor:cell}.cursor-context-menu{cursor:context-menu}.cursor-col-resize{cursor:col-resize}.cursor-copy{cursor:copy}.cursor-crosshair{cursor:crosshair}.cursor-default{cursor:default}.cursor-e-resize{cursor:e-resize}.cursor-ew-resize{cursor:ew-resize}.cursor-grab{cursor:-webkit-grab;cursor:grab}.cursor-grabbing{cursor:-webkit-grabbing;cursor:grabbing}.cursor-help{cursor:help}.cursor-move{cursor:move}.cursor-n-resize{cursor:n-resize}.cursor-ne-resize{cursor:ne-resize}.cursor-nesw-resize{cursor:nesw-resize}.cursor-ns-resize{cursor:ns-resize}.cursor-nw-resize{cursor:nw-resize}.cursor-nwse-resize{cursor:nwse-resize}.cursor-no-drop{cursor:no-drop}.cursor-none{cursor:none}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-progress{cursor:progress}.cursor-row-resize{cursor:row-resize}.cursor-s-resize{cursor:s-resize}.cursor-se-resize{cursor:se-resize}.cursor-sw-resize{cursor:sw-resize}.cursor-text{cursor:text}.cursor-w-resize{cursor:w-resize}.cursor-wait{cursor:wait}.cursor-zoom-in{cursor:zoom-in}.cursor-zoom-out{cursor:zoom-out}.mat-tooltip{font-size:15px!important}body,html{height:100%}body{font-family:opens sans regular,sans-serif;margin:0;padding:0}iframe{border:none}.mat-badge-content{font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px;font-weight:600}.mat-badge-small .mat-badge-content{font-size:9px}.mat-badge-large .mat-badge-content{font-size:24px}.mat-h1,.mat-headline,.mat-typography h1{font:400 24px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h2,.mat-title,.mat-typography h2{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h3,.mat-subheading-2,.mat-typography h3{font:400 16px/28px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h4,.mat-subheading-1,.mat-typography h4{font:400 15px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h5,.mat-typography h5{font:400 11.62px/20px Roboto,Helvetica Neue,sans-serif;margin:0 0 12px}.mat-h6,.mat-typography h6{font:400 9.38px/20px Roboto,Helvetica Neue,sans-serif;margin:0 0 12px}.mat-body-2,.mat-body-strong{font:500 14px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-body,.mat-body-1,.mat-typography{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-body-1 p,.mat-body p,.mat-typography p{margin:0 0 12px}.mat-caption,.mat-small{font:400 12px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-display-4,.mat-typography .mat-display-4{font:300 112px/112px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.05em;margin:0 0 56px}.mat-display-3,.mat-typography .mat-display-3{font:400 56px/56px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.02em;margin:0 0 64px}.mat-display-2,.mat-typography .mat-display-2{font:400 45px/48px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.005em;margin:0 0 64px}.mat-display-1,.mat-typography .mat-display-1{font:400 34px/40px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 64px}.mat-bottom-sheet-container{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-button,.mat-fab,.mat-flat-button,.mat-icon-button,.mat-mini-fab,.mat-raised-button,.mat-stroked-button{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:500}.mat-button-toggle,.mat-card{font-family:Roboto,Helvetica Neue,sans-serif}.mat-card-title{font-size:24px;font-weight:500}.mat-card-header .mat-card-title{font-size:20px}.mat-card-content,.mat-card-subtitle{font-size:14px}.mat-checkbox{font-family:Roboto,Helvetica Neue,sans-serif}.mat-checkbox-layout .mat-checkbox-label{line-height:24px}.mat-chip{font-size:14px;font-weight:500}.mat-chip .mat-chip-remove.mat-icon,.mat-chip .mat-chip-trailing-icon.mat-icon{font-size:18px}.mat-table{font-family:Roboto,Helvetica Neue,sans-serif}.mat-header-cell{font-size:12px;font-weight:500}.mat-cell,.mat-footer-cell{font-size:14px}.mat-calendar{font-family:Roboto,Helvetica Neue,sans-serif}.mat-calendar-body{font-size:13px}.mat-calendar-body-label,.mat-calendar-period-button{font-size:14px;font-weight:500}.mat-calendar-table-header th{font-size:11px;font-weight:400}.mat-dialog-title{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-expansion-panel-header{font-family:Roboto,Helvetica Neue,sans-serif;font-size:15px;font-weight:400}.mat-expansion-panel-content{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-form-field{font-family:Roboto,Helvetica Neue,sans-serif;font-size:inherit;font-weight:400;letter-spacing:normal;line-height:1.125}.mat-form-field-wrapper{padding-bottom:1.34375em}.mat-form-field-prefix .mat-icon,.mat-form-field-suffix .mat-icon{font-size:150%;line-height:1.125}.mat-form-field-prefix .mat-icon-button,.mat-form-field-suffix .mat-icon-button{height:1.5em;width:1.5em}.mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-suffix .mat-icon-button .mat-icon{height:1.125em;line-height:1.125}.mat-form-field-infix{border-top:.84375em solid transparent;padding:.5em 0}.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.34375em) scale(.75);width:133.33333%}.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.34374em) scale(.75);width:133.33334%}.mat-form-field-label-wrapper{padding-top:.84375em;top:-.84375em}.mat-form-field-label{top:1.34375em}.mat-form-field-underline{bottom:1.34375em}.mat-form-field-subscript-wrapper{font-size:75%;margin-top:.66667em;top:calc(100% - 1.79167em)}.mat-form-field-appearance-legacy .mat-form-field-wrapper{padding-bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-infix{padding:.4375em 0}.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{-ms-transform:translateY(-1.28125em) scale(.75);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);width:133.33333%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{-ms-transform:translateY(-1.28124em) scale(.75);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);width:133.33334%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-ms-transform:translateY(-1.28123em) scale(.75);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);width:133.33335%}.mat-form-field-appearance-legacy .mat-form-field-label{top:1.28125em}.mat-form-field-appearance-legacy .mat-form-field-underline{bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-subscript-wrapper{margin-top:.54167em;top:calc(100% - 1.66667em)}@media print{.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28122em) scale(.75)}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28121em) scale(.75)}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.2812em) scale(.75)}}.mat-form-field-appearance-fill .mat-form-field-infix{padding:.25em 0 .75em}.mat-form-field-appearance-fill .mat-form-field-label{margin-top:-.5em;top:1.09375em}.mat-form-field-appearance-fill.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-.59375em) scale(.75);width:133.33333%}.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-.59374em) scale(.75);width:133.33334%}.mat-form-field-appearance-outline .mat-form-field-infix{padding:1em 0}.mat-form-field-appearance-outline .mat-form-field-label{margin-top:-.25em;top:1.84375em}.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.59375em) scale(.75);width:133.33333%}.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.59374em) scale(.75);width:133.33334%}.mat-grid-tile-footer,.mat-grid-tile-header{font-size:14px}.mat-grid-tile-footer .mat-line,.mat-grid-tile-header .mat-line{box-sizing:border-box;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-grid-tile-footer .mat-line:nth-child(n+2),.mat-grid-tile-header .mat-line:nth-child(n+2){font-size:12px}input.mat-input-element{margin-top:-.0625em}.mat-menu-item{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:400}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px}.mat-radio-button,.mat-select{font-family:Roboto,Helvetica Neue,sans-serif}.mat-select-trigger{height:1.125em}.mat-slide-toggle-content,.mat-slider-thumb-label-text{font-family:Roboto,Helvetica Neue,sans-serif}.mat-slider-thumb-label-text{font-size:12px;font-weight:500}.mat-stepper-horizontal,.mat-stepper-vertical{font-family:Roboto,Helvetica Neue,sans-serif}.mat-step-label{font-size:14px;font-weight:400}.mat-step-sub-label-error{font-weight:400}.mat-step-label-error{font-size:14px}.mat-step-label-selected{font-size:14px;font-weight:500}.mat-tab-group,.mat-tab-label,.mat-tab-link{font-family:Roboto,Helvetica Neue,sans-serif}.mat-tab-label,.mat-tab-link{font-size:14px;font-weight:500}.mat-toolbar,.mat-toolbar h1,.mat-toolbar h2,.mat-toolbar h3,.mat-toolbar h4,.mat-toolbar h5,.mat-toolbar h6{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0}.mat-tooltip{font-family:Roboto,Helvetica Neue,sans-serif;font-size:10px;padding-bottom:6px;padding-top:6px}.mat-tooltip-handset{font-size:14px;padding-bottom:8px;padding-top:8px}.mat-list-item,.mat-list-option{font-family:Roboto,Helvetica Neue,sans-serif}.mat-list-base .mat-list-item{font-size:16px}.mat-list-base .mat-list-item .mat-line{box-sizing:border-box;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-list-base .mat-list-item .mat-line:nth-child(n+2){font-size:14px}.mat-list-base .mat-list-option{font-size:16px}.mat-list-base .mat-list-option .mat-line{box-sizing:border-box;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-list-base .mat-list-option .mat-line:nth-child(n+2){font-size:14px}.mat-list-base .mat-subheader{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:500}.mat-list-base[dense] .mat-list-item{font-size:12px}.mat-list-base[dense] .mat-list-item .mat-line{box-sizing:border-box;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-list-base[dense] .mat-list-item .mat-line:nth-child(n+2),.mat-list-base[dense] .mat-list-option{font-size:12px}.mat-list-base[dense] .mat-list-option .mat-line{box-sizing:border-box;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-list-base[dense] .mat-list-option .mat-line:nth-child(n+2){font-size:12px}.mat-list-base[dense] .mat-subheader{font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px;font-weight:500}.mat-option{font-family:Roboto,Helvetica Neue,sans-serif;font-size:16px}.mat-optgroup-label{font:500 14px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-simple-snackbar{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px}.mat-simple-snackbar-action{font-family:inherit;font-size:inherit;font-weight:500;line-height:1}.mat-tree{font-family:Roboto,Helvetica Neue,sans-serif}.mat-nested-tree-node,.mat-tree-node{font-size:14px;font-weight:400}.mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{border-radius:50%;pointer-events:none;position:absolute;transform:scale(0);transition:opacity,transform 0ms cubic-bezier(0,0,.2,1)}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{-moz-appearance:none;-webkit-appearance:none;border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;outline:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.cdk-global-overlay-wrapper,.cdk-overlay-container{height:100%;left:0;pointer-events:none;top:0;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper,.cdk-overlay-pane{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{box-sizing:border-box;max-height:100%;max-width:100%;pointer-events:auto}.cdk-overlay-backdrop{-webkit-tap-highlight-color:transparent;bottom:0;left:0;opacity:0;pointer-events:auto;position:absolute;right:0;top:0;transition:opacity .4s cubic-bezier(.25,.8,.25,1);z-index:1000}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.32)}.cdk-overlay-transparent-backdrop,.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0}.cdk-overlay-connected-position-bounding-box{display:flex;flex-direction:column;min-height:1px;min-width:1px;position:absolute;z-index:1000}.cdk-global-scrollblock{overflow-y:scroll;position:fixed;width:100%}@-webkit-keyframes cdk-text-field-autofill-start{\n /*!*/}@keyframes cdk-text-field-autofill-start{\n /*!*/}@-webkit-keyframes cdk-text-field-autofill-end{\n /*!*/}@keyframes cdk-text-field-autofill-end{\n /*!*/}.cdk-text-field-autofill-monitored:-webkit-autofill{-webkit-animation:cdk-text-field-autofill-start 0s 1ms;animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){-webkit-animation:cdk-text-field-autofill-end 0s 1ms;animation:cdk-text-field-autofill-end 0s 1ms}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{box-sizing:content-box!important;height:auto!important;overflow:hidden!important;padding:2px 0!important}textarea.cdk-textarea-autosize-measuring-firefox{box-sizing:content-box!important;height:0!important;padding:2px 0!important}.mat-focus-indicator,.mat-mdc-focus-indicator{position:relative}.header,.title{font-family:Encode Sans Condensed,sans-serif;font-weight:900}.paragraph-title,.tagline{font-family:Open Sans,sans-serif;font-weight:400}.paragraph-title-bold .tagLine-bold{font-family:Open Sans,sans-serif;font-weight:700}.plain-text,.remarks{font-family:Open Sans,sans-serif;font-weight:300}.plain-text-bold{font-family:Open Sans,sans-serif;font-weight:700}.flex-column{flex-direction:column}.flex-column,.flex-row{box-sizing:border-box;display:flex}.flex-row{flex-direction:row}.flex-row-center{align-items:center;justify-content:center}.mat-button-large{font-size:18px;font-weight:700;line-height:48px;padding:0 24px!important}.mat-round{border-radius:.5em}:root{--background:#050505;--cyan-accent:rgba(132,255,255,0.75);--green-accent:#00e676;--initial-accent:#9cd8d7;--initial-dark-background:#222;--initial-dark-text:hsla(0,0%,100%,0.87);--initial-light-background:#f2f2f2;--initial-light-background:#fff;--initial-light-text:rgba(0,0,0,0.87);--initial-primary:#4a918e;--initial-warn:#ef4351;--orange-accent:#ff9800;--pink-accent:#e91e63;--purple-accent:#9c27b0;--success:#00e676;--yellow-accent:#fdd835}body{background-color:var(--initial-dark-background)}:host .valid-control{color:var(--green-accent)}:host .invalid-control{color:var(--theme-warn-500)}:host .actions .item:not(:last-child){margin-right:0}:host .project-thumbnail img{height:50px;width:auto}:host .active{background-color:var(--theme-accent-400)}:host .active,:host .inactive{transition:background-color 1s linear}:host .inactive{background-color:rgba(242,245,169,0)}:host .expansion-panel{margin-bottom:10px;width:100%}:host .expansion-container{max-height:300px;overflow-y:auto}:host .divider-fill-vert{background-color:var(--theme-accent-500);bottom:10%;min-height:100%;min-width:5px;top:10%}:host .divider-fill-hor{background-color:var(--theme-accent-500);height:5px;width:100%}:host .form-disabled{background-color:#797979;border-radius:4px;opacity:.5}@media (max-width:768px){.spread{margin:1em!important}}@media (max-width:480px){.spread{margin:.5em!important}}.spinner-logo{display:none!important}"]
1825
2005
  },] }
1826
2006
  ];
@@ -2375,7 +2555,6 @@
2375
2555
  this.appsFlowSvc = appsFlowSvc;
2376
2556
  this.appsFlowEventsSvc = appsFlowEventsSvc;
2377
2557
  this.EditingApplicationLookup = null;
2378
- this.HostingDetails = new ProjectHostingDetails();
2379
2558
  }
2380
2559
  Object.defineProperty(AppsFlowComponent.prototype, "APIRootFormControl", {
2381
2560
  // Fields
@@ -2429,24 +2608,6 @@
2429
2608
  enumerable: false,
2430
2609
  configurable: true
2431
2610
  });
2432
- Object.defineProperty(AppsFlowComponent.prototype, "Artifact", {
2433
- get: function () {
2434
- return this.Data.Environment.Artifacts && this.ArtifactLookup
2435
- ? this.Data.Environment.Artifacts[this.ArtifactLookup] || {}
2436
- : {};
2437
- },
2438
- enumerable: false,
2439
- configurable: true
2440
- });
2441
- Object.defineProperty(AppsFlowComponent.prototype, "ArtifactLookup", {
2442
- get: function () {
2443
- var _a, _b;
2444
- var artLookup = ((_a = this.DevOpsAction) === null || _a === void 0 ? void 0 : _a.ArtifactLookups) ? (_b = this.DevOpsAction) === null || _b === void 0 ? void 0 : _b.ArtifactLookups[0] : null;
2445
- return artLookup;
2446
- },
2447
- enumerable: false,
2448
- configurable: true
2449
- });
2450
2611
  Object.defineProperty(AppsFlowComponent.prototype, "BuildFormControl", {
2451
2612
  get: function () {
2452
2613
  var _a;
@@ -2505,55 +2666,6 @@
2505
2666
  enumerable: false,
2506
2667
  configurable: true
2507
2668
  });
2508
- Object.defineProperty(AppsFlowComponent.prototype, "DevOpsAction", {
2509
- get: function () {
2510
- return this.Data.Environment.DevOpsActions && this.DevOpsActionLookup
2511
- ? this.Data.Environment.DevOpsActions[this.DevOpsActionLookup] || {}
2512
- : {};
2513
- },
2514
- enumerable: false,
2515
- configurable: true
2516
- });
2517
- Object.defineProperty(AppsFlowComponent.prototype, "DevOpsActionLookup", {
2518
- get: function () {
2519
- var _a, _b, _c, _d, _e, _f;
2520
- if (!!((_a = this.DevOpsActionLookupFormControl) === null || _a === void 0 ? void 0 : _a.value)) {
2521
- return this.DevOpsActionLookupFormControl.value;
2522
- }
2523
- if (!!((_b = this.SourceControl) === null || _b === void 0 ? void 0 : _b.DevOpsActionTriggerLookups)) {
2524
- return (_c = this.SourceControl) === null || _c === void 0 ? void 0 : _c.DevOpsActionTriggerLookups[0];
2525
- }
2526
- else {
2527
- return null;
2528
- }
2529
- return ((_d = this.DevOpsActionLookupFormControl) === null || _d === void 0 ? void 0 : _d.value) ||
2530
- !!((_e = this.SourceControl) === null || _e === void 0 ? void 0 : _e.DevOpsActionTriggerLookups)
2531
- ? (_f = this.SourceControl) === null || _f === void 0 ? void 0 : _f.DevOpsActionTriggerLookups[0] : null;
2532
- },
2533
- enumerable: false,
2534
- configurable: true
2535
- });
2536
- Object.defineProperty(AppsFlowComponent.prototype, "DevOpsActionLookups", {
2537
- get: function () {
2538
- return Object.keys(this.DevOpsActions || {});
2539
- },
2540
- enumerable: false,
2541
- configurable: true
2542
- });
2543
- Object.defineProperty(AppsFlowComponent.prototype, "DevOpsActionLookupFormControl", {
2544
- get: function () {
2545
- return this.ApplicationFormGroup.get('devOpsActionLookup');
2546
- },
2547
- enumerable: false,
2548
- configurable: true
2549
- });
2550
- Object.defineProperty(AppsFlowComponent.prototype, "DevOpsActions", {
2551
- get: function () {
2552
- return this.Data.Environment.DevOpsActions || {};
2553
- },
2554
- enumerable: false,
2555
- configurable: true
2556
- });
2557
2669
  Object.defineProperty(AppsFlowComponent.prototype, "EditingApplication", {
2558
2670
  get: function () {
2559
2671
  var app = this.Applications
@@ -2680,6 +2792,7 @@
2680
2792
  }
2681
2793
  });
2682
2794
  var workingAppLookups = __spread((appLookups || []));
2795
+ routeBases = routeBases.sort(function (a, b) { return b.localeCompare(a); });
2683
2796
  var routeSet = routeBases.reduce(function (prevRouteMap, currentRouteBase) {
2684
2797
  var routeMap = Object.assign({}, prevRouteMap);
2685
2798
  var filteredAppLookups = workingAppLookups.filter(function (wal) {
@@ -2731,23 +2844,6 @@
2731
2844
  enumerable: false,
2732
2845
  configurable: true
2733
2846
  });
2734
- Object.defineProperty(AppsFlowComponent.prototype, "SourceControl", {
2735
- get: function () {
2736
- return this.Data.Environment.Sources && this.SourceControlLookup
2737
- ? this.Data.Environment.Sources[this.SourceControlLookup] || {}
2738
- : this.DefaultSourceControl;
2739
- },
2740
- enumerable: false,
2741
- configurable: true
2742
- });
2743
- Object.defineProperty(AppsFlowComponent.prototype, "SourceControlLookup", {
2744
- get: function () {
2745
- var _a, _b, _c;
2746
- return (((_a = this.SourceControlLookupFormControl) === null || _a === void 0 ? void 0 : _a.value) || ((_c = (_b = this.EditingApplication.Processor) === null || _b === void 0 ? void 0 : _b.LowCodeUnit) === null || _c === void 0 ? void 0 : _c.SourceControlLookup));
2747
- },
2748
- enumerable: false,
2749
- configurable: true
2750
- });
2751
2847
  Object.defineProperty(AppsFlowComponent.prototype, "SourceControlLookupFormControl", {
2752
2848
  get: function () {
2753
2849
  var _a;
@@ -2810,9 +2906,6 @@
2810
2906
  }
2811
2907
  };
2812
2908
  // API Methods
2813
- AppsFlowComponent.prototype.BranchesChanged = function (branches) {
2814
- this.loadProjectHostingDetails();
2815
- };
2816
2909
  AppsFlowComponent.prototype.CreateNewApplication = function () {
2817
2910
  this.SetEditingApplication(i2.Guid.CreateRaw());
2818
2911
  };
@@ -2821,9 +2914,6 @@
2821
2914
  this.appsFlowEventsSvc.DeleteApplication(appLookup);
2822
2915
  }
2823
2916
  };
2824
- AppsFlowComponent.prototype.DevOpsActionLookupChanged = function (event) {
2825
- this.configureDevOpsAction();
2826
- };
2827
2917
  AppsFlowComponent.prototype.LCUTypeChanged = function (event) {
2828
2918
  this.LCUType = event.value;
2829
2919
  this.setupLcuTypeSubForm();
@@ -2833,7 +2923,7 @@
2833
2923
  this.setupProcessorTypeSubForm();
2834
2924
  };
2835
2925
  AppsFlowComponent.prototype.SaveApplication = function () {
2836
- var _a, _b;
2926
+ var _a;
2837
2927
  var processor = {
2838
2928
  Type: this.ProcessorType,
2839
2929
  };
@@ -2924,53 +3014,11 @@
2924
3014
  ProjectLookup: this.ProjectLookup,
2925
3015
  Application: app,
2926
3016
  ApplicationLookup: this.EditingApplicationLookup || i2.Guid.CreateRaw(),
2927
- Environment: Object.assign(Object.assign({}, this.Data.Environment), { Artifacts: this.Data.Environment.Artifacts || {}, DevOpsActions: this.Data.Environment.DevOpsActions || {}, Secrets: this.Data.Environment.Secrets || {}, Sources: this.Data.Environment.Sources || {} }),
2928
- EnvironmentLookup: this.Data.EnvironmentLookup,
2929
- EnterpriseDataTokens: {},
2930
3017
  };
2931
3018
  if (this.HasBuildFormControl.value && this.ProcessorType !== 'redirect') {
2932
3019
  if (app.Processor.LowCodeUnit != null) {
2933
- var artifactLookup = void 0;
2934
- var artifact = Object.assign(Object.assign({}, this.Artifact), this.HostingDetailsFormControls
2935
- .SelectedHostingOptionInputControlValues);
2936
- if (!this.ArtifactLookup) {
2937
- artifactLookup = i2.Guid.CreateRaw();
2938
- artifact = Object.assign(Object.assign({}, artifact), { Type: this.HostingDetailsFormControls.SelectedHostingOption
2939
- .ArtifactType, Name: this.HostingDetailsFormControls.SelectedHostingOption.Name, NPMRegistry: 'https://registry.npmjs.org/' });
2940
- }
2941
- saveAppReq.Environment.Artifacts[artifactLookup] = artifact;
2942
- var devOpsActionLookup = void 0;
2943
- if (!this.DevOpsActionLookup) {
2944
- devOpsActionLookup = i2.Guid.CreateRaw();
2945
- var secretLookup = 'npm-access-token';
2946
- var doa = Object.assign(Object.assign({}, this.DevOpsAction), { ArtifactLookups: [artifactLookup], Name: this.HostingDetailsFormControls.SelectedHostingOption.Name, Path: this.HostingDetailsFormControls.SelectedHostingOption.Path, SecretLookups: [secretLookup], Templates: this.HostingDetailsFormControls.SelectedHostingOption.Templates });
2947
- saveAppReq.Environment.DevOpsActions[devOpsActionLookup] = doa;
2948
- if ((_b = this.HostingDetailsFormControls.NPMTokenFormControl) === null || _b === void 0 ? void 0 : _b.value) {
2949
- saveAppReq.Environment.Secrets[secretLookup] = {
2950
- Name: 'NPM Access Token',
2951
- DataTokenLookup: secretLookup,
2952
- KnownAs: 'NPM_TOKEN',
2953
- };
2954
- saveAppReq.EnterpriseDataTokens[secretLookup] = {
2955
- Name: saveAppReq.Environment.Secrets[secretLookup].Name,
2956
- Description: saveAppReq.Environment.Secrets[secretLookup].Name,
2957
- Value: this.HostingDetailsFormControls.NPMTokenFormControl.value,
2958
- };
2959
- }
2960
- }
2961
- else {
2962
- devOpsActionLookup = this.DevOpsActionLookupFormControl.value;
2963
- }
2964
- var source = Object.assign(Object.assign({}, this.SourceControl), { Branches: this.SourceControlFormControls.SelectedBranches, MainBranch: this.SourceControlFormControls.MainBranchFormControl.value });
2965
- if (!this.SourceControlLookupFormControl.value) {
2966
- app.Processor.LowCodeUnit.SourceControlLookup = "github://" + this.SourceControlFormControls.OrganizationFormControl.value + "/" + this.SourceControlFormControls.RepositoryFormControl.value;
2967
- source = Object.assign(Object.assign({}, source), { Type: 'GitHub', Name: app.Processor.LowCodeUnit.SourceControlLookup, DevOpsActionTriggerLookups: [devOpsActionLookup], Organization: this.SourceControlFormControls.OrganizationFormControl.value, Repository: this.SourceControlFormControls.RepositoryFormControl.value });
2968
- }
2969
- else {
2970
- app.Processor.LowCodeUnit.SourceControlLookup =
2971
- this.SourceControlLookupFormControl.value;
2972
- }
2973
- saveAppReq.Environment.Sources[app.Processor.LowCodeUnit.SourceControlLookup] = source;
3020
+ app.Processor.LowCodeUnit.SourceControlLookup =
3021
+ this.SourceControlLookupFormControl.value;
2974
3022
  }
2975
3023
  }
2976
3024
  else if (app.Processor.LowCodeUnit) {
@@ -2983,8 +3031,7 @@
2983
3031
  this.setupApplicationForm();
2984
3032
  };
2985
3033
  AppsFlowComponent.prototype.SourceControlLookupChanged = function (event) {
2986
- var _a;
2987
- (_a = this.SourceControlFormControls) === null || _a === void 0 ? void 0 : _a.RefreshOrganizations();
3034
+ // TODO: Anything to do here on change?
2988
3035
  };
2989
3036
  AppsFlowComponent.prototype.StartsWith = function (app, appRouteBase) {
2990
3037
  var _a, _b;
@@ -3025,34 +3072,6 @@
3025
3072
  this.ApplicationFormGroup.removeControl('preserveMethod');
3026
3073
  this.cleanupLcuTypeSubForm();
3027
3074
  };
3028
- AppsFlowComponent.prototype.configureDevOpsAction = function () {
3029
- var _this = this;
3030
- setTimeout(function () {
3031
- _this.DevOpsActionLookupFormControl.setValue(_this.DevOpsActionLookup);
3032
- setTimeout(function () {
3033
- var _a, _b, _c, _d;
3034
- var hostOption = (_b = (_a = _this.HostingDetails) === null || _a === void 0 ? void 0 : _a.HostingOptions) === null || _b === void 0 ? void 0 : _b.find(function (ho) { return ho.Path === _this.DevOpsAction.Path; });
3035
- (_c = _this.HostingDetailsFormControls) === null || _c === void 0 ? void 0 : _c.BuildPipelineFormControl.setValue(hostOption === null || hostOption === void 0 ? void 0 : hostOption.Lookup);
3036
- (_d = _this.HostingDetailsFormControls) === null || _d === void 0 ? void 0 : _d.BuildPipelineChanged();
3037
- }, 0);
3038
- }, 0);
3039
- };
3040
- AppsFlowComponent.prototype.loadProjectHostingDetails = function () {
3041
- var _this = this;
3042
- var _a, _b, _c, _d, _e, _f, _g, _h;
3043
- if (((_b = (_a = this.SourceControlFormControls) === null || _a === void 0 ? void 0 : _a.SelectedBranches) === null || _b === void 0 ? void 0 : _b.length) > 0) {
3044
- this.HostingDetails.Loading = true;
3045
- this.appsFlowSvc
3046
- .LoadProjectHostingDetails((_d = (_c = this.SourceControlFormControls) === null || _c === void 0 ? void 0 : _c.OrganizationFormControl) === null || _d === void 0 ? void 0 : _d.value, (_f = (_e = this.SourceControlFormControls) === null || _e === void 0 ? void 0 : _e.RepositoryFormControl) === null || _f === void 0 ? void 0 : _f.value, (_h = (_g = this.SourceControlFormControls) === null || _g === void 0 ? void 0 : _g.MainBranchFormControl) === null || _h === void 0 ? void 0 : _h.value)
3047
- .subscribe(function (response) {
3048
- _this.HostingDetails = response.Model;
3049
- _this.HostingDetails.Loading = false;
3050
- _this.configureDevOpsAction();
3051
- }, function (err) {
3052
- _this.HostingDetails.Loading = false;
3053
- });
3054
- }
3055
- };
3056
3075
  AppsFlowComponent.prototype.setupApplicationForm = function () {
3057
3076
  var _a, _b, _c, _d, _e;
3058
3077
  this.ProcessorType = ((_b = (_a = this.EditingApplication) === null || _a === void 0 ? void 0 : _a.Processor) === null || _b === void 0 ? void 0 : _b.Type) || '';
@@ -3083,7 +3102,6 @@
3083
3102
  var _a, _b, _c, _d;
3084
3103
  this.ApplicationFormGroup.addControl('hasBuild', this.formBldr.control(!!((_b = (_a = this.EditingApplication.Processor) === null || _a === void 0 ? void 0 : _a.LowCodeUnit) === null || _b === void 0 ? void 0 : _b.SourceControlLookup) ||
3085
3104
  false, [forms.Validators.required]));
3086
- this.ApplicationFormGroup.addControl('devOpsActionLookup', this.formBldr.control(this.DevOpsActionLookup || '', []));
3087
3105
  this.ApplicationFormGroup.addControl('sourceControlLookup', this.formBldr.control(((_d = (_c = this.EditingApplication.Processor) === null || _c === void 0 ? void 0 : _c.LowCodeUnit) === null || _d === void 0 ? void 0 : _d.SourceControlLookup) ||
3088
3106
  '', []));
3089
3107
  };
@@ -3218,7 +3236,7 @@
3218
3236
  AppsFlowComponent.decorators = [
3219
3237
  { type: i0.Component, args: [{
3220
3238
  selector: 'lcu-apps-flow',
3221
- template: "<div>\n <form\n [formGroup]=\"ApplicationFormGroup\"\n (ngSubmit)=\"SaveApplication()\"\n *ngIf=\"EditingApplication\"\n >\n <div\n fxLayout=\"row wrap\"\n fxLayoutAlign=\"center start\"\n fxLayout.lt-md=\"column\"\n >\n <div class=\"form-card\" fxFlex=\"70%\" fxFlex.lt-md=\"100%\">\n <mat-card class=\"spread\">\n <mat-card-header>\n <mat-card-title>\n <ng-container *ngIf=\"EditingApplication?.Application\">\n Edit Application:\n {{ EditingApplication.Application?.Name }}\n </ng-container>\n\n <ng-container *ngIf=\"!EditingApplication?.Application\">\n Create an Application\n </ng-container>\n </mat-card-title>\n </mat-card-header>\n\n <mat-card-content>\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Name\"\n formControlName=\"name\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <textarea\n matInput\n placeholder=\"Description\"\n formControlName=\"description\"\n rows=\"3\"\n required\n ></textarea>\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Route\"\n formControlName=\"route\"\n required\n />\n </mat-form-field>\n </mat-card-content>\n </mat-card>\n </div>\n\n <div class=\"form-card\" fxFlex=\"35%\">\n <mat-card class=\"spread\">\n <mat-card-header>\n <mat-card-title> Processor Details </mat-card-title>\n </mat-card-header>\n\n <mat-card-content>\n <mat-form-field class=\"mat-full-width\">\n <mat-select\n placeholder=\"Type\"\n formControlName=\"procType\"\n (selectionChange)=\"ProcessorTypeChanged($event)\"\n required\n >\n <mat-option value=\"DFS\">View Package</mat-option>\n\n <mat-option value=\"Redirect\">Redirect</mat-option>\n\n <mat-option value=\"Proxy\">Proxy</mat-option>\n\n <mat-option value=\"OAuth\">OAuth</mat-option>\n </mat-select>\n </mat-form-field>\n\n <div [ngSwitch]=\"ProcessorType\">\n <div *ngSwitchCase=\"'DFS'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Default File\"\n formControlName=\"defaultFile\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <mat-select\n placeholder=\"Type\"\n formControlName=\"lcuType\"\n (selectionChange)=\"LCUTypeChanged($event)\"\n required\n >\n <mat-option value=\"NPM\">NPM</mat-option>\n\n <mat-option value=\"GitHub\">GitHub</mat-option>\n\n <!-- <mat-option value=\"Zip\">Zip</mat-option> -->\n </mat-select>\n </mat-form-field>\n\n <div [ngSwitch]=\"LCUType\">\n <div *ngSwitchCase=\"'GitHub'\">\n <lcu-source-control-form-controls\n *ngIf=\"!HasBuildFormControl?.value\"\n [form-group]=\"ApplicationFormGroup\"\n [source-control]=\"DefaultSourceControl\"\n [use-branches]=\"false\"\n ></lcu-source-control-form-controls>\n\n <div *ngIf=\"HasBuildFormControl?.value\">\n <h3>\n @{{\n SourceControlFormControls?.OrganizationFormControl\n ?.value || SourceControl?.Organization\n }}/{{\n SourceControlFormControls?.RepositoryFormControl\n ?.value || SourceControl?.Repository\n }}\n </h3>\n\n <p>\n Organization and Repository pulled from build settings\n </p>\n\n <mat-hint>\n CurrentBuild:\n {{\n EditingApplication?.Processor?.LowCodeUnit\n ?.CurrentBuild\n }}\n </mat-hint>\n </div>\n\n <mat-form-field\n class=\"mat-full-width\"\n *ngIf=\"\n SourceControlFormControls?.RepositoryFormControl?.valid\n \"\n >\n <input\n matInput\n placeholder=\"Build\"\n formControlName=\"build\"\n required\n />\n </mat-form-field>\n </div>\n\n <div *ngSwitchCase=\"'NPM'\">\n <lcu-npm-package-select\n [npm-package]=\"\n EditingApplication?.Processor?.LowCodeUnit?.Package\n \"\n [npm-package-version]=\"\n EditingApplication?.Processor?.LowCodeUnit?.Version\n \"\n [form-group]=\"ApplicationFormGroup\"\n ></lcu-npm-package-select>\n\n <mat-hint>\n CurrentVersion:\n {{\n EditingApplication?.Processor?.LowCodeUnit\n ?.CurrentVersion\n }}\n </mat-hint>\n </div>\n </div>\n </div>\n\n <div *ngSwitchCase=\"'OAuth'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Scopes (space separated)\"\n formControlName=\"scopes\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Token Lookup\"\n formControlName=\"tokenLookup\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <mat-select\n placeholder=\"Type\"\n formControlName=\"lcuType\"\n (selectionChange)=\"LCUTypeChanged($event)\"\n required\n >\n <mat-option value=\"GitHubOAuth\">GitHub</mat-option>\n </mat-select>\n </mat-form-field>\n\n <div [ngSwitch]=\"LCUType\">\n <div *ngSwitchCase=\"'GitHubOAuth'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Client ID\"\n formControlName=\"clientId\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Client Secret\"\n formControlName=\"clientSecret\"\n required\n />\n </mat-form-field>\n </div>\n </div>\n </div>\n\n <div *ngSwitchCase=\"'Proxy'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Inbound Path\"\n formControlName=\"inboundPath\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <mat-select\n placeholder=\"Type\"\n formControlName=\"lcuType\"\n (selectionChange)=\"LCUTypeChanged($event)\"\n required\n >\n <mat-option value=\"API\">API</mat-option>\n\n <mat-option value=\"SPA\">Single Page Application</mat-option>\n </mat-select>\n </mat-form-field>\n\n <div [ngSwitch]=\"LCUType\">\n <div *ngSwitchCase=\"'API'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"API Root\"\n formControlName=\"apiRoot\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Allowed Methods (separate with spaces)\"\n formControlName=\"methods\"\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Security ({header}~{value})\"\n formControlName=\"security\"\n required\n />\n </mat-form-field>\n </div>\n\n <div *ngSwitchCase=\"'SPA'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"SPA Root\"\n formControlName=\"spaRoot\"\n required\n />\n </mat-form-field>\n </div>\n </div>\n </div>\n\n <div *ngSwitchCase=\"'Redirect'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Redirect URL\"\n formControlName=\"redirect\"\n required\n />\n </mat-form-field>\n\n <div>\n <mat-slide-toggle class=\"spread\" formControlName=\"permanent\">\n Is Permanent?\n </mat-slide-toggle>\n\n <mat-slide-toggle\n class=\"spread\"\n formControlName=\"preserveMethod\"\n >\n Preserve Method?\n </mat-slide-toggle>\n\n <mat-icon\n class=\"spread\"\n matSuffix\n matTooltip=\"Values used to control the redirect type. Permanent and Not Preserve = 301; Not Permanent and Not Preserve = 302; Permanent and Preserve = 308; Not Permanent and Not Preserve = 307;\"\n >\n info_outline\n </mat-icon>\n </div>\n </div>\n </div>\n </mat-card-content>\n </mat-card>\n\n <mat-card class=\"spread\">\n <mat-card-header>\n <mat-card-title> Security Settings </mat-card-title>\n\n <div fxFlex></div>\n\n <mat-slide-toggle\n formControlName=\"isPrivate\"\n matTooltip=\"Is Secure Application?\"\n >\n </mat-slide-toggle>\n\n <mat-icon\n matSuffix\n matTooltip=\"A Secured Application is one that requires the user to be authenticated to use the application. The application is hosted behind an identity wall.\"\n >\n info_outline\n </mat-icon>\n </mat-card-header>\n\n <mat-card-content>\n <div>\n <div *ngIf=\"IsPrivateFormControl.value\">\n <div>\n <mat-slide-toggle formControlName=\"isTriggerSignIn\">\n Is Trigger Sign In Application?\n </mat-slide-toggle>\n\n <mat-icon\n matSuffix\n matTooltip=\"A Trigger Sign In Application will direct the user to sign in if they are not already.\"\n >\n info_outline\n </mat-icon>\n </div>\n </div>\n </div>\n </mat-card-content>\n </mat-card>\n </div>\n\n <div class=\"form-card\" fxFlex=\"35%\" *ngIf=\"ProcessorType != 'Redirect'\">\n <mat-card class=\"spread\">\n <mat-card-header>\n <mat-card-title *ngIf=\"!HasBuildFormControl.value\">\n Build & Source\n </mat-card-title>\n\n <mat-card-title *ngIf=\"HasBuildFormControl.value\">\n Source Control\n </mat-card-title>\n\n <div fxFlex></div>\n\n <mat-slide-toggle\n formControlName=\"hasBuild\"\n matTooltip=\"Has Build?\"\n >\n </mat-slide-toggle>\n\n <mat-icon\n matSuffix\n matTooltip=\"Configure source control, DevOps CI/CD, and artifacts.\"\n >\n info_outline\n </mat-icon>\n </mat-card-header>\n\n <mat-card-content>\n <mat-form-field\n class=\"mat-full-width\"\n *ngIf=\"HasBuildFormControl.value\"\n >\n <mat-select\n formControlName=\"sourceControlLookup\"\n placeholder=\"Source Control\"\n (selectionChange)=\"SourceControlLookupChanged($event)\"\n [disabled]=\"\n SourceControlFormControls?.Loading || HostingDetails?.Loading\n \"\n >\n <ng-container\n *ngFor=\"let srcCtrlLookup of SourceControlLookups\"\n >\n <mat-option\n [value]=\"srcCtrlLookup\"\n *ngIf=\"SourceControls[srcCtrlLookup]; let srcCtrl\"\n >\n {{ srcCtrl.Name }}\n </mat-option>\n </ng-container>\n\n <mat-option value=\"\">-- Create New --</mat-option>\n </mat-select>\n </mat-form-field>\n\n <lcu-source-control-form-controls\n [branches-disabled]=\"HostingDetails?.Loading\"\n [form-group]=\"ApplicationFormGroup\"\n [org-disabled]=\"\n SourceControlLookupFormControl.value != '' ||\n HostingDetails?.Loading\n \"\n [repo-disabled]=\"\n SourceControlLookupFormControl.value != '' ||\n HostingDetails?.Loading\n \"\n [source-control]=\"SourceControl\"\n (branches-changed)=\"BranchesChanged($event)\"\n *ngIf=\"HasBuildFormControl.value\"\n ></lcu-source-control-form-controls>\n </mat-card-content>\n </mat-card>\n\n <mat-card\n class=\"spread\"\n *ngIf=\"\n HasBuildFormControl.value &&\n (SourceControlFormControls?.SelectedBranches?.length > 0 ||\n SourceControl?.Branches?.length > 0)\n \"\n >\n <mat-card-header>\n <mat-card-title> Build Pipeline </mat-card-title>\n\n <mat-hint>\n Changes made here are reflected for all sources using this\n DevOpsAction\n </mat-hint>\n </mat-card-header>\n\n <mat-card-content>\n <mat-form-field class=\"mat-full-width\">\n <mat-select\n formControlName=\"devOpsActionLookup\"\n placeholder=\"DevOps Action\"\n [disabled]=\"\n SourceControlLookupFormControl?.value ||\n SourceControlFormControls?.Loading ||\n HostingDetails?.Loading\n \"\n (selectionChange)=\"DevOpsActionLookupChanged($event)\"\n >\n <ng-container\n *ngFor=\"let devOpsActionLookup of DevOpsActionLookups\"\n >\n <mat-option\n [value]=\"devOpsActionLookup\"\n *ngIf=\"DevOpsActions[devOpsActionLookup]; let devOpsAction\"\n >\n {{ devOpsAction.Name }}\n </mat-option>\n </ng-container>\n\n <mat-option value=\"\">-- Create New --</mat-option>\n </mat-select>\n </mat-form-field>\n\n <lcu-hosting-details-form-group\n [artifact]=\"Artifact\"\n [details]=\"HostingDetails\"\n [formGroup]=\"ApplicationFormGroup\"\n [organization]=\"\n SourceControlFormControls?.OrganizationFormControl?.value\n \"\n [disabled]=\"\n !!DevOpsActionLookupFormControl?.value ||\n SourceControlFormControls?.Loading ||\n HostingDetails?.Loading\n \"\n ></lcu-hosting-details-form-group>\n </mat-card-content>\n </mat-card>\n </div>\n </div>\n\n <div class=\"spread\">\n <div fxFlex></div>\n\n <button mat-button type=\"button\" (click)=\"SetEditingApplication(null)\">\n <mat-icon>cancel</mat-icon> Cancel\n </button>\n\n <div fxFlex></div>\n\n <button\n mat-raised-button\n type=\"submit\"\n color=\"primary\"\n [disabled]=\"!ApplicationFormGroup.valid || !ApplicationFormGroup.dirty\"\n >\n <mat-icon>save</mat-icon> Save Application\n </button>\n\n <div fxFlex></div>\n </div>\n </form>\n\n <div class=\"spread\" *ngIf=\"!EditingApplication\">\n <span class=\"apps-actions\">\n <button mat-raised-button color=\"accent\" (click)=\"CreateNewApplication()\">\n <mat-icon color=\"primary\">add</mat-icon> Create New\n </button>\n </span>\n\n <div class=\"spread\" *ngIf=\"!CurrentApplicationRoute\">\n <div *ngIf=\"ApplicationRoutes?.length <= 0\">\n <h2>No applications created, create your first application.</h2>\n </div>\n\n <div *ngIf=\"ApplicationRoutes?.length > 0\">\n <h2>Project Routes</h2>\n\n <div\n fxLayout=\"row wrap\"\n fxLayout.lt-md=\"column\"\n *ngIf=\"ApplicationRoutes\"\n >\n <div\n fxFlex=\"30%\"\n fxFlex.lt-md=\"100%\"\n *ngFor=\"let appRoute of ApplicationRoutes\"\n >\n <mat-card class=\"spread\">\n <mat-card-header>\n <!-- <img mat-card-avatar=\"/assets/images/project-icon.png\" /> -->\n\n <mat-card-title\n class=\"mat-subheading-2\"\n [matTooltip]=\"appRoute\"\n >\n {{ appRoute }}\n </mat-card-title>\n </mat-card-header>\n\n <mat-card-content>\n <div class=\"spread\"></div>\n </mat-card-content>\n\n <mat-card-actions>\n <div class=\"data-app-actions\">\n <div fxFlex></div>\n\n <a\n mat-icon-button\n href=\"https://{{ Project.Hosts[0] }}{{ appRoute }}\"\n target=\"_blank\"\n title=\"Launch\"\n >\n <mat-icon>launch</mat-icon>\n </a>\n\n <button\n mat-icon-button\n color=\"accent\"\n (click)=\"CurrentApplicationRoute = appRoute\"\n >\n <mat-icon matTooltip=\"Edit Application Route\">\n settings\n </mat-icon>\n </button>\n </div>\n\n <div class=\"data-app-fakes\">\n <div fxFlex></div>\n\n <button mat-icon-button disabled>\n <mat-icon>fiber_manual_record</mat-icon>\n </button>\n\n <button mat-icon-button disabled>\n <mat-icon>fiber_manual_record</mat-icon>\n </button>\n </div>\n </mat-card-actions>\n </mat-card>\n </div>\n </div>\n </div>\n </div>\n\n <div *ngIf=\"CurrentApplicationRoute\">\n <h2>\n <button\n mat-icon-button\n matTooltip=\"Back to Routes\"\n (click)=\"CurrentApplicationRoute = null\"\n >\n <mat-icon>arrow_back</mat-icon>\n </button>\n\n {{ CurrentApplicationRoute }} Routes\n </h2>\n\n <div fxLayout=\"row wrap\" fxLayout.lt-md=\"column\">\n <ng-container *ngFor=\"let appLookup of CurrentRouteApplicationLookups\">\n <div\n fxFlex=\"30%\"\n fxFlex.lt-md=\"100%\"\n *ngIf=\"\n RoutedApplications[CurrentApplicationRoute][appLookup];\n let app\n \"\n >\n <mat-card class=\"spread\">\n <mat-card-header>\n <!-- <img mat-card-avatar=\"/assets/images/project-icon.png\" /> -->\n\n <mat-card-title\n class=\"mat-subheading-2\"\n [matTooltip]=\"app.Application.Description\"\n >\n {{ app.Application.Name }}\n </mat-card-title>\n\n <mat-card-subtitle\n class=\"mat-subheading-1\"\n [matTooltip]=\"\n app.Processor?.LowCodeUnit?.CurrentVersion ||\n app.Processor?.LowCodeUnit?.CurrentBuild\n \"\n >\n @{{\n app.Processor?.LowCodeUnit?.CurrentVersion ||\n app.Processor?.LowCodeUnit?.CurrentBuild ||\n \"No version deployed\"\n }}\n </mat-card-subtitle>\n </mat-card-header>\n\n <mat-card-content>\n <div class=\"spread\"></div>\n </mat-card-content>\n\n <mat-card-actions>\n <div class=\"data-app-actions\">\n <div fxFlex></div>\n\n <a\n mat-icon-button\n href=\"https://{{ Project.Hosts[0] }}{{\n app.LookupConfig.PathRegex.replace('.*', '')\n }}\"\n target=\"_blank\"\n title=\"Launch\"\n >\n <mat-icon>launch</mat-icon>\n </a>\n\n <a\n mat-icon-button\n (click)=\"Unpack(appLookup, app.Application.Name)\"\n target=\"_blank\"\n matTooltip=\"Unpack {{\n app.Processor?.LowCodeUnit?.Version ||\n app.Processor?.LowCodeUnit?.Build\n }}\"\n >\n <mat-icon>cloud_upload</mat-icon>\n </a>\n\n <button\n mat-icon-button\n color=\"accent\"\n (click)=\"SetEditingApplication(appLookup)\"\n >\n <mat-icon matTooltip=\"Edit Application\"> edit </mat-icon>\n </button>\n\n <button\n mat-icon-button\n color=\"warn\"\n (click)=\"DeleteApplication(appLookup, app.Application.Name)\"\n >\n <mat-icon matTooltip=\"Delete {{ app.Application.Name }}\">\n delete_forever\n </mat-icon>\n </button>\n </div>\n\n <div class=\"data-app-fakes\">\n <div fxFlex></div>\n\n <button mat-icon-button disabled>\n <mat-icon>fiber_manual_record</mat-icon>\n </button>\n\n <button mat-icon-button disabled>\n <mat-icon>fiber_manual_record</mat-icon>\n </button>\n\n <button mat-icon-button disabled>\n <mat-icon>fiber_manual_record</mat-icon>\n </button>\n\n <button mat-icon-button disabled>\n <mat-icon>fiber_manual_record</mat-icon>\n </button>\n </div>\n </mat-card-actions>\n </mat-card>\n </div>\n </ng-container>\n </div>\n </div>\n </div>\n</div>\n",
3239
+ template: "<div>\n <form\n [formGroup]=\"ApplicationFormGroup\"\n (ngSubmit)=\"SaveApplication()\"\n *ngIf=\"EditingApplication\"\n >\n <div\n fxLayout=\"row wrap\"\n fxLayoutAlign=\"center start\"\n fxLayout.lt-md=\"column\"\n >\n <div class=\"form-card\" fxFlex=\"70%\" fxFlex.lt-md=\"100%\">\n <mat-card class=\"spread\">\n <mat-card-header>\n <mat-card-title>\n <ng-container *ngIf=\"EditingApplication?.Application\">\n Edit Application:\n {{ EditingApplication.Application?.Name }}\n </ng-container>\n\n <ng-container *ngIf=\"!EditingApplication?.Application\">\n Create an Application\n </ng-container>\n </mat-card-title>\n </mat-card-header>\n\n <mat-card-content>\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Name\"\n formControlName=\"name\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <textarea\n matInput\n placeholder=\"Description\"\n formControlName=\"description\"\n rows=\"3\"\n required\n ></textarea>\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Route\"\n formControlName=\"route\"\n required\n />\n </mat-form-field>\n </mat-card-content>\n </mat-card>\n </div>\n\n <div class=\"form-card\" fxFlex=\"35%\">\n <mat-card class=\"spread\">\n <mat-card-header>\n <mat-card-title> Processor Details </mat-card-title>\n </mat-card-header>\n\n <mat-card-content>\n <mat-form-field class=\"mat-full-width\">\n <mat-select\n placeholder=\"Type\"\n formControlName=\"procType\"\n (selectionChange)=\"ProcessorTypeChanged($event)\"\n required\n >\n <mat-option value=\"DFS\">View Package</mat-option>\n\n <mat-option value=\"Redirect\">Redirect</mat-option>\n\n <mat-option value=\"Proxy\">Proxy</mat-option>\n\n <mat-option value=\"OAuth\">OAuth</mat-option>\n </mat-select>\n </mat-form-field>\n\n <div [ngSwitch]=\"ProcessorType\">\n <div *ngSwitchCase=\"'DFS'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Default File\"\n formControlName=\"defaultFile\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <mat-select\n placeholder=\"Type\"\n formControlName=\"lcuType\"\n (selectionChange)=\"LCUTypeChanged($event)\"\n required\n >\n <mat-option value=\"NPM\">NPM</mat-option>\n\n <mat-option value=\"GitHub\">GitHub</mat-option>\n\n <!-- <mat-option value=\"Zip\">Zip</mat-option> -->\n </mat-select>\n </mat-form-field>\n\n <div [ngSwitch]=\"LCUType\">\n <div *ngSwitchCase=\"'GitHub'\">\n <lcu-source-control-form-controls\n [form-group]=\"ApplicationFormGroup\"\n [source-control]=\"DefaultSourceControl\"\n [use-branches]=\"false\"\n ></lcu-source-control-form-controls>\n\n <div *ngIf=\"HasBuildFormControl?.value\">\n <h3>\n @{{\n SourceControlFormControls?.OrganizationFormControl\n ?.value || SourceControl?.Organization\n }}/{{\n SourceControlFormControls?.RepositoryFormControl\n ?.value || SourceControl?.Repository\n }}\n </h3>\n\n <p>\n Organization and Repository pulled from build settings\n </p>\n\n <mat-hint>\n CurrentBuild:\n {{\n EditingApplication?.Processor?.LowCodeUnit\n ?.CurrentBuild\n }}\n </mat-hint>\n </div>\n\n <mat-form-field\n class=\"mat-full-width\"\n *ngIf=\"\n SourceControlFormControls?.RepositoryFormControl?.valid\n \"\n >\n <input\n matInput\n placeholder=\"Build\"\n formControlName=\"build\"\n required\n />\n </mat-form-field>\n </div>\n\n <div *ngSwitchCase=\"'NPM'\">\n <lcu-npm-package-select\n [npm-package]=\"\n EditingApplication?.Processor?.LowCodeUnit?.Package\n \"\n [npm-package-version]=\"\n EditingApplication?.Processor?.LowCodeUnit?.Version\n \"\n [form-group]=\"ApplicationFormGroup\"\n ></lcu-npm-package-select>\n\n <mat-hint>\n CurrentVersion:\n {{\n EditingApplication?.Processor?.LowCodeUnit\n ?.CurrentVersion\n }}\n </mat-hint>\n </div>\n </div>\n </div>\n\n <div *ngSwitchCase=\"'OAuth'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Scopes (space separated)\"\n formControlName=\"scopes\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Token Lookup\"\n formControlName=\"tokenLookup\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <mat-select\n placeholder=\"Type\"\n formControlName=\"lcuType\"\n (selectionChange)=\"LCUTypeChanged($event)\"\n required\n >\n <mat-option value=\"GitHubOAuth\">GitHub</mat-option>\n </mat-select>\n </mat-form-field>\n\n <div [ngSwitch]=\"LCUType\">\n <div *ngSwitchCase=\"'GitHubOAuth'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Client ID\"\n formControlName=\"clientId\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Client Secret\"\n formControlName=\"clientSecret\"\n required\n />\n </mat-form-field>\n </div>\n </div>\n </div>\n\n <div *ngSwitchCase=\"'Proxy'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Inbound Path\"\n formControlName=\"inboundPath\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <mat-select\n placeholder=\"Type\"\n formControlName=\"lcuType\"\n (selectionChange)=\"LCUTypeChanged($event)\"\n required\n >\n <mat-option value=\"API\">API</mat-option>\n\n <mat-option value=\"SPA\">Single Page Application</mat-option>\n </mat-select>\n </mat-form-field>\n\n <div [ngSwitch]=\"LCUType\">\n <div *ngSwitchCase=\"'API'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"API Root\"\n formControlName=\"apiRoot\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Allowed Methods (separate with spaces)\"\n formControlName=\"methods\"\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Security ({header}~{value})\"\n formControlName=\"security\"\n required\n />\n </mat-form-field>\n </div>\n\n <div *ngSwitchCase=\"'SPA'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"SPA Root\"\n formControlName=\"spaRoot\"\n required\n />\n </mat-form-field>\n </div>\n </div>\n </div>\n\n <div *ngSwitchCase=\"'Redirect'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Redirect URL\"\n formControlName=\"redirect\"\n required\n />\n </mat-form-field>\n\n <div>\n <mat-slide-toggle class=\"spread\" formControlName=\"permanent\">\n Is Permanent?\n </mat-slide-toggle>\n\n <mat-slide-toggle\n class=\"spread\"\n formControlName=\"preserveMethod\"\n >\n Preserve Method?\n </mat-slide-toggle>\n\n <mat-icon\n class=\"spread\"\n matSuffix\n matTooltip=\"Values used to control the redirect type. Permanent and Not Preserve = 301; Not Permanent and Not Preserve = 302; Permanent and Preserve = 308; Not Permanent and Not Preserve = 307;\"\n >\n info_outline\n </mat-icon>\n </div>\n </div>\n </div>\n </mat-card-content>\n </mat-card>\n </div>\n\n <div class=\"form-card\" fxFlex=\"35%\">\n <mat-card class=\"spread\">\n <mat-card-header>\n <mat-card-title> Security Settings </mat-card-title>\n\n <div fxFlex></div>\n\n <mat-slide-toggle\n formControlName=\"isPrivate\"\n matTooltip=\"Is Secure Application?\"\n >\n </mat-slide-toggle>\n\n <mat-icon\n matSuffix\n matTooltip=\"A Secured Application is one that requires the user to be authenticated to use the application. The application is hosted behind an identity wall.\"\n >\n info_outline\n </mat-icon>\n </mat-card-header>\n\n <mat-card-content>\n <div>\n <div *ngIf=\"IsPrivateFormControl.value\">\n <div>\n <mat-slide-toggle formControlName=\"isTriggerSignIn\">\n Is Trigger Sign In Application?\n </mat-slide-toggle>\n\n <mat-icon\n matSuffix\n matTooltip=\"A Trigger Sign In Application will direct the user to sign in if they are not already.\"\n >\n info_outline\n </mat-icon>\n </div>\n </div>\n </div>\n </mat-card-content>\n </mat-card>\n\n <mat-card class=\"spread\" *ngIf=\"ProcessorType != 'Redirect'\">\n <mat-card-header>\n <mat-card-title *ngIf=\"!HasBuildFormControl.value\">\n Build & Source\n </mat-card-title>\n\n <mat-card-title *ngIf=\"HasBuildFormControl.value\">\n Source Control\n </mat-card-title>\n\n <div fxFlex></div>\n\n <mat-slide-toggle\n formControlName=\"hasBuild\"\n matTooltip=\"Has Build?\"\n >\n </mat-slide-toggle>\n\n <mat-icon\n matSuffix\n matTooltip=\"Configure source control, DevOps CI/CD, and artifacts.\"\n >\n info_outline\n </mat-icon>\n </mat-card-header>\n\n <mat-card-content>\n <mat-form-field\n class=\"mat-full-width\"\n *ngIf=\"\n HasBuildFormControl.value && SourceControlLookups?.length > 0\n \"\n >\n <mat-select\n formControlName=\"sourceControlLookup\"\n placeholder=\"Source Control\"\n (selectionChange)=\"SourceControlLookupChanged($event)\"\n [disabled]=\"\n SourceControlFormControls?.Loading || HostingDetails?.Loading\n \"\n >\n <ng-container\n *ngFor=\"let srcCtrlLookup of SourceControlLookups\"\n >\n <mat-option\n [value]=\"srcCtrlLookup\"\n *ngIf=\"SourceControls[srcCtrlLookup]; let srcCtrl\"\n >\n {{ srcCtrl.Name }}\n </mat-option>\n </ng-container>\n </mat-select>\n </mat-form-field>\n\n <div *ngIf=\"SourceControlLookups?.length < 0\">\n <h3>\n Create source control locations under the DevOps tab above.\n </h3>\n </div>\n </mat-card-content>\n </mat-card>\n </div>\n </div>\n\n <div class=\"spread\">\n <div fxFlex></div>\n\n <button mat-button type=\"button\" (click)=\"SetEditingApplication(null)\">\n <mat-icon>cancel</mat-icon> Cancel\n </button>\n\n <div fxFlex></div>\n\n <button\n mat-raised-button\n type=\"submit\"\n color=\"primary\"\n [disabled]=\"!ApplicationFormGroup.valid || !ApplicationFormGroup.dirty\"\n >\n <mat-icon>save</mat-icon> Save Application\n </button>\n\n <div fxFlex></div>\n </div>\n </form>\n\n <div class=\"spread\" *ngIf=\"!EditingApplication\">\n <span class=\"apps-actions\">\n <button mat-raised-button color=\"accent\" (click)=\"CreateNewApplication()\">\n <mat-icon color=\"primary\">add</mat-icon> Create New\n </button>\n </span>\n\n <div class=\"spread\" *ngIf=\"!CurrentApplicationRoute\">\n <div *ngIf=\"ApplicationRoutes?.length <= 0\">\n <h2>No applications created, create your first application.</h2>\n </div>\n\n <div *ngIf=\"ApplicationRoutes?.length > 0\">\n <h2>Project Routes</h2>\n\n <div\n fxLayout=\"row wrap\"\n fxLayout.lt-md=\"column\"\n *ngIf=\"ApplicationRoutes\"\n >\n <div\n fxFlex=\"30%\"\n fxFlex.lt-md=\"100%\"\n *ngFor=\"let appRoute of ApplicationRoutes\"\n >\n <mat-card class=\"spread\">\n <mat-card-header>\n <!-- <img mat-card-avatar=\"/assets/images/project-icon.png\" /> -->\n\n <mat-card-title\n class=\"mat-subheading-2\"\n [matTooltip]=\"appRoute\"\n >\n {{ appRoute }}\n </mat-card-title>\n </mat-card-header>\n\n <mat-card-content>\n <div class=\"spread\"></div>\n </mat-card-content>\n\n <mat-card-actions>\n <div class=\"data-app-actions\">\n <div fxFlex></div>\n\n <a\n mat-icon-button\n href=\"https://{{ Project.Hosts[0] }}{{ appRoute }}\"\n target=\"_blank\"\n title=\"Launch\"\n >\n <mat-icon>launch</mat-icon>\n </a>\n\n <button\n mat-icon-button\n color=\"accent\"\n (click)=\"CurrentApplicationRoute = appRoute\"\n >\n <mat-icon matTooltip=\"Edit Application Route\">\n settings\n </mat-icon>\n </button>\n </div>\n\n <div class=\"data-app-fakes\">\n <div fxFlex></div>\n\n <button mat-icon-button disabled>\n <mat-icon>fiber_manual_record</mat-icon>\n </button>\n\n <button mat-icon-button disabled>\n <mat-icon>fiber_manual_record</mat-icon>\n </button>\n </div>\n </mat-card-actions>\n </mat-card>\n </div>\n </div>\n </div>\n </div>\n\n <div *ngIf=\"CurrentApplicationRoute\">\n <h2>\n <button\n mat-icon-button\n matTooltip=\"Back to Routes\"\n (click)=\"CurrentApplicationRoute = null\"\n >\n <mat-icon>arrow_back</mat-icon>\n </button>\n\n {{ CurrentApplicationRoute }} Routes\n </h2>\n\n <div fxLayout=\"row wrap\" fxLayout.lt-md=\"column\">\n <ng-container *ngFor=\"let appLookup of CurrentRouteApplicationLookups\">\n <div\n fxFlex=\"30%\"\n fxFlex.lt-md=\"100%\"\n *ngIf=\"\n RoutedApplications[CurrentApplicationRoute][appLookup];\n let app\n \"\n >\n <mat-card class=\"spread\">\n <mat-card-header>\n <!-- <img mat-card-avatar=\"/assets/images/project-icon.png\" /> -->\n\n <mat-card-title\n class=\"mat-subheading-2\"\n [matTooltip]=\"app.Application.Description\"\n >\n {{ app.Application.Name }}\n </mat-card-title>\n\n <mat-card-subtitle\n class=\"mat-subheading-1\"\n [matTooltip]=\"\n app.Processor?.LowCodeUnit?.CurrentVersion ||\n app.Processor?.LowCodeUnit?.CurrentBuild\n \"\n >\n @{{\n app.Processor?.LowCodeUnit?.CurrentVersion ||\n app.Processor?.LowCodeUnit?.CurrentBuild ||\n app.Processor?.Redirect ||\n \"No version deployed\"\n }}\n </mat-card-subtitle>\n </mat-card-header>\n\n <mat-card-content>\n <div class=\"spread\"></div>\n </mat-card-content>\n\n <mat-card-actions>\n <div class=\"data-app-actions\">\n <div fxFlex></div>\n\n <a\n mat-icon-button\n href=\"https://{{ Project.Hosts[0] }}{{\n app.LookupConfig.PathRegex.replace('.*', '')\n }}\"\n target=\"_blank\"\n title=\"Launch\"\n >\n <mat-icon>launch</mat-icon>\n </a>\n\n <a\n mat-icon-button\n (click)=\"Unpack(appLookup, app.Application.Name)\"\n target=\"_blank\"\n matTooltip=\"Unpack {{\n app.Processor?.LowCodeUnit?.Version ||\n app.Processor?.LowCodeUnit?.Build\n }}\"\n >\n <mat-icon>cloud_upload</mat-icon>\n </a>\n\n <button\n mat-icon-button\n color=\"accent\"\n (click)=\"SetEditingApplication(appLookup)\"\n >\n <mat-icon matTooltip=\"Edit Application\"> edit </mat-icon>\n </button>\n\n <button\n mat-icon-button\n color=\"warn\"\n (click)=\"DeleteApplication(appLookup, app.Application.Name)\"\n >\n <mat-icon matTooltip=\"Delete {{ app.Application.Name }}\">\n delete_forever\n </mat-icon>\n </button>\n </div>\n\n <div class=\"data-app-fakes\">\n <div fxFlex></div>\n\n <button mat-icon-button disabled>\n <mat-icon>fiber_manual_record</mat-icon>\n </button>\n\n <button mat-icon-button disabled>\n <mat-icon>fiber_manual_record</mat-icon>\n </button>\n\n <button mat-icon-button disabled>\n <mat-icon>fiber_manual_record</mat-icon>\n </button>\n\n <button mat-icon-button disabled>\n <mat-icon>fiber_manual_record</mat-icon>\n </button>\n </div>\n </mat-card-actions>\n </mat-card>\n </div>\n </ng-container>\n </div>\n </div>\n </div>\n</div>\n",
3222
3240
  styles: ["@import url(\"https://fonts.googleapis.com/icon?family=Material+Icons\");@import url(\"https://fonts.googleapis.com/css?family=Encode+Sans+Condensed:400,900&display=swap\");@import url(\"https://fonts.googleapis.com/css?family=Open+Sans:300,400,700&display=swap\");.disable-autofill-background-default input:-webkit-autofill,.disable-autofill-background-default input:-webkit-autofill:focus,.disable-autofill-background-default input:-webkit-autofill:hover,.disable-autofill-background-default select:-webkit-autofill,.disable-autofill-background-default select:-webkit-autofill:focus,.disable-autofill-background-default select:-webkit-autofill:hover,.disable-autofill-background-default textarea:-webkit-autofill,.disable-autofill-background-default textarea:-webkit-autofill:focus,.disable-autofill-background-default textarea:-webkit-autofill:hover{-webkit-transition:background-color 5000s!important;transition:background-color 5000s!important}.list-item-disabled{cursor:not-allowed!important;filter:alpha(opacity=50);opacity:.5}.filler{display:inline-block!important;flex:1 1 auto}.sticky{position:sticky;top:0;z-index:750}.inline{display:inline-block}.contents,.page-element{display:contents}.mat-spinner{margin:auto}.mat-full-width{width:100%}.spread{margin:2rem}.spread-thin{margin:1rem}.overlay{position:sticky!important}.overlay.top{top:0}.overlay.bottom{bottom:0}.margin-0{margin:0!important}.margin-top-0,.margin-y-0{margin-top:0!important}.margin-right-0,.margin-x-0{margin-right:0!important}.margin-bottom-0,.margin-y-0{margin-bottom:0!important}.margin-left-0,.margin-x-0{margin-left:0!important}.margin-1{margin:.25rem!important}.margin-top-1,.margin-y-1{margin-top:.25rem!important}.margin-right-1,.margin-x-1{margin-right:.25rem!important}.margin-bottom-1,.margin-y-1{margin-bottom:.25rem!important}.margin-left-1,.margin-x-1{margin-left:.25rem!important}.margin-2{margin:.5rem!important}.margin-top-2,.margin-y-2{margin-top:.5rem!important}.margin-right-2,.margin-x-2{margin-right:.5rem!important}.margin-bottom-2,.margin-y-2{margin-bottom:.5rem!important}.margin-left-2,.margin-x-2{margin-left:.5rem!important}.margin-3{margin:1rem!important}.margin-top-3,.margin-y-3{margin-top:1rem!important}.margin-top-bottom-3{margin:1rem 0!important}.margin-right-3,.margin-x-3{margin-right:1rem!important}.margin-bottom-3,.margin-y-3{margin-bottom:1rem!important}.margin-left-3,.margin-x-3{margin-left:1rem!important}.margin-4{margin:2rem!important}.margin-top-4,.margin-y-4{margin-top:2rem!important}.margin-right-4,.margin-x-4{margin-right:2rem!important}.margin-bottom-4,.margin-y-4{margin-bottom:2rem!important}.margin-left-4,.margin-x-4{margin-left:2rem!important}.margin-right-5,.margin-x-5{margin-right:4rem!important}.margin-bottom-5,.margin-y-5{margin-bottom:4rem!important}.margin-left-5,.margin-x-5{margin-left:4rem!important}.margin-5{margin:4rem!important}.margin-top-5,.margin-y-5{margin-top:4rem!important}.margin-right-6,.margin-x-6{margin-right:4.5rem!important}.margin-bottom-6,.margin-y-6{margin-bottom:4.5rem!important}.margin-left-6,.margin-x-6{margin-left:4.5rem!important}.margin-7{margin:6rem!important}.margin-top-7,.margin-y-7{margin-top:6rem!important}.margin-right-7,.margin-x-7{margin-right:6rem!important}.margin-bottom-7,.margin-y-7{margin-bottom:6rem!important}.margin-left-7,.margin-x-7{margin-left:6rem!important}.margin-8{margin:7.5rem!important}.margin-top-8,.margin-y-8{margin-top:7.5rem!important}.margin-right-8,.margin-x-8{margin-right:7.5rem!important}.margin-bottom-8,.margin-y-8{margin-bottom:7.5rem!important}.margin-left-8,.margin-x-8{margin-left:7.5rem!important}.margin-9{margin:9rem!important}.margin-top-9,.margin-y-9{margin-top:9rem!important}.margin-right-9,.margin-x-9{margin-right:9rem!important}.margin-bottom-9,.margin-y-9{margin-bottom:9rem!important}.margin-left-9,.margin-x-9{margin-left:9rem!important}.padding-0{padding:0!important}.padding-top-0,.padding-y-0{padding-top:0!important}.padding-right-0,.padding-x-0{padding-right:0!important}.padding-bottom-0,.padding-y-0{padding-bottom:0!important}.padding-left-0,.padding-x-0{padding-left:0!important}.padding-1{padding:.25rem!important}.padding-top-1,.padding-y-1{padding-top:.25rem!important}.padding-right-1,.padding-x-1{padding-right:.25rem!important}.padding-bottom-1,.padding-y-1{padding-bottom:.25rem!important}.padding-left-1,.padding-x-1{padding-left:.25rem!important}.padding-2{padding:.5rem!important}.padding-top-2,.padding-y-2{padding-top:.5rem!important}.padding-right-2,.padding-x-2{padding-right:.5rem!important}.padding-bottom-2,.padding-y-2{padding-bottom:.5rem!important}.padding-left-2,.padding-x-2{padding-left:.5rem!important}.padding-3{padding:1rem!important}.padding-top-3,.padding-y-3{padding-top:1rem!important}.padding-right-3,.padding-x-3{padding-right:1rem!important}.padding-bottom-3,.padding-y-3{padding-bottom:1rem!important}.padding-left-3,.padding-x-3{padding-left:1rem!important}.padding-4{padding:2rem!important}.padding-top-4,.padding-y-4{padding-top:2rem!important}.padding-right-4,.padding-x-4{padding-right:2rem!important}.padding-bottom-4,.padding-y-4{padding-bottom:2rem!important}.padding-left-4,.padding-x-4{padding-left:2rem!important}.padding-5{padding:4rem!important}.padding-top-5,.padding-y-5{padding-top:4rem!important}.padding-right-5,.padding-x-5{padding-right:4rem!important}.padding-bottom-5,.padding-y-5{padding-bottom:4rem!important}.padding-left-5,.padding-x-5{padding-left:4rem!important}.margin-n1{margin:-.25rem!important}.margin-top-n1,.margin-y-n1{margin-top:-.25rem!important}.margin-right-n1,.margin-x-n1{margin-right:-.25rem!important}.margin-bottom-n1,.margin-y-n1{margin-bottom:-.25rem!important}.margin-left-n1,.margin-x-n1{margin-left:-.25rem!important}.margin-n2{margin:-.5rem!important}.margin-top-n2,.margin-y-n2{margin-top:-.5rem!important}.margin-right-n2,.margin-x-n2{margin-right:-.5rem!important}.margin-bottom-n2,.margin-y-n2{margin-bottom:-.5rem!important}.margin-left-n2,.margin-x-n2{margin-left:-.5rem!important}.margin-n3{margin:-1rem!important}.margin-top-n3,.margin-y-n3{margin-top:-1rem!important}.margin-right-n3,.margin-x-n3{margin-right:-1rem!important}.margin-bottom-n3,.margin-y-n3{margin-bottom:-1rem!important}.margin-left-n3,.margin-x-n3{margin-left:-1rem!important}.margin-n4{margin:-2rem!important}.margin-top-n4,.margin-y-n4{margin-top:-2rem!important}.margin-right-n4,.margin-x-n4{margin-right:-2rem!important}.margin-bottom-n4,.margin-y-n4{margin-bottom:-2rem!important}.margin-left-n4,.margin-x-n4{margin-left:-2rem!important}.margin-n5{margin:-4rem!important}.margin-top-n5,.margin-y-n5{margin-top:-4rem!important}.margin-right-n5,.margin-x-n5{margin-right:-4rem!important}.margin-bottom-n5,.margin-y-n5{margin-bottom:-4rem!important}.margin-left-n5,.margin-x-n5{margin-left:-4rem!important}.margin-auto{margin:auto!important}.margin-top-auto,.margin-y-auto{margin-top:auto!important}.margin-right-auto,.margin-x-auto{margin-right:auto!important}.margin-bottom-auto,.margin-y-auto{margin-bottom:auto!important}.margin-left-auto,.margin-x-auto{margin-left:auto!important}@media (min-width:576px){.margin-sm-0{margin:0!important}.margin-top-sm-0,.margin-y-sm-0{margin-top:0!important}.margin-right-sm-0,.margin-x-sm-0{margin-right:0!important}.margin-bottom-sm-0,.margin-y-sm-0{margin-bottom:0!important}.margin-left-sm-0,.margin-x-sm-0{margin-left:0!important}.margin-sm-1{margin:.25rem!important}.margin-top-sm-1,.margin-y-sm-1{margin-top:.25rem!important}.margin-right-sm-1,.margin-x-sm-1{margin-right:.25rem!important}.margin-bottom-sm-1,.margin-y-sm-1{margin-bottom:.25rem!important}.margin-left-sm-1,.margin-x-sm-1{margin-left:.25rem!important}.margin-sm-2{margin:.5rem!important}.margin-top-sm-2,.margin-y-sm-2{margin-top:.5rem!important}.margin-right-sm-2,.margin-x-sm-2{margin-right:.5rem!important}.margin-bottom-sm-2,.margin-y-sm-2{margin-bottom:.5rem!important}.margin-left-sm-2,.margin-x-sm-2{margin-left:.5rem!important}.margin-sm-3{margin:1rem!important}.margin-top-sm-3,.margin-y-sm-3{margin-top:1rem!important}.margin-right-sm-3,.margin-x-sm-3{margin-right:1rem!important}.margin-bottom-sm-3,.margin-y-sm-3{margin-bottom:1rem!important}.margin-left-sm-3,.margin-x-sm-3{margin-left:1rem!important}.margin-sm-4{margin:2rem!important}.margin-top-sm-4,.margin-y-sm-4{margin-top:2rem!important}.margin-right-sm-4,.margin-x-sm-4{margin-right:2rem!important}.margin-bottom-sm-4,.margin-y-sm-4{margin-bottom:2rem!important}.margin-left-sm-4,.margin-x-sm-4{margin-left:2rem!important}.margin-sm-5{margin:4rem!important}.margin-top-sm-5,.margin-y-sm-5{margin-top:4rem!important}.margin-right-sm-5,.margin-x-sm-5{margin-right:4rem!important}.margin-bottom-sm-5,.margin-y-sm-5{margin-bottom:4rem!important}.margin-left-sm-5,.margin-x-sm-5{margin-left:4rem!important}.padding-sm-0{padding:0!important}.padding-top-sm-0,.padding-y-sm-0{padding-top:0!important}.padding-right-sm-0,.padding-x-sm-0{padding-right:0!important}.padding-bottom-sm-0,.padding-y-sm-0{padding-bottom:0!important}.padding-left-sm-0,.padding-x-sm-0{padding-left:0!important}.padding-sm-1{padding:.25rem!important}.padding-top-sm-1,.padding-y-sm-1{padding-top:.25rem!important}.padding-right-sm-1,.padding-x-sm-1{padding-right:.25rem!important}.padding-bottom-sm-1,.padding-y-sm-1{padding-bottom:.25rem!important}.padding-left-sm-1,.padding-x-sm-1{padding-left:.25rem!important}.padding-sm-2{padding:.5rem!important}.padding-top-sm-2,.padding-y-sm-2{padding-top:.5rem!important}.padding-right-sm-2,.padding-x-sm-2{padding-right:.5rem!important}.padding-bottom-sm-2,.padding-y-sm-2{padding-bottom:.5rem!important}.padding-left-sm-2,.padding-x-sm-2{padding-left:.5rem!important}.padding-sm-3{padding:1rem!important}.padding-top-sm-3,.padding-y-sm-3{padding-top:1rem!important}.padding-right-sm-3,.padding-x-sm-3{padding-right:1rem!important}.padding-bottom-sm-3,.padding-y-sm-3{padding-bottom:1rem!important}.padding-left-sm-3,.padding-x-sm-3{padding-left:1rem!important}.padding-sm-4{padding:2rem!important}.padding-top-sm-4,.padding-y-sm-4{padding-top:2rem!important}.padding-right-sm-4,.padding-x-sm-4{padding-right:2rem!important}.padding-bottom-sm-4,.padding-y-sm-4{padding-bottom:2rem!important}.padding-left-sm-4,.padding-x-sm-4{padding-left:2rem!important}.padding-sm-5{padding:4rem!important}.padding-top-sm-5,.padding-y-sm-5{padding-top:4rem!important}.padding-right-sm-5,.padding-x-sm-5{padding-right:4rem!important}.padding-bottom-sm-5,.padding-y-sm-5{padding-bottom:4rem!important}.padding-left-sm-5,.padding-x-sm-5{padding-left:4rem!important}.margin-sm-n1{margin:-.25rem!important}.margin-top-sm-n1,.margin-y-sm-n1{margin-top:-.25rem!important}.margin-right-sm-n1,.margin-x-sm-n1{margin-right:-.25rem!important}.margin-bottom-sm-n1,.margin-y-sm-n1{margin-bottom:-.25rem!important}.margin-left-sm-n1,.margin-x-sm-n1{margin-left:-.25rem!important}.margin-sm-n2{margin:-.5rem!important}.margin-top-sm-n2,.margin-y-sm-n2{margin-top:-.5rem!important}.margin-right-sm-n2,.margin-x-sm-n2{margin-right:-.5rem!important}.margin-bottom-sm-n2,.margin-y-sm-n2{margin-bottom:-.5rem!important}.margin-left-sm-n2,.margin-x-sm-n2{margin-left:-.5rem!important}.margin-sm-n3{margin:-1rem!important}.margin-top-sm-n3,.margin-y-sm-n3{margin-top:-1rem!important}.margin-right-sm-n3,.margin-x-sm-n3{margin-right:-1rem!important}.margin-bottom-sm-n3,.margin-y-sm-n3{margin-bottom:-1rem!important}.margin-left-sm-n3,.margin-x-sm-n3{margin-left:-1rem!important}.margin-sm-n4{margin:-2rem!important}.margin-top-sm-n4,.margin-y-sm-n4{margin-top:-2rem!important}.margin-right-sm-n4,.margin-x-sm-n4{margin-right:-2rem!important}.margin-bottom-sm-n4,.margin-y-sm-n4{margin-bottom:-2rem!important}.margin-left-sm-n4,.margin-x-sm-n4{margin-left:-2rem!important}.margin-sm-n5{margin:-4rem!important}.margin-top-sm-n5,.margin-y-sm-n5{margin-top:-4rem!important}.margin-right-sm-n5,.margin-x-sm-n5{margin-right:-4rem!important}.margin-bottom-sm-n5,.margin-y-sm-n5{margin-bottom:-4rem!important}.margin-left-sm-n5,.margin-x-sm-n5{margin-left:-4rem!important}.margin-sm-auto{margin:auto!important}.margin-top-sm-auto,.margin-y-sm-auto{margin-top:auto!important}.margin-right-sm-auto,.margin-x-sm-auto{margin-right:auto!important}.margin-bottom-sm-auto,.margin-y-sm-auto{margin-bottom:auto!important}.margin-left-sm-auto,.margin-x-sm-auto{margin-left:auto!important}}@media (min-width:768px){.margin-md-0{margin:0!important}.margin-top-md-0,.margin-y-md-0{margin-top:0!important}.margin-right-md-0,.margin-x-md-0{margin-right:0!important}.margin-bottom-md-0,.margin-y-md-0{margin-bottom:0!important}.margin-left-md-0,.margin-x-md-0{margin-left:0!important}.margin-md-1{margin:.25rem!important}.margin-top-md-1,.margin-y-md-1{margin-top:.25rem!important}.margin-right-md-1,.margin-x-md-1{margin-right:.25rem!important}.margin-bottom-md-1,.margin-y-md-1{margin-bottom:.25rem!important}.margin-left-md-1,.margin-x-md-1{margin-left:.25rem!important}.margin-md-2{margin:.5rem!important}.margin-top-md-2,.margin-y-md-2{margin-top:.5rem!important}.margin-right-md-2,.margin-x-md-2{margin-right:.5rem!important}.margin-bottom-md-2,.margin-y-md-2{margin-bottom:.5rem!important}.margin-left-md-2,.margin-x-md-2{margin-left:.5rem!important}.margin-md-3{margin:1rem!important}.margin-top-md-3,.margin-y-md-3{margin-top:1rem!important}.margin-right-md-3,.margin-x-md-3{margin-right:1rem!important}.margin-bottom-md-3,.margin-y-md-3{margin-bottom:1rem!important}.margin-left-md-3,.margin-x-md-3{margin-left:1rem!important}.margin-md-4{margin:2rem!important}.margin-top-md-4,.margin-y-md-4{margin-top:2rem!important}.margin-right-md-4,.margin-x-md-4{margin-right:2rem!important}.margin-bottom-md-4,.margin-y-md-4{margin-bottom:2rem!important}.margin-left-md-4,.margin-x-md-4{margin-left:2rem!important}.margin-md-5{margin:4rem!important}.margin-top-md-5,.margin-y-md-5{margin-top:4rem!important}.margin-right-md-5,.margin-x-md-5{margin-right:4rem!important}.margin-bottom-md-5,.margin-y-md-5{margin-bottom:4rem!important}.margin-left-md-5,.margin-x-md-5{margin-left:4rem!important}.padding-md-0{padding:0!important}.padding-top-md-0,.padding-y-md-0{padding-top:0!important}.padding-right-md-0,.padding-x-md-0{padding-right:0!important}.padding-bottom-md-0,.padding-y-md-0{padding-bottom:0!important}.padding-left-md-0,.padding-x-md-0{padding-left:0!important}.padding-md-1{padding:.25rem!important}.padding-top-md-1,.padding-y-md-1{padding-top:.25rem!important}.padding-right-md-1,.padding-x-md-1{padding-right:.25rem!important}.padding-bottom-md-1,.padding-y-md-1{padding-bottom:.25rem!important}.padding-left-md-1,.padding-x-md-1{padding-left:.25rem!important}.padding-md-2{padding:.5rem!important}.padding-top-md-2,.padding-y-md-2{padding-top:.5rem!important}.padding-right-md-2,.padding-x-md-2{padding-right:.5rem!important}.padding-bottom-md-2,.padding-y-md-2{padding-bottom:.5rem!important}.padding-left-md-2,.padding-x-md-2{padding-left:.5rem!important}.padding-md-3{padding:1rem!important}.padding-top-md-3,.padding-y-md-3{padding-top:1rem!important}.padding-right-md-3,.padding-x-md-3{padding-right:1rem!important}.padding-bottom-md-3,.padding-y-md-3{padding-bottom:1rem!important}.padding-left-md-3,.padding-x-md-3{padding-left:1rem!important}.padding-md-4{padding:2rem!important}.padding-top-md-4,.padding-y-md-4{padding-top:2rem!important}.padding-right-md-4,.padding-x-md-4{padding-right:2rem!important}.padding-bottom-md-4,.padding-y-md-4{padding-bottom:2rem!important}.padding-left-md-4,.padding-x-md-4{padding-left:2rem!important}.padding-md-5{padding:4rem!important}.padding-top-md-5,.padding-y-md-5{padding-top:4rem!important}.padding-right-md-5,.padding-x-md-5{padding-right:4rem!important}.padding-bottom-md-5,.padding-y-md-5{padding-bottom:4rem!important}.padding-left-md-5,.padding-x-md-5{padding-left:4rem!important}.margin-md-n1{margin:-.25rem!important}.margin-top-md-n1,.margin-y-md-n1{margin-top:-.25rem!important}.margin-right-md-n1,.margin-x-md-n1{margin-right:-.25rem!important}.margin-bottom-md-n1,.margin-y-md-n1{margin-bottom:-.25rem!important}.margin-left-md-n1,.margin-x-md-n1{margin-left:-.25rem!important}.margin-md-n2{margin:-.5rem!important}.margin-top-md-n2,.margin-y-md-n2{margin-top:-.5rem!important}.margin-right-md-n2,.margin-x-md-n2{margin-right:-.5rem!important}.margin-bottom-md-n2,.margin-y-md-n2{margin-bottom:-.5rem!important}.margin-left-md-n2,.margin-x-md-n2{margin-left:-.5rem!important}.margin-md-n3{margin:-1rem!important}.margin-top-md-n3,.margin-y-md-n3{margin-top:-1rem!important}.margin-right-md-n3,.margin-x-md-n3{margin-right:-1rem!important}.margin-bottom-md-n3,.margin-y-md-n3{margin-bottom:-1rem!important}.margin-left-md-n3,.margin-x-md-n3{margin-left:-1rem!important}.margin-md-n4{margin:-2rem!important}.margin-top-md-n4,.margin-y-md-n4{margin-top:-2rem!important}.margin-right-md-n4,.margin-x-md-n4{margin-right:-2rem!important}.margin-bottom-md-n4,.margin-y-md-n4{margin-bottom:-2rem!important}.margin-left-md-n4,.margin-x-md-n4{margin-left:-2rem!important}.margin-md-n5{margin:-4rem!important}.margin-top-md-n5,.margin-y-md-n5{margin-top:-4rem!important}.margin-right-md-n5,.margin-x-md-n5{margin-right:-4rem!important}.margin-bottom-md-n5,.margin-y-md-n5{margin-bottom:-4rem!important}.margin-left-md-n5,.margin-x-md-n5{margin-left:-4rem!important}.margin-md-auto{margin:auto!important}.margin-top-md-auto,.margin-y-md-auto{margin-top:auto!important}.margin-right-md-auto,.margin-x-md-auto{margin-right:auto!important}.margin-bottom-md-auto,.margin-y-md-auto{margin-bottom:auto!important}.margin-left-md-auto,.margin-x-md-auto{margin-left:auto!important}}@media (min-width:992px){.margin-lg-0{margin:0!important}.margin-top-lg-0,.margin-y-lg-0{margin-top:0!important}.margin-right-lg-0,.margin-x-lg-0{margin-right:0!important}.margin-bottom-lg-0,.margin-y-lg-0{margin-bottom:0!important}.margin-left-lg-0,.margin-x-lg-0{margin-left:0!important}.margin-lg-1{margin:.25rem!important}.margin-top-lg-1,.margin-y-lg-1{margin-top:.25rem!important}.margin-right-lg-1,.margin-x-lg-1{margin-right:.25rem!important}.margin-bottom-lg-1,.margin-y-lg-1{margin-bottom:.25rem!important}.margin-left-lg-1,.margin-x-lg-1{margin-left:.25rem!important}.margin-lg-2{margin:.5rem!important}.margin-top-lg-2,.margin-y-lg-2{margin-top:.5rem!important}.margin-right-lg-2,.margin-x-lg-2{margin-right:.5rem!important}.margin-bottom-lg-2,.margin-y-lg-2{margin-bottom:.5rem!important}.margin-left-lg-2,.margin-x-lg-2{margin-left:.5rem!important}.margin-lg-3{margin:1rem!important}.margin-top-lg-3,.margin-y-lg-3{margin-top:1rem!important}.margin-right-lg-3,.margin-x-lg-3{margin-right:1rem!important}.margin-bottom-lg-3,.margin-y-lg-3{margin-bottom:1rem!important}.margin-left-lg-3,.margin-x-lg-3{margin-left:1rem!important}.margin-lg-4{margin:2rem!important}.margin-top-lg-4,.margin-y-lg-4{margin-top:2rem!important}.margin-right-lg-4,.margin-x-lg-4{margin-right:2rem!important}.margin-bottom-lg-4,.margin-y-lg-4{margin-bottom:2rem!important}.margin-left-lg-4,.margin-x-lg-4{margin-left:2rem!important}.margin-lg-5{margin:4rem!important}.margin-top-lg-5,.margin-y-lg-5{margin-top:4rem!important}.margin-right-lg-5,.margin-x-lg-5{margin-right:4rem!important}.margin-bottom-lg-5,.margin-y-lg-5{margin-bottom:4rem!important}.margin-left-lg-5,.margin-x-lg-5{margin-left:4rem!important}.padding-lg-0{padding:0!important}.padding-top-lg-0,.padding-y-lg-0{padding-top:0!important}.padding-right-lg-0,.padding-x-lg-0{padding-right:0!important}.padding-bottom-lg-0,.padding-y-lg-0{padding-bottom:0!important}.padding-left-lg-0,.padding-x-lg-0{padding-left:0!important}.padding-lg-1{padding:.25rem!important}.padding-top-lg-1,.padding-y-lg-1{padding-top:.25rem!important}.padding-right-lg-1,.padding-x-lg-1{padding-right:.25rem!important}.padding-bottom-lg-1,.padding-y-lg-1{padding-bottom:.25rem!important}.padding-left-lg-1,.padding-x-lg-1{padding-left:.25rem!important}.padding-lg-2{padding:.5rem!important}.padding-top-lg-2,.padding-y-lg-2{padding-top:.5rem!important}.padding-right-lg-2,.padding-x-lg-2{padding-right:.5rem!important}.padding-bottom-lg-2,.padding-y-lg-2{padding-bottom:.5rem!important}.padding-left-lg-2,.padding-x-lg-2{padding-left:.5rem!important}.padding-lg-3{padding:1rem!important}.padding-top-lg-3,.padding-y-lg-3{padding-top:1rem!important}.padding-right-lg-3,.padding-x-lg-3{padding-right:1rem!important}.padding-bottom-lg-3,.padding-y-lg-3{padding-bottom:1rem!important}.padding-left-lg-3,.padding-x-lg-3{padding-left:1rem!important}.padding-lg-4{padding:2rem!important}.padding-top-lg-4,.padding-y-lg-4{padding-top:2rem!important}.padding-right-lg-4,.padding-x-lg-4{padding-right:2rem!important}.padding-bottom-lg-4,.padding-y-lg-4{padding-bottom:2rem!important}.padding-left-lg-4,.padding-x-lg-4{padding-left:2rem!important}.padding-lg-5{padding:4rem!important}.padding-top-lg-5,.padding-y-lg-5{padding-top:4rem!important}.padding-right-lg-5,.padding-x-lg-5{padding-right:4rem!important}.padding-bottom-lg-5,.padding-y-lg-5{padding-bottom:4rem!important}.padding-left-lg-5,.padding-x-lg-5{padding-left:4rem!important}.margin-lg-n1{margin:-.25rem!important}.margin-top-lg-n1,.margin-y-lg-n1{margin-top:-.25rem!important}.margin-right-lg-n1,.margin-x-lg-n1{margin-right:-.25rem!important}.margin-bottom-lg-n1,.margin-y-lg-n1{margin-bottom:-.25rem!important}.margin-left-lg-n1,.margin-x-lg-n1{margin-left:-.25rem!important}.margin-lg-n2{margin:-.5rem!important}.margin-top-lg-n2,.margin-y-lg-n2{margin-top:-.5rem!important}.margin-right-lg-n2,.margin-x-lg-n2{margin-right:-.5rem!important}.margin-bottom-lg-n2,.margin-y-lg-n2{margin-bottom:-.5rem!important}.margin-left-lg-n2,.margin-x-lg-n2{margin-left:-.5rem!important}.margin-lg-n3{margin:-1rem!important}.margin-top-lg-n3,.margin-y-lg-n3{margin-top:-1rem!important}.margin-right-lg-n3,.margin-x-lg-n3{margin-right:-1rem!important}.margin-bottom-lg-n3,.margin-y-lg-n3{margin-bottom:-1rem!important}.margin-left-lg-n3,.margin-x-lg-n3{margin-left:-1rem!important}.margin-lg-n4{margin:-2rem!important}.margin-top-lg-n4,.margin-y-lg-n4{margin-top:-2rem!important}.margin-right-lg-n4,.margin-x-lg-n4{margin-right:-2rem!important}.margin-bottom-lg-n4,.margin-y-lg-n4{margin-bottom:-2rem!important}.margin-left-lg-n4,.margin-x-lg-n4{margin-left:-2rem!important}.margin-lg-n5{margin:-4rem!important}.margin-top-lg-n5,.margin-y-lg-n5{margin-top:-4rem!important}.margin-right-lg-n5,.margin-x-lg-n5{margin-right:-4rem!important}.margin-bottom-lg-n5,.margin-y-lg-n5{margin-bottom:-4rem!important}.margin-left-lg-n5,.margin-x-lg-n5{margin-left:-4rem!important}.margin-lg-auto{margin:auto!important}.margin-top-lg-auto,.margin-y-lg-auto{margin-top:auto!important}.margin-right-lg-auto,.margin-x-lg-auto{margin-right:auto!important}.margin-bottom-lg-auto,.margin-y-lg-auto{margin-bottom:auto!important}.margin-left-lg-auto,.margin-x-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.margin-xl-0{margin:0!important}.margin-top-xl-0,.margin-y-xl-0{margin-top:0!important}.margin-right-xl-0,.margin-x-xl-0{margin-right:0!important}.margin-bottom-xl-0,.margin-y-xl-0{margin-bottom:0!important}.margin-left-xl-0,.margin-x-xl-0{margin-left:0!important}.margin-xl-1{margin:.25rem!important}.margin-top-xl-1,.margin-y-xl-1{margin-top:.25rem!important}.margin-right-xl-1,.margin-x-xl-1{margin-right:.25rem!important}.margin-bottom-xl-1,.margin-y-xl-1{margin-bottom:.25rem!important}.margin-left-xl-1,.margin-x-xl-1{margin-left:.25rem!important}.margin-xl-2{margin:.5rem!important}.margin-top-xl-2,.margin-y-xl-2{margin-top:.5rem!important}.margin-right-xl-2,.margin-x-xl-2{margin-right:.5rem!important}.margin-bottom-xl-2,.margin-y-xl-2{margin-bottom:.5rem!important}.margin-left-xl-2,.margin-x-xl-2{margin-left:.5rem!important}.margin-xl-3{margin:1rem!important}.margin-top-xl-3,.margin-y-xl-3{margin-top:1rem!important}.margin-right-xl-3,.margin-x-xl-3{margin-right:1rem!important}.margin-bottom-xl-3,.margin-y-xl-3{margin-bottom:1rem!important}.margin-left-xl-3,.margin-x-xl-3{margin-left:1rem!important}.margin-xl-4{margin:2rem!important}.margin-top-xl-4,.margin-y-xl-4{margin-top:2rem!important}.margin-right-xl-4,.margin-x-xl-4{margin-right:2rem!important}.margin-bottom-xl-4,.margin-y-xl-4{margin-bottom:2rem!important}.margin-left-xl-4,.margin-x-xl-4{margin-left:2rem!important}.margin-xl-5{margin:4rem!important}.margin-top-xl-5,.margin-y-xl-5{margin-top:4rem!important}.margin-right-xl-5,.margin-x-xl-5{margin-right:4rem!important}.margin-bottom-xl-5,.margin-y-xl-5{margin-bottom:4rem!important}.margin-left-xl-5,.margin-x-xl-5{margin-left:4rem!important}.padding-xl-0{padding:0!important}.padding-top-xl-0,.padding-y-xl-0{padding-top:0!important}.padding-right-xl-0,.padding-x-xl-0{padding-right:0!important}.padding-bottom-xl-0,.padding-y-xl-0{padding-bottom:0!important}.padding-left-xl-0,.padding-x-xl-0{padding-left:0!important}.padding-xl-1{padding:.25rem!important}.padding-top-xl-1,.padding-y-xl-1{padding-top:.25rem!important}.padding-right-xl-1,.padding-x-xl-1{padding-right:.25rem!important}.padding-bottom-xl-1,.padding-y-xl-1{padding-bottom:.25rem!important}.padding-left-xl-1,.padding-x-xl-1{padding-left:.25rem!important}.padding-xl-2{padding:.5rem!important}.padding-top-xl-2,.padding-y-xl-2{padding-top:.5rem!important}.padding-right-xl-2,.padding-x-xl-2{padding-right:.5rem!important}.padding-bottom-xl-2,.padding-y-xl-2{padding-bottom:.5rem!important}.padding-left-xl-2,.padding-x-xl-2{padding-left:.5rem!important}.padding-xl-3{padding:1rem!important}.padding-top-xl-3,.padding-y-xl-3{padding-top:1rem!important}.padding-right-xl-3,.padding-x-xl-3{padding-right:1rem!important}.padding-bottom-xl-3,.padding-y-xl-3{padding-bottom:1rem!important}.padding-left-xl-3,.padding-x-xl-3{padding-left:1rem!important}.padding-xl-4{padding:2rem!important}.padding-top-xl-4,.padding-y-xl-4{padding-top:2rem!important}.padding-right-xl-4,.padding-x-xl-4{padding-right:2rem!important}.padding-bottom-xl-4,.padding-y-xl-4{padding-bottom:2rem!important}.padding-left-xl-4,.padding-x-xl-4{padding-left:2rem!important}.padding-xl-5{padding:4rem!important}.padding-top-xl-5,.padding-y-xl-5{padding-top:4rem!important}.padding-right-xl-5,.padding-x-xl-5{padding-right:4rem!important}.padding-bottom-xl-5,.padding-y-xl-5{padding-bottom:4rem!important}.padding-left-xl-5,.padding-x-xl-5{padding-left:4rem!important}.margin-xl-n1{margin:-.25rem!important}.margin-top-xl-n1,.margin-y-xl-n1{margin-top:-.25rem!important}.margin-right-xl-n1,.margin-x-xl-n1{margin-right:-.25rem!important}.margin-bottom-xl-n1,.margin-y-xl-n1{margin-bottom:-.25rem!important}.margin-left-xl-n1,.margin-x-xl-n1{margin-left:-.25rem!important}.margin-xl-n2{margin:-.5rem!important}.margin-top-xl-n2,.margin-y-xl-n2{margin-top:-.5rem!important}.margin-right-xl-n2,.margin-x-xl-n2{margin-right:-.5rem!important}.margin-bottom-xl-n2,.margin-y-xl-n2{margin-bottom:-.5rem!important}.margin-left-xl-n2,.margin-x-xl-n2{margin-left:-.5rem!important}.margin-xl-n3{margin:-1rem!important}.margin-top-xl-n3,.margin-y-xl-n3{margin-top:-1rem!important}.margin-right-xl-n3,.margin-x-xl-n3{margin-right:-1rem!important}.margin-bottom-xl-n3,.margin-y-xl-n3{margin-bottom:-1rem!important}.margin-left-xl-n3,.margin-x-xl-n3{margin-left:-1rem!important}.margin-xl-n4{margin:-2rem!important}.margin-top-xl-n4,.margin-y-xl-n4{margin-top:-2rem!important}.margin-right-xl-n4,.margin-x-xl-n4{margin-right:-2rem!important}.margin-bottom-xl-n4,.margin-y-xl-n4{margin-bottom:-2rem!important}.margin-left-xl-n4,.margin-x-xl-n4{margin-left:-2rem!important}.margin-xl-n5{margin:-4rem!important}.margin-top-xl-n5,.margin-y-xl-n5{margin-top:-4rem!important}.margin-right-xl-n5,.margin-x-xl-n5{margin-right:-4rem!important}.margin-bottom-xl-n5,.margin-y-xl-n5{margin-bottom:-4rem!important}.margin-left-xl-n5,.margin-x-xl-n5{margin-left:-4rem!important}.margin-xl-auto{margin:auto!important}.margin-top-xl-auto,.margin-y-xl-auto{margin-top:auto!important}.margin-right-xl-auto,.margin-x-xl-auto{margin-right:auto!important}.margin-bottom-xl-auto,.margin-y-xl-auto{margin-bottom:auto!important}.margin-left-xl-auto,.margin-x-xl-auto{margin-left:auto!important}}.h1{font-size:2em}.h2{font-size:1.5em}.h3{font-size:1.17em}.h4{font-size:1em}.h5{font-size:.83em}.h6{font-size:.67em}.cursor-alias{cursor:alias}.cursor-all-scroll{cursor:all-scroll}.cursor-auto{cursor:auto}.cursor-cell{cursor:cell}.cursor-context-menu{cursor:context-menu}.cursor-col-resize{cursor:col-resize}.cursor-copy{cursor:copy}.cursor-crosshair{cursor:crosshair}.cursor-default{cursor:default}.cursor-e-resize{cursor:e-resize}.cursor-ew-resize{cursor:ew-resize}.cursor-grab{cursor:-webkit-grab;cursor:grab}.cursor-grabbing{cursor:-webkit-grabbing;cursor:grabbing}.cursor-help{cursor:help}.cursor-move{cursor:move}.cursor-n-resize{cursor:n-resize}.cursor-ne-resize{cursor:ne-resize}.cursor-nesw-resize{cursor:nesw-resize}.cursor-ns-resize{cursor:ns-resize}.cursor-nw-resize{cursor:nw-resize}.cursor-nwse-resize{cursor:nwse-resize}.cursor-no-drop{cursor:no-drop}.cursor-none{cursor:none}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-progress{cursor:progress}.cursor-row-resize{cursor:row-resize}.cursor-s-resize{cursor:s-resize}.cursor-se-resize{cursor:se-resize}.cursor-sw-resize{cursor:sw-resize}.cursor-text{cursor:text}.cursor-w-resize{cursor:w-resize}.cursor-wait{cursor:wait}.cursor-zoom-in{cursor:zoom-in}.cursor-zoom-out{cursor:zoom-out}.mat-tooltip{font-size:15px!important}body,html{height:100%}body{font-family:opens sans regular,sans-serif;margin:0;padding:0}iframe{border:none}.mat-badge-content{font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px;font-weight:600}.mat-badge-small .mat-badge-content{font-size:9px}.mat-badge-large .mat-badge-content{font-size:24px}.mat-h1,.mat-headline,.mat-typography h1{font:400 24px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h2,.mat-title,.mat-typography h2{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h3,.mat-subheading-2,.mat-typography h3{font:400 16px/28px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h4,.mat-subheading-1,.mat-typography h4{font:400 15px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h5,.mat-typography h5{font:400 11.62px/20px Roboto,Helvetica Neue,sans-serif;margin:0 0 12px}.mat-h6,.mat-typography h6{font:400 9.38px/20px Roboto,Helvetica Neue,sans-serif;margin:0 0 12px}.mat-body-2,.mat-body-strong{font:500 14px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-body,.mat-body-1,.mat-typography{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-body-1 p,.mat-body p,.mat-typography p{margin:0 0 12px}.mat-caption,.mat-small{font:400 12px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-display-4,.mat-typography .mat-display-4{font:300 112px/112px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.05em;margin:0 0 56px}.mat-display-3,.mat-typography .mat-display-3{font:400 56px/56px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.02em;margin:0 0 64px}.mat-display-2,.mat-typography .mat-display-2{font:400 45px/48px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.005em;margin:0 0 64px}.mat-display-1,.mat-typography .mat-display-1{font:400 34px/40px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 64px}.mat-bottom-sheet-container{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-button,.mat-fab,.mat-flat-button,.mat-icon-button,.mat-mini-fab,.mat-raised-button,.mat-stroked-button{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:500}.mat-button-toggle,.mat-card{font-family:Roboto,Helvetica Neue,sans-serif}.mat-card-title{font-size:24px;font-weight:500}.mat-card-header .mat-card-title{font-size:20px}.mat-card-content,.mat-card-subtitle{font-size:14px}.mat-checkbox{font-family:Roboto,Helvetica Neue,sans-serif}.mat-checkbox-layout .mat-checkbox-label{line-height:24px}.mat-chip{font-size:14px;font-weight:500}.mat-chip .mat-chip-remove.mat-icon,.mat-chip .mat-chip-trailing-icon.mat-icon{font-size:18px}.mat-table{font-family:Roboto,Helvetica Neue,sans-serif}.mat-header-cell{font-size:12px;font-weight:500}.mat-cell,.mat-footer-cell{font-size:14px}.mat-calendar{font-family:Roboto,Helvetica Neue,sans-serif}.mat-calendar-body{font-size:13px}.mat-calendar-body-label,.mat-calendar-period-button{font-size:14px;font-weight:500}.mat-calendar-table-header th{font-size:11px;font-weight:400}.mat-dialog-title{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-expansion-panel-header{font-family:Roboto,Helvetica Neue,sans-serif;font-size:15px;font-weight:400}.mat-expansion-panel-content{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-form-field{font-family:Roboto,Helvetica Neue,sans-serif;font-size:inherit;font-weight:400;letter-spacing:normal;line-height:1.125}.mat-form-field-wrapper{padding-bottom:1.34375em}.mat-form-field-prefix .mat-icon,.mat-form-field-suffix .mat-icon{font-size:150%;line-height:1.125}.mat-form-field-prefix .mat-icon-button,.mat-form-field-suffix .mat-icon-button{height:1.5em;width:1.5em}.mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-suffix .mat-icon-button .mat-icon{height:1.125em;line-height:1.125}.mat-form-field-infix{border-top:.84375em solid transparent;padding:.5em 0}.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.34375em) scale(.75);width:133.33333%}.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.34374em) scale(.75);width:133.33334%}.mat-form-field-label-wrapper{padding-top:.84375em;top:-.84375em}.mat-form-field-label{top:1.34375em}.mat-form-field-underline{bottom:1.34375em}.mat-form-field-subscript-wrapper{font-size:75%;margin-top:.66667em;top:calc(100% - 1.79167em)}.mat-form-field-appearance-legacy .mat-form-field-wrapper{padding-bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-infix{padding:.4375em 0}.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{-ms-transform:translateY(-1.28125em) scale(.75);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);width:133.33333%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{-ms-transform:translateY(-1.28124em) scale(.75);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);width:133.33334%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-ms-transform:translateY(-1.28123em) scale(.75);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);width:133.33335%}.mat-form-field-appearance-legacy .mat-form-field-label{top:1.28125em}.mat-form-field-appearance-legacy .mat-form-field-underline{bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-subscript-wrapper{margin-top:.54167em;top:calc(100% - 1.66667em)}@media print{.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28122em) scale(.75)}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28121em) scale(.75)}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.2812em) scale(.75)}}.mat-form-field-appearance-fill .mat-form-field-infix{padding:.25em 0 .75em}.mat-form-field-appearance-fill .mat-form-field-label{margin-top:-.5em;top:1.09375em}.mat-form-field-appearance-fill.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-.59375em) scale(.75);width:133.33333%}.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-.59374em) scale(.75);width:133.33334%}.mat-form-field-appearance-outline .mat-form-field-infix{padding:1em 0}.mat-form-field-appearance-outline .mat-form-field-label{margin-top:-.25em;top:1.84375em}.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.59375em) scale(.75);width:133.33333%}.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.59374em) scale(.75);width:133.33334%}.mat-grid-tile-footer,.mat-grid-tile-header{font-size:14px}.mat-grid-tile-footer .mat-line,.mat-grid-tile-header .mat-line{box-sizing:border-box;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-grid-tile-footer .mat-line:nth-child(n+2),.mat-grid-tile-header .mat-line:nth-child(n+2){font-size:12px}input.mat-input-element{margin-top:-.0625em}.mat-menu-item{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:400}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px}.mat-radio-button,.mat-select{font-family:Roboto,Helvetica Neue,sans-serif}.mat-select-trigger{height:1.125em}.mat-slide-toggle-content,.mat-slider-thumb-label-text{font-family:Roboto,Helvetica Neue,sans-serif}.mat-slider-thumb-label-text{font-size:12px;font-weight:500}.mat-stepper-horizontal,.mat-stepper-vertical{font-family:Roboto,Helvetica Neue,sans-serif}.mat-step-label{font-size:14px;font-weight:400}.mat-step-sub-label-error{font-weight:400}.mat-step-label-error{font-size:14px}.mat-step-label-selected{font-size:14px;font-weight:500}.mat-tab-group,.mat-tab-label,.mat-tab-link{font-family:Roboto,Helvetica Neue,sans-serif}.mat-tab-label,.mat-tab-link{font-size:14px;font-weight:500}.mat-toolbar,.mat-toolbar h1,.mat-toolbar h2,.mat-toolbar h3,.mat-toolbar h4,.mat-toolbar h5,.mat-toolbar h6{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0}.mat-tooltip{font-family:Roboto,Helvetica Neue,sans-serif;font-size:10px;padding-bottom:6px;padding-top:6px}.mat-tooltip-handset{font-size:14px;padding-bottom:8px;padding-top:8px}.mat-list-item,.mat-list-option{font-family:Roboto,Helvetica Neue,sans-serif}.mat-list-base .mat-list-item{font-size:16px}.mat-list-base .mat-list-item .mat-line{box-sizing:border-box;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-list-base .mat-list-item .mat-line:nth-child(n+2){font-size:14px}.mat-list-base .mat-list-option{font-size:16px}.mat-list-base .mat-list-option .mat-line{box-sizing:border-box;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-list-base .mat-list-option .mat-line:nth-child(n+2){font-size:14px}.mat-list-base .mat-subheader{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:500}.mat-list-base[dense] .mat-list-item{font-size:12px}.mat-list-base[dense] .mat-list-item .mat-line{box-sizing:border-box;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-list-base[dense] .mat-list-item .mat-line:nth-child(n+2),.mat-list-base[dense] .mat-list-option{font-size:12px}.mat-list-base[dense] .mat-list-option .mat-line{box-sizing:border-box;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-list-base[dense] .mat-list-option .mat-line:nth-child(n+2){font-size:12px}.mat-list-base[dense] .mat-subheader{font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px;font-weight:500}.mat-option{font-family:Roboto,Helvetica Neue,sans-serif;font-size:16px}.mat-optgroup-label{font:500 14px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-simple-snackbar{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px}.mat-simple-snackbar-action{font-family:inherit;font-size:inherit;font-weight:500;line-height:1}.mat-tree{font-family:Roboto,Helvetica Neue,sans-serif}.mat-nested-tree-node,.mat-tree-node{font-size:14px;font-weight:400}.mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{border-radius:50%;pointer-events:none;position:absolute;transform:scale(0);transition:opacity,transform 0ms cubic-bezier(0,0,.2,1)}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{-moz-appearance:none;-webkit-appearance:none;border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;outline:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.cdk-global-overlay-wrapper,.cdk-overlay-container{height:100%;left:0;pointer-events:none;top:0;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper,.cdk-overlay-pane{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{box-sizing:border-box;max-height:100%;max-width:100%;pointer-events:auto}.cdk-overlay-backdrop{-webkit-tap-highlight-color:transparent;bottom:0;left:0;opacity:0;pointer-events:auto;position:absolute;right:0;top:0;transition:opacity .4s cubic-bezier(.25,.8,.25,1);z-index:1000}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.32)}.cdk-overlay-transparent-backdrop,.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0}.cdk-overlay-connected-position-bounding-box{display:flex;flex-direction:column;min-height:1px;min-width:1px;position:absolute;z-index:1000}.cdk-global-scrollblock{overflow-y:scroll;position:fixed;width:100%}@-webkit-keyframes cdk-text-field-autofill-start{\n /*!*/}@keyframes cdk-text-field-autofill-start{\n /*!*/}@-webkit-keyframes cdk-text-field-autofill-end{\n /*!*/}@keyframes cdk-text-field-autofill-end{\n /*!*/}.cdk-text-field-autofill-monitored:-webkit-autofill{-webkit-animation:cdk-text-field-autofill-start 0s 1ms;animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){-webkit-animation:cdk-text-field-autofill-end 0s 1ms;animation:cdk-text-field-autofill-end 0s 1ms}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{box-sizing:content-box!important;height:auto!important;overflow:hidden!important;padding:2px 0!important}textarea.cdk-textarea-autosize-measuring-firefox{box-sizing:content-box!important;height:0!important;padding:2px 0!important}.mat-focus-indicator,.mat-mdc-focus-indicator{position:relative}.header,.title{font-family:Encode Sans Condensed,sans-serif;font-weight:900}.paragraph-title,.tagline{font-family:Open Sans,sans-serif;font-weight:400}.paragraph-title-bold .tagLine-bold{font-family:Open Sans,sans-serif;font-weight:700}.plain-text,.remarks{font-family:Open Sans,sans-serif;font-weight:300}.plain-text-bold{font-family:Open Sans,sans-serif;font-weight:700}.flex-column{flex-direction:column}.flex-column,.flex-row{box-sizing:border-box;display:flex}.flex-row{flex-direction:row}.flex-row-center{align-items:center;justify-content:center}.mat-button-large{font-size:18px;font-weight:700;line-height:48px;padding:0 24px!important}.mat-round{border-radius:.5em}:root{--background:#050505;--cyan-accent:rgba(132,255,255,0.75);--green-accent:#00e676;--initial-accent:#9cd8d7;--initial-dark-background:#222;--initial-dark-text:hsla(0,0%,100%,0.87);--initial-light-background:#f2f2f2;--initial-light-background:#fff;--initial-light-text:rgba(0,0,0,0.87);--initial-primary:#4a918e;--initial-warn:#ef4351;--orange-accent:#ff9800;--pink-accent:#e91e63;--purple-accent:#9c27b0;--success:#00e676;--yellow-accent:#fdd835}body{background-color:var(--initial-dark-background)}:host .valid-control{color:var(--green-accent)}:host .invalid-control{color:var(--theme-warn-500)}:host .actions .item:not(:last-child){margin-right:0}:host .project-thumbnail img{height:50px;width:auto}:host .active{background-color:var(--theme-accent-400)}:host .active,:host .inactive{transition:background-color 1s linear}:host .inactive{background-color:rgba(242,245,169,0)}:host .expansion-panel{margin-bottom:10px;width:100%}:host .expansion-container{max-height:300px;overflow-y:auto}:host .divider-fill-vert{background-color:var(--theme-accent-500);bottom:10%;min-height:100%;min-width:5px;top:10%}:host .divider-fill-hor{background-color:var(--theme-accent-500);height:5px;width:100%}:host .form-disabled{background-color:#797979;border-radius:4px;opacity:.5}@media (max-width:768px){.spread{margin:1em!important}}@media (max-width:480px){.spread{margin:.5em!important}}.spinner-logo{display:none!important}:host ::ng-deep .apps-actions{float:right}:host ::ng-deep .mat-card .mat-card-content{overflow:hidden;text-align:center}:host ::ng-deep .mat-card .mat-card-actions .data-app-actions{display:none!important}:host ::ng-deep .mat-card .mat-card-actions .data-app-fakes{display:flex!important}:host ::ng-deep .mat-card .mat-card-actions .data-app-fakes .mat-icon{font-size:8px}:host ::ng-deep .mat-card:hover .mat-card-actions .data-app-actions{display:flex!important}:host ::ng-deep .mat-card:hover .mat-card-actions .data-app-fakes{display:none!important}:host ::ng-deep .mat-subtitle .mat-chip-list{display:inline-block}:host ::ng-deep .mat-form-field{margin-bottom:.5em;margin-top:.5em}:host ::ng-deep .mat-form-field.with-hint{margin-bottom:1em}@media (max-width:768px){:host ::ng-deep .form-card{width:100%}:host ::ng-deep .mat-card .mat-card-actions .data-app-actions{display:flex!important}:host ::ng-deep .mat-card .mat-card-actions .data-app-fakes{display:none!important}}:host ::ng-deep .domain-item{border:1px solid var(--theme-accent-500);border-radius:5}"]
3223
3241
  },] }
3224
3242
  ];
@@ -3229,12 +3247,473 @@
3229
3247
  ]; };
3230
3248
  AppsFlowComponent.propDecorators = {
3231
3249
  Data: [{ type: i0.Input, args: ['data',] }],
3232
- HostingDetailsFormControls: [{ type: i0.ViewChild, args: [HostingDetailsFormGroupComponent,] }],
3233
3250
  SourceControlFormControls: [{ type: i0.ViewChild, args: [SourceControlFormControlsComponent,] }]
3234
3251
  };
3235
3252
 
3236
- var ProjectTabsComponent = /** @class */ (function () {
3237
- function ProjectTabsComponent() {
3253
+ var DevOpsComponent = /** @class */ (function () {
3254
+ // Constructors
3255
+ function DevOpsComponent(formBldr, appsFlowSvc, appsFlowEventsSvc) {
3256
+ this.formBldr = formBldr;
3257
+ this.appsFlowSvc = appsFlowSvc;
3258
+ this.appsFlowEventsSvc = appsFlowEventsSvc;
3259
+ this.EditingSourceControlLookup = null;
3260
+ this.HostingDetails = new ProjectHostingDetails();
3261
+ }
3262
+ Object.defineProperty(DevOpsComponent.prototype, "Artifact", {
3263
+ get: function () {
3264
+ return this.Data.Environment.Artifacts && this.ArtifactLookup
3265
+ ? this.Data.Environment.Artifacts[this.ArtifactLookup] || {}
3266
+ : {};
3267
+ },
3268
+ enumerable: false,
3269
+ configurable: true
3270
+ });
3271
+ Object.defineProperty(DevOpsComponent.prototype, "ArtifactLookup", {
3272
+ get: function () {
3273
+ var _a, _b;
3274
+ var artLookup = ((_a = this.DevOpsAction) === null || _a === void 0 ? void 0 : _a.ArtifactLookups) ? (_b = this.DevOpsAction) === null || _b === void 0 ? void 0 : _b.ArtifactLookups[0] : null;
3275
+ return artLookup;
3276
+ },
3277
+ enumerable: false,
3278
+ configurable: true
3279
+ });
3280
+ Object.defineProperty(DevOpsComponent.prototype, "DefaultFileFormControl", {
3281
+ get: function () {
3282
+ var _a;
3283
+ return (_a = this.DevOpsFormGroup) === null || _a === void 0 ? void 0 : _a.controls.defaultFile;
3284
+ },
3285
+ enumerable: false,
3286
+ configurable: true
3287
+ });
3288
+ Object.defineProperty(DevOpsComponent.prototype, "DevOpsAction", {
3289
+ get: function () {
3290
+ return this.Data.Environment.DevOpsActions && this.DevOpsActionLookup
3291
+ ? this.Data.Environment.DevOpsActions[this.DevOpsActionLookup] || {}
3292
+ : {};
3293
+ },
3294
+ enumerable: false,
3295
+ configurable: true
3296
+ });
3297
+ Object.defineProperty(DevOpsComponent.prototype, "DevOpsActionLookup", {
3298
+ get: function () {
3299
+ var _a, _b, _c;
3300
+ if (!!((_a = this.DevOpsActionLookupFormControl) === null || _a === void 0 ? void 0 : _a.value)) {
3301
+ return this.DevOpsActionLookupFormControl.value;
3302
+ }
3303
+ if (!!((_b = this.EditingSourceControl) === null || _b === void 0 ? void 0 : _b.DevOpsActionTriggerLookups)) {
3304
+ return (_c = this.EditingSourceControl) === null || _c === void 0 ? void 0 : _c.DevOpsActionTriggerLookups[0];
3305
+ }
3306
+ else {
3307
+ return null;
3308
+ }
3309
+ },
3310
+ enumerable: false,
3311
+ configurable: true
3312
+ });
3313
+ Object.defineProperty(DevOpsComponent.prototype, "DevOpsActionLookups", {
3314
+ get: function () {
3315
+ return Object.keys(this.DevOpsActions || {});
3316
+ },
3317
+ enumerable: false,
3318
+ configurable: true
3319
+ });
3320
+ Object.defineProperty(DevOpsComponent.prototype, "DevOpsActionLookupFormControl", {
3321
+ get: function () {
3322
+ return this.DevOpsFormGroup.get('devOpsActionLookup');
3323
+ },
3324
+ enumerable: false,
3325
+ configurable: true
3326
+ });
3327
+ Object.defineProperty(DevOpsComponent.prototype, "DevOpsActions", {
3328
+ get: function () {
3329
+ return this.Data.Environment.DevOpsActions || {};
3330
+ },
3331
+ enumerable: false,
3332
+ configurable: true
3333
+ });
3334
+ Object.defineProperty(DevOpsComponent.prototype, "EditingSourceControl", {
3335
+ get: function () {
3336
+ var _a, _b, _c, _d;
3337
+ var sc = ((_b = (_a = this.Data) === null || _a === void 0 ? void 0 : _a.Environment) === null || _b === void 0 ? void 0 : _b.Sources) ? (_d = (_c = this.Data) === null || _c === void 0 ? void 0 : _c.Environment) === null || _d === void 0 ? void 0 : _d.Sources[this.EditingSourceControlLookup] : null;
3338
+ if (sc == null && this.EditingSourceControlLookup) {
3339
+ sc = {};
3340
+ }
3341
+ return sc;
3342
+ },
3343
+ enumerable: false,
3344
+ configurable: true
3345
+ });
3346
+ Object.defineProperty(DevOpsComponent.prototype, "SourceControlLookups", {
3347
+ get: function () {
3348
+ return Object.keys(this.SourceControls || {});
3349
+ },
3350
+ enumerable: false,
3351
+ configurable: true
3352
+ });
3353
+ Object.defineProperty(DevOpsComponent.prototype, "SourceControls", {
3354
+ get: function () {
3355
+ return this.Data.Environment.Sources || {};
3356
+ },
3357
+ enumerable: false,
3358
+ configurable: true
3359
+ });
3360
+ // Life Cycle
3361
+ DevOpsComponent.prototype.ngOnInit = function () {
3362
+ var _a;
3363
+ if (((_a = this.SourceControlLookups) === null || _a === void 0 ? void 0 : _a.length) <= 0) {
3364
+ this.CreateNewSourceControl();
3365
+ }
3366
+ };
3367
+ // API Methods
3368
+ DevOpsComponent.prototype.BranchesChanged = function (branches) {
3369
+ this.loadProjectHostingDetails();
3370
+ };
3371
+ DevOpsComponent.prototype.CreateNewSourceControl = function () {
3372
+ this.SetEditingSourceControl(i2.Guid.CreateRaw());
3373
+ };
3374
+ DevOpsComponent.prototype.DeleteSourceControl = function (scLookup) {
3375
+ if (confirm("Are you sure you want to delete source control '" + scLookup + "'?")) {
3376
+ this.appsFlowEventsSvc.DeleteSourceControl(scLookup);
3377
+ }
3378
+ };
3379
+ DevOpsComponent.prototype.DevOpsActionLookupChanged = function (event) {
3380
+ this.configureDevOpsAction();
3381
+ };
3382
+ DevOpsComponent.prototype.SaveEnvironment = function () {
3383
+ var _a;
3384
+ var saveEnvReq = {
3385
+ Environment: Object.assign(Object.assign({}, this.Data.Environment), { Artifacts: this.Data.Environment.Artifacts || {}, DevOpsActions: this.Data.Environment.DevOpsActions || {}, Secrets: this.Data.Environment.Secrets || {}, Sources: this.Data.Environment.Sources || {} }),
3386
+ EnvironmentLookup: this.Data.EnvironmentLookup,
3387
+ EnterpriseDataTokens: {},
3388
+ };
3389
+ var artifactLookup;
3390
+ var artifact = Object.assign(Object.assign({}, this.Artifact), this.HostingDetailsFormControls
3391
+ .SelectedHostingOptionInputControlValues);
3392
+ if (!this.ArtifactLookup) {
3393
+ artifactLookup = i2.Guid.CreateRaw();
3394
+ artifact = Object.assign(Object.assign({}, artifact), { Type: this.HostingDetailsFormControls.SelectedHostingOption
3395
+ .ArtifactType, Name: this.HostingDetailsFormControls.SelectedHostingOption.Name, NPMRegistry: 'https://registry.npmjs.org/' });
3396
+ }
3397
+ saveEnvReq.Environment.Artifacts[artifactLookup] = artifact;
3398
+ var devOpsActionLookup;
3399
+ if (!this.DevOpsActionLookup) {
3400
+ devOpsActionLookup = i2.Guid.CreateRaw();
3401
+ var secretLookup = 'npm-access-token';
3402
+ var doa = Object.assign(Object.assign({}, this.DevOpsAction), { ArtifactLookups: [artifactLookup], Name: this.HostingDetailsFormControls.SelectedHostingOption.Name, Path: this.HostingDetailsFormControls.SelectedHostingOption.Path, SecretLookups: [secretLookup], Templates: this.HostingDetailsFormControls.SelectedHostingOption.Templates });
3403
+ saveEnvReq.Environment.DevOpsActions[devOpsActionLookup] = doa;
3404
+ if ((_a = this.HostingDetailsFormControls.NPMTokenFormControl) === null || _a === void 0 ? void 0 : _a.value) {
3405
+ saveEnvReq.Environment.Secrets[secretLookup] = {
3406
+ Name: 'NPM Access Token',
3407
+ DataTokenLookup: secretLookup,
3408
+ KnownAs: 'NPM_TOKEN',
3409
+ };
3410
+ saveEnvReq.EnterpriseDataTokens[secretLookup] = {
3411
+ Name: saveEnvReq.Environment.Secrets[secretLookup].Name,
3412
+ Description: saveEnvReq.Environment.Secrets[secretLookup].Name,
3413
+ Value: this.HostingDetailsFormControls.NPMTokenFormControl.value,
3414
+ };
3415
+ }
3416
+ }
3417
+ else {
3418
+ devOpsActionLookup = this.DevOpsActionLookupFormControl.value;
3419
+ }
3420
+ var source = Object.assign(Object.assign({}, this.EditingSourceControl), { Branches: this.SourceControlFormControls.SelectedBranches, MainBranch: this.SourceControlFormControls.MainBranchFormControl.value });
3421
+ source = Object.assign(Object.assign({}, source), { Type: 'GitHub', Name: this.EditingSourceControlLookup, DevOpsActionTriggerLookups: [devOpsActionLookup], Organization: this.SourceControlFormControls.OrganizationFormControl.value, Repository: this.SourceControlFormControls.RepositoryFormControl.value });
3422
+ var scLookup = "github://" + source.Organization + "/" + source.Repository;
3423
+ saveEnvReq.Environment.Sources[scLookup] = source;
3424
+ this.appsFlowEventsSvc.SaveEnvironmentAsCode(saveEnvReq);
3425
+ };
3426
+ DevOpsComponent.prototype.SetEditingSourceControl = function (scLookup) {
3427
+ this.EditingSourceControlLookup = scLookup;
3428
+ this.setupDevOpsForm();
3429
+ };
3430
+ // Helpers
3431
+ DevOpsComponent.prototype.configureDevOpsAction = function () {
3432
+ var _this = this;
3433
+ setTimeout(function () {
3434
+ _this.DevOpsActionLookupFormControl.setValue(_this.DevOpsActionLookup);
3435
+ setTimeout(function () {
3436
+ var _a, _b, _c, _d;
3437
+ var hostOption = (_b = (_a = _this.HostingDetails) === null || _a === void 0 ? void 0 : _a.HostingOptions) === null || _b === void 0 ? void 0 : _b.find(function (ho) { return ho.Path === _this.DevOpsAction.Path; });
3438
+ (_c = _this.HostingDetailsFormControls) === null || _c === void 0 ? void 0 : _c.BuildPipelineFormControl.setValue(hostOption === null || hostOption === void 0 ? void 0 : hostOption.Lookup);
3439
+ (_d = _this.HostingDetailsFormControls) === null || _d === void 0 ? void 0 : _d.BuildPipelineChanged();
3440
+ }, 0);
3441
+ }, 0);
3442
+ };
3443
+ DevOpsComponent.prototype.loadProjectHostingDetails = function () {
3444
+ var _this = this;
3445
+ var _a, _b, _c, _d, _e, _f, _g, _h;
3446
+ if (((_b = (_a = this.SourceControlFormControls) === null || _a === void 0 ? void 0 : _a.SelectedBranches) === null || _b === void 0 ? void 0 : _b.length) > 0) {
3447
+ this.HostingDetails.Loading = true;
3448
+ this.appsFlowSvc
3449
+ .LoadProjectHostingDetails((_d = (_c = this.SourceControlFormControls) === null || _c === void 0 ? void 0 : _c.OrganizationFormControl) === null || _d === void 0 ? void 0 : _d.value, (_f = (_e = this.SourceControlFormControls) === null || _e === void 0 ? void 0 : _e.RepositoryFormControl) === null || _f === void 0 ? void 0 : _f.value, (_h = (_g = this.SourceControlFormControls) === null || _g === void 0 ? void 0 : _g.MainBranchFormControl) === null || _h === void 0 ? void 0 : _h.value)
3450
+ .subscribe(function (response) {
3451
+ _this.HostingDetails = response.Model;
3452
+ _this.HostingDetails.Loading = false;
3453
+ _this.configureDevOpsAction();
3454
+ }, function (err) {
3455
+ _this.HostingDetails.Loading = false;
3456
+ });
3457
+ }
3458
+ };
3459
+ DevOpsComponent.prototype.setupDevOpsForm = function () {
3460
+ if (this.EditingSourceControl != null) {
3461
+ this.DevOpsFormGroup = this.formBldr.group({});
3462
+ this.setupBuildForm();
3463
+ }
3464
+ };
3465
+ DevOpsComponent.prototype.setupBuildForm = function () {
3466
+ this.DevOpsFormGroup.addControl('devOpsActionLookup', this.formBldr.control(this.DevOpsActionLookup || '', []));
3467
+ };
3468
+ return DevOpsComponent;
3469
+ }());
3470
+ DevOpsComponent.decorators = [
3471
+ { type: i0.Component, args: [{
3472
+ selector: 'lcu-devops',
3473
+ template: "<div>\n <form\n [formGroup]=\"DevOpsFormGroup\"\n (ngSubmit)=\"SaveEnvironment()\"\n *ngIf=\"EditingSourceControl\"\n >\n <div\n fxLayout=\"row wrap\"\n fxLayoutAlign=\"center start\"\n fxLayout.lt-md=\"column\"\n >\n <div class=\"form-card\" fxFlex=\"35%\" fxFlex.lt-md=\"100%\">\n <mat-card class=\"spread\">\n <mat-card-header>\n <mat-card-title> Source Control </mat-card-title>\n\n <div fxFlex></div>\n\n <mat-icon\n matSuffix\n matTooltip=\"Configure source control, DevOps CI/CD, and artifacts.\"\n >\n info_outline\n </mat-icon>\n </mat-card-header>\n\n <mat-card-content>\n <lcu-source-control-form-controls\n [branches-disabled]=\"HostingDetails?.Loading\"\n [form-group]=\"DevOpsFormGroup\"\n [org-disabled]=\"HostingDetails?.Loading\"\n [repo-disabled]=\"HostingDetails?.Loading\"\n [source-control]=\"EditingSourceControl\"\n (branches-changed)=\"BranchesChanged($event)\"\n ></lcu-source-control-form-controls>\n </mat-card-content>\n </mat-card>\n </div>\n\n <div class=\"form-card\" fxFlex=\"35%\" fxFlex.lt-md=\"100%\">\n <mat-card\n class=\"spread\"\n *ngIf=\"\n SourceControlFormControls?.SelectedBranches?.length > 0 ||\n EditingSourceControl?.Branches?.length > 0\n \"\n >\n <mat-card-header>\n <mat-card-title> Build Pipeline </mat-card-title>\n\n <mat-hint>\n Changes made here are reflected for all sources using this\n DevOpsAction\n </mat-hint>\n </mat-card-header>\n\n <mat-card-content>\n <mat-form-field class=\"mat-full-width\">\n <mat-select\n formControlName=\"devOpsActionLookup\"\n placeholder=\"DevOps Action\"\n [disabled]=\"\n SourceControlLookupFormControl?.value ||\n SourceControlFormControls?.Loading ||\n HostingDetails?.Loading\n \"\n (selectionChange)=\"DevOpsActionLookupChanged($event)\"\n >\n <ng-container\n *ngFor=\"let devOpsActionLookup of DevOpsActionLookups\"\n >\n <mat-option\n [value]=\"devOpsActionLookup\"\n *ngIf=\"DevOpsActions[devOpsActionLookup]; let devOpsAction\"\n >\n {{ devOpsAction.Name }}\n </mat-option>\n </ng-container>\n\n <mat-option value=\"\">-- Create New --</mat-option>\n </mat-select>\n </mat-form-field>\n\n <lcu-hosting-details-form-group\n [artifact]=\"Artifact\"\n [details]=\"HostingDetails\"\n [formGroup]=\"DevOpsFormGroup\"\n [organization]=\"\n SourceControlFormControls?.OrganizationFormControl?.value\n \"\n [disabled]=\"\n !!DevOpsActionLookupFormControl?.value ||\n SourceControlFormControls?.Loading ||\n HostingDetails?.Loading\n \"\n ></lcu-hosting-details-form-group>\n </mat-card-content>\n </mat-card>\n </div>\n </div>\n\n <div class=\"spread\">\n <div fxFlex></div>\n\n <button mat-button type=\"button\" (click)=\"SetEditingSourceControl(null)\">\n <mat-icon>cancel</mat-icon> Cancel\n </button>\n\n <div fxFlex></div>\n\n <button\n mat-raised-button\n type=\"submit\"\n color=\"primary\"\n [disabled]=\"!DevOpsFormGroup.valid || !DevOpsFormGroup.dirty\"\n >\n <mat-icon>save</mat-icon> Save Application\n </button>\n\n <div fxFlex></div>\n </div>\n </form>\n\n <div class=\"spread\" *ngIf=\"!EditingSourceControl\">\n <span class=\"apps-actions\">\n <button\n mat-raised-button\n color=\"accent\"\n (click)=\"CreateNewSourceControl()\"\n >\n <mat-icon color=\"primary\">add</mat-icon> Create New\n </button>\n </span>\n\n <div class=\"spread\">\n <div *ngIf=\"SourceControlLookups?.length <= 0\">\n <h2>No source controls created, create your first source control.</h2>\n </div>\n\n <div *ngIf=\"SourceControlLookups?.length > 0\">\n <h2>Source Controls</h2>\n\n <div fxLayout=\"row wrap\" fxLayout.lt-md=\"column\">\n <div\n fxFlex=\"30%\"\n fxFlex.lt-md=\"100%\"\n *ngFor=\"let sourceControlLookup of SourceControlLookups\"\n >\n <mat-card class=\"spread\">\n <mat-card-header>\n <!-- <img mat-card-avatar=\"/assets/images/project-icon.png\" /> -->\n\n <mat-card-title\n class=\"mat-subheading-2\"\n [matTooltip]=\"sourceControlLookup\"\n >\n {{ sourceControlLookup }}\n </mat-card-title>\n </mat-card-header>\n\n <mat-card-content>\n <div class=\"spread\"></div>\n </mat-card-content>\n\n <mat-card-actions>\n <div class=\"data-app-actions\">\n <div fxFlex></div>\n\n <button\n mat-icon-button\n color=\"accent\"\n (click)=\"SetEditingSourceControl(sourceControlLookup)\"\n >\n <mat-icon matTooltip=\"Edit Source Control\">\n settings\n </mat-icon>\n </button>\n\n <button\n mat-icon-button\n color=\"warn\"\n (click)=\"DeleteSourceControl(sourceControlLookup)\"\n >\n <mat-icon matTooltip=\"Delete {{ sourceControlLookup }}\">\n delete_forever\n </mat-icon>\n </button>\n </div>\n\n <div class=\"data-app-fakes\">\n <div fxFlex></div>\n\n <button mat-icon-button disabled>\n <mat-icon>fiber_manual_record</mat-icon>\n </button>\n\n <button mat-icon-button disabled>\n <mat-icon>fiber_manual_record</mat-icon>\n </button>\n </div>\n </mat-card-actions>\n </mat-card>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n",
3474
+ styles: ["@import url(\"https://fonts.googleapis.com/icon?family=Material+Icons\");@import url(\"https://fonts.googleapis.com/css?family=Encode+Sans+Condensed:400,900&display=swap\");@import url(\"https://fonts.googleapis.com/css?family=Open+Sans:300,400,700&display=swap\");.disable-autofill-background-default input:-webkit-autofill,.disable-autofill-background-default input:-webkit-autofill:focus,.disable-autofill-background-default input:-webkit-autofill:hover,.disable-autofill-background-default select:-webkit-autofill,.disable-autofill-background-default select:-webkit-autofill:focus,.disable-autofill-background-default select:-webkit-autofill:hover,.disable-autofill-background-default textarea:-webkit-autofill,.disable-autofill-background-default textarea:-webkit-autofill:focus,.disable-autofill-background-default textarea:-webkit-autofill:hover{-webkit-transition:background-color 5000s!important;transition:background-color 5000s!important}.list-item-disabled{cursor:not-allowed!important;filter:alpha(opacity=50);opacity:.5}.filler{display:inline-block!important;flex:1 1 auto}.sticky{position:sticky;top:0;z-index:750}.inline{display:inline-block}.contents,.page-element{display:contents}.mat-spinner{margin:auto}.mat-full-width{width:100%}.spread{margin:2rem}.spread-thin{margin:1rem}.overlay{position:sticky!important}.overlay.top{top:0}.overlay.bottom{bottom:0}.margin-0{margin:0!important}.margin-top-0,.margin-y-0{margin-top:0!important}.margin-right-0,.margin-x-0{margin-right:0!important}.margin-bottom-0,.margin-y-0{margin-bottom:0!important}.margin-left-0,.margin-x-0{margin-left:0!important}.margin-1{margin:.25rem!important}.margin-top-1,.margin-y-1{margin-top:.25rem!important}.margin-right-1,.margin-x-1{margin-right:.25rem!important}.margin-bottom-1,.margin-y-1{margin-bottom:.25rem!important}.margin-left-1,.margin-x-1{margin-left:.25rem!important}.margin-2{margin:.5rem!important}.margin-top-2,.margin-y-2{margin-top:.5rem!important}.margin-right-2,.margin-x-2{margin-right:.5rem!important}.margin-bottom-2,.margin-y-2{margin-bottom:.5rem!important}.margin-left-2,.margin-x-2{margin-left:.5rem!important}.margin-3{margin:1rem!important}.margin-top-3,.margin-y-3{margin-top:1rem!important}.margin-top-bottom-3{margin:1rem 0!important}.margin-right-3,.margin-x-3{margin-right:1rem!important}.margin-bottom-3,.margin-y-3{margin-bottom:1rem!important}.margin-left-3,.margin-x-3{margin-left:1rem!important}.margin-4{margin:2rem!important}.margin-top-4,.margin-y-4{margin-top:2rem!important}.margin-right-4,.margin-x-4{margin-right:2rem!important}.margin-bottom-4,.margin-y-4{margin-bottom:2rem!important}.margin-left-4,.margin-x-4{margin-left:2rem!important}.margin-right-5,.margin-x-5{margin-right:4rem!important}.margin-bottom-5,.margin-y-5{margin-bottom:4rem!important}.margin-left-5,.margin-x-5{margin-left:4rem!important}.margin-5{margin:4rem!important}.margin-top-5,.margin-y-5{margin-top:4rem!important}.margin-right-6,.margin-x-6{margin-right:4.5rem!important}.margin-bottom-6,.margin-y-6{margin-bottom:4.5rem!important}.margin-left-6,.margin-x-6{margin-left:4.5rem!important}.margin-7{margin:6rem!important}.margin-top-7,.margin-y-7{margin-top:6rem!important}.margin-right-7,.margin-x-7{margin-right:6rem!important}.margin-bottom-7,.margin-y-7{margin-bottom:6rem!important}.margin-left-7,.margin-x-7{margin-left:6rem!important}.margin-8{margin:7.5rem!important}.margin-top-8,.margin-y-8{margin-top:7.5rem!important}.margin-right-8,.margin-x-8{margin-right:7.5rem!important}.margin-bottom-8,.margin-y-8{margin-bottom:7.5rem!important}.margin-left-8,.margin-x-8{margin-left:7.5rem!important}.margin-9{margin:9rem!important}.margin-top-9,.margin-y-9{margin-top:9rem!important}.margin-right-9,.margin-x-9{margin-right:9rem!important}.margin-bottom-9,.margin-y-9{margin-bottom:9rem!important}.margin-left-9,.margin-x-9{margin-left:9rem!important}.padding-0{padding:0!important}.padding-top-0,.padding-y-0{padding-top:0!important}.padding-right-0,.padding-x-0{padding-right:0!important}.padding-bottom-0,.padding-y-0{padding-bottom:0!important}.padding-left-0,.padding-x-0{padding-left:0!important}.padding-1{padding:.25rem!important}.padding-top-1,.padding-y-1{padding-top:.25rem!important}.padding-right-1,.padding-x-1{padding-right:.25rem!important}.padding-bottom-1,.padding-y-1{padding-bottom:.25rem!important}.padding-left-1,.padding-x-1{padding-left:.25rem!important}.padding-2{padding:.5rem!important}.padding-top-2,.padding-y-2{padding-top:.5rem!important}.padding-right-2,.padding-x-2{padding-right:.5rem!important}.padding-bottom-2,.padding-y-2{padding-bottom:.5rem!important}.padding-left-2,.padding-x-2{padding-left:.5rem!important}.padding-3{padding:1rem!important}.padding-top-3,.padding-y-3{padding-top:1rem!important}.padding-right-3,.padding-x-3{padding-right:1rem!important}.padding-bottom-3,.padding-y-3{padding-bottom:1rem!important}.padding-left-3,.padding-x-3{padding-left:1rem!important}.padding-4{padding:2rem!important}.padding-top-4,.padding-y-4{padding-top:2rem!important}.padding-right-4,.padding-x-4{padding-right:2rem!important}.padding-bottom-4,.padding-y-4{padding-bottom:2rem!important}.padding-left-4,.padding-x-4{padding-left:2rem!important}.padding-5{padding:4rem!important}.padding-top-5,.padding-y-5{padding-top:4rem!important}.padding-right-5,.padding-x-5{padding-right:4rem!important}.padding-bottom-5,.padding-y-5{padding-bottom:4rem!important}.padding-left-5,.padding-x-5{padding-left:4rem!important}.margin-n1{margin:-.25rem!important}.margin-top-n1,.margin-y-n1{margin-top:-.25rem!important}.margin-right-n1,.margin-x-n1{margin-right:-.25rem!important}.margin-bottom-n1,.margin-y-n1{margin-bottom:-.25rem!important}.margin-left-n1,.margin-x-n1{margin-left:-.25rem!important}.margin-n2{margin:-.5rem!important}.margin-top-n2,.margin-y-n2{margin-top:-.5rem!important}.margin-right-n2,.margin-x-n2{margin-right:-.5rem!important}.margin-bottom-n2,.margin-y-n2{margin-bottom:-.5rem!important}.margin-left-n2,.margin-x-n2{margin-left:-.5rem!important}.margin-n3{margin:-1rem!important}.margin-top-n3,.margin-y-n3{margin-top:-1rem!important}.margin-right-n3,.margin-x-n3{margin-right:-1rem!important}.margin-bottom-n3,.margin-y-n3{margin-bottom:-1rem!important}.margin-left-n3,.margin-x-n3{margin-left:-1rem!important}.margin-n4{margin:-2rem!important}.margin-top-n4,.margin-y-n4{margin-top:-2rem!important}.margin-right-n4,.margin-x-n4{margin-right:-2rem!important}.margin-bottom-n4,.margin-y-n4{margin-bottom:-2rem!important}.margin-left-n4,.margin-x-n4{margin-left:-2rem!important}.margin-n5{margin:-4rem!important}.margin-top-n5,.margin-y-n5{margin-top:-4rem!important}.margin-right-n5,.margin-x-n5{margin-right:-4rem!important}.margin-bottom-n5,.margin-y-n5{margin-bottom:-4rem!important}.margin-left-n5,.margin-x-n5{margin-left:-4rem!important}.margin-auto{margin:auto!important}.margin-top-auto,.margin-y-auto{margin-top:auto!important}.margin-right-auto,.margin-x-auto{margin-right:auto!important}.margin-bottom-auto,.margin-y-auto{margin-bottom:auto!important}.margin-left-auto,.margin-x-auto{margin-left:auto!important}@media (min-width:576px){.margin-sm-0{margin:0!important}.margin-top-sm-0,.margin-y-sm-0{margin-top:0!important}.margin-right-sm-0,.margin-x-sm-0{margin-right:0!important}.margin-bottom-sm-0,.margin-y-sm-0{margin-bottom:0!important}.margin-left-sm-0,.margin-x-sm-0{margin-left:0!important}.margin-sm-1{margin:.25rem!important}.margin-top-sm-1,.margin-y-sm-1{margin-top:.25rem!important}.margin-right-sm-1,.margin-x-sm-1{margin-right:.25rem!important}.margin-bottom-sm-1,.margin-y-sm-1{margin-bottom:.25rem!important}.margin-left-sm-1,.margin-x-sm-1{margin-left:.25rem!important}.margin-sm-2{margin:.5rem!important}.margin-top-sm-2,.margin-y-sm-2{margin-top:.5rem!important}.margin-right-sm-2,.margin-x-sm-2{margin-right:.5rem!important}.margin-bottom-sm-2,.margin-y-sm-2{margin-bottom:.5rem!important}.margin-left-sm-2,.margin-x-sm-2{margin-left:.5rem!important}.margin-sm-3{margin:1rem!important}.margin-top-sm-3,.margin-y-sm-3{margin-top:1rem!important}.margin-right-sm-3,.margin-x-sm-3{margin-right:1rem!important}.margin-bottom-sm-3,.margin-y-sm-3{margin-bottom:1rem!important}.margin-left-sm-3,.margin-x-sm-3{margin-left:1rem!important}.margin-sm-4{margin:2rem!important}.margin-top-sm-4,.margin-y-sm-4{margin-top:2rem!important}.margin-right-sm-4,.margin-x-sm-4{margin-right:2rem!important}.margin-bottom-sm-4,.margin-y-sm-4{margin-bottom:2rem!important}.margin-left-sm-4,.margin-x-sm-4{margin-left:2rem!important}.margin-sm-5{margin:4rem!important}.margin-top-sm-5,.margin-y-sm-5{margin-top:4rem!important}.margin-right-sm-5,.margin-x-sm-5{margin-right:4rem!important}.margin-bottom-sm-5,.margin-y-sm-5{margin-bottom:4rem!important}.margin-left-sm-5,.margin-x-sm-5{margin-left:4rem!important}.padding-sm-0{padding:0!important}.padding-top-sm-0,.padding-y-sm-0{padding-top:0!important}.padding-right-sm-0,.padding-x-sm-0{padding-right:0!important}.padding-bottom-sm-0,.padding-y-sm-0{padding-bottom:0!important}.padding-left-sm-0,.padding-x-sm-0{padding-left:0!important}.padding-sm-1{padding:.25rem!important}.padding-top-sm-1,.padding-y-sm-1{padding-top:.25rem!important}.padding-right-sm-1,.padding-x-sm-1{padding-right:.25rem!important}.padding-bottom-sm-1,.padding-y-sm-1{padding-bottom:.25rem!important}.padding-left-sm-1,.padding-x-sm-1{padding-left:.25rem!important}.padding-sm-2{padding:.5rem!important}.padding-top-sm-2,.padding-y-sm-2{padding-top:.5rem!important}.padding-right-sm-2,.padding-x-sm-2{padding-right:.5rem!important}.padding-bottom-sm-2,.padding-y-sm-2{padding-bottom:.5rem!important}.padding-left-sm-2,.padding-x-sm-2{padding-left:.5rem!important}.padding-sm-3{padding:1rem!important}.padding-top-sm-3,.padding-y-sm-3{padding-top:1rem!important}.padding-right-sm-3,.padding-x-sm-3{padding-right:1rem!important}.padding-bottom-sm-3,.padding-y-sm-3{padding-bottom:1rem!important}.padding-left-sm-3,.padding-x-sm-3{padding-left:1rem!important}.padding-sm-4{padding:2rem!important}.padding-top-sm-4,.padding-y-sm-4{padding-top:2rem!important}.padding-right-sm-4,.padding-x-sm-4{padding-right:2rem!important}.padding-bottom-sm-4,.padding-y-sm-4{padding-bottom:2rem!important}.padding-left-sm-4,.padding-x-sm-4{padding-left:2rem!important}.padding-sm-5{padding:4rem!important}.padding-top-sm-5,.padding-y-sm-5{padding-top:4rem!important}.padding-right-sm-5,.padding-x-sm-5{padding-right:4rem!important}.padding-bottom-sm-5,.padding-y-sm-5{padding-bottom:4rem!important}.padding-left-sm-5,.padding-x-sm-5{padding-left:4rem!important}.margin-sm-n1{margin:-.25rem!important}.margin-top-sm-n1,.margin-y-sm-n1{margin-top:-.25rem!important}.margin-right-sm-n1,.margin-x-sm-n1{margin-right:-.25rem!important}.margin-bottom-sm-n1,.margin-y-sm-n1{margin-bottom:-.25rem!important}.margin-left-sm-n1,.margin-x-sm-n1{margin-left:-.25rem!important}.margin-sm-n2{margin:-.5rem!important}.margin-top-sm-n2,.margin-y-sm-n2{margin-top:-.5rem!important}.margin-right-sm-n2,.margin-x-sm-n2{margin-right:-.5rem!important}.margin-bottom-sm-n2,.margin-y-sm-n2{margin-bottom:-.5rem!important}.margin-left-sm-n2,.margin-x-sm-n2{margin-left:-.5rem!important}.margin-sm-n3{margin:-1rem!important}.margin-top-sm-n3,.margin-y-sm-n3{margin-top:-1rem!important}.margin-right-sm-n3,.margin-x-sm-n3{margin-right:-1rem!important}.margin-bottom-sm-n3,.margin-y-sm-n3{margin-bottom:-1rem!important}.margin-left-sm-n3,.margin-x-sm-n3{margin-left:-1rem!important}.margin-sm-n4{margin:-2rem!important}.margin-top-sm-n4,.margin-y-sm-n4{margin-top:-2rem!important}.margin-right-sm-n4,.margin-x-sm-n4{margin-right:-2rem!important}.margin-bottom-sm-n4,.margin-y-sm-n4{margin-bottom:-2rem!important}.margin-left-sm-n4,.margin-x-sm-n4{margin-left:-2rem!important}.margin-sm-n5{margin:-4rem!important}.margin-top-sm-n5,.margin-y-sm-n5{margin-top:-4rem!important}.margin-right-sm-n5,.margin-x-sm-n5{margin-right:-4rem!important}.margin-bottom-sm-n5,.margin-y-sm-n5{margin-bottom:-4rem!important}.margin-left-sm-n5,.margin-x-sm-n5{margin-left:-4rem!important}.margin-sm-auto{margin:auto!important}.margin-top-sm-auto,.margin-y-sm-auto{margin-top:auto!important}.margin-right-sm-auto,.margin-x-sm-auto{margin-right:auto!important}.margin-bottom-sm-auto,.margin-y-sm-auto{margin-bottom:auto!important}.margin-left-sm-auto,.margin-x-sm-auto{margin-left:auto!important}}@media (min-width:768px){.margin-md-0{margin:0!important}.margin-top-md-0,.margin-y-md-0{margin-top:0!important}.margin-right-md-0,.margin-x-md-0{margin-right:0!important}.margin-bottom-md-0,.margin-y-md-0{margin-bottom:0!important}.margin-left-md-0,.margin-x-md-0{margin-left:0!important}.margin-md-1{margin:.25rem!important}.margin-top-md-1,.margin-y-md-1{margin-top:.25rem!important}.margin-right-md-1,.margin-x-md-1{margin-right:.25rem!important}.margin-bottom-md-1,.margin-y-md-1{margin-bottom:.25rem!important}.margin-left-md-1,.margin-x-md-1{margin-left:.25rem!important}.margin-md-2{margin:.5rem!important}.margin-top-md-2,.margin-y-md-2{margin-top:.5rem!important}.margin-right-md-2,.margin-x-md-2{margin-right:.5rem!important}.margin-bottom-md-2,.margin-y-md-2{margin-bottom:.5rem!important}.margin-left-md-2,.margin-x-md-2{margin-left:.5rem!important}.margin-md-3{margin:1rem!important}.margin-top-md-3,.margin-y-md-3{margin-top:1rem!important}.margin-right-md-3,.margin-x-md-3{margin-right:1rem!important}.margin-bottom-md-3,.margin-y-md-3{margin-bottom:1rem!important}.margin-left-md-3,.margin-x-md-3{margin-left:1rem!important}.margin-md-4{margin:2rem!important}.margin-top-md-4,.margin-y-md-4{margin-top:2rem!important}.margin-right-md-4,.margin-x-md-4{margin-right:2rem!important}.margin-bottom-md-4,.margin-y-md-4{margin-bottom:2rem!important}.margin-left-md-4,.margin-x-md-4{margin-left:2rem!important}.margin-md-5{margin:4rem!important}.margin-top-md-5,.margin-y-md-5{margin-top:4rem!important}.margin-right-md-5,.margin-x-md-5{margin-right:4rem!important}.margin-bottom-md-5,.margin-y-md-5{margin-bottom:4rem!important}.margin-left-md-5,.margin-x-md-5{margin-left:4rem!important}.padding-md-0{padding:0!important}.padding-top-md-0,.padding-y-md-0{padding-top:0!important}.padding-right-md-0,.padding-x-md-0{padding-right:0!important}.padding-bottom-md-0,.padding-y-md-0{padding-bottom:0!important}.padding-left-md-0,.padding-x-md-0{padding-left:0!important}.padding-md-1{padding:.25rem!important}.padding-top-md-1,.padding-y-md-1{padding-top:.25rem!important}.padding-right-md-1,.padding-x-md-1{padding-right:.25rem!important}.padding-bottom-md-1,.padding-y-md-1{padding-bottom:.25rem!important}.padding-left-md-1,.padding-x-md-1{padding-left:.25rem!important}.padding-md-2{padding:.5rem!important}.padding-top-md-2,.padding-y-md-2{padding-top:.5rem!important}.padding-right-md-2,.padding-x-md-2{padding-right:.5rem!important}.padding-bottom-md-2,.padding-y-md-2{padding-bottom:.5rem!important}.padding-left-md-2,.padding-x-md-2{padding-left:.5rem!important}.padding-md-3{padding:1rem!important}.padding-top-md-3,.padding-y-md-3{padding-top:1rem!important}.padding-right-md-3,.padding-x-md-3{padding-right:1rem!important}.padding-bottom-md-3,.padding-y-md-3{padding-bottom:1rem!important}.padding-left-md-3,.padding-x-md-3{padding-left:1rem!important}.padding-md-4{padding:2rem!important}.padding-top-md-4,.padding-y-md-4{padding-top:2rem!important}.padding-right-md-4,.padding-x-md-4{padding-right:2rem!important}.padding-bottom-md-4,.padding-y-md-4{padding-bottom:2rem!important}.padding-left-md-4,.padding-x-md-4{padding-left:2rem!important}.padding-md-5{padding:4rem!important}.padding-top-md-5,.padding-y-md-5{padding-top:4rem!important}.padding-right-md-5,.padding-x-md-5{padding-right:4rem!important}.padding-bottom-md-5,.padding-y-md-5{padding-bottom:4rem!important}.padding-left-md-5,.padding-x-md-5{padding-left:4rem!important}.margin-md-n1{margin:-.25rem!important}.margin-top-md-n1,.margin-y-md-n1{margin-top:-.25rem!important}.margin-right-md-n1,.margin-x-md-n1{margin-right:-.25rem!important}.margin-bottom-md-n1,.margin-y-md-n1{margin-bottom:-.25rem!important}.margin-left-md-n1,.margin-x-md-n1{margin-left:-.25rem!important}.margin-md-n2{margin:-.5rem!important}.margin-top-md-n2,.margin-y-md-n2{margin-top:-.5rem!important}.margin-right-md-n2,.margin-x-md-n2{margin-right:-.5rem!important}.margin-bottom-md-n2,.margin-y-md-n2{margin-bottom:-.5rem!important}.margin-left-md-n2,.margin-x-md-n2{margin-left:-.5rem!important}.margin-md-n3{margin:-1rem!important}.margin-top-md-n3,.margin-y-md-n3{margin-top:-1rem!important}.margin-right-md-n3,.margin-x-md-n3{margin-right:-1rem!important}.margin-bottom-md-n3,.margin-y-md-n3{margin-bottom:-1rem!important}.margin-left-md-n3,.margin-x-md-n3{margin-left:-1rem!important}.margin-md-n4{margin:-2rem!important}.margin-top-md-n4,.margin-y-md-n4{margin-top:-2rem!important}.margin-right-md-n4,.margin-x-md-n4{margin-right:-2rem!important}.margin-bottom-md-n4,.margin-y-md-n4{margin-bottom:-2rem!important}.margin-left-md-n4,.margin-x-md-n4{margin-left:-2rem!important}.margin-md-n5{margin:-4rem!important}.margin-top-md-n5,.margin-y-md-n5{margin-top:-4rem!important}.margin-right-md-n5,.margin-x-md-n5{margin-right:-4rem!important}.margin-bottom-md-n5,.margin-y-md-n5{margin-bottom:-4rem!important}.margin-left-md-n5,.margin-x-md-n5{margin-left:-4rem!important}.margin-md-auto{margin:auto!important}.margin-top-md-auto,.margin-y-md-auto{margin-top:auto!important}.margin-right-md-auto,.margin-x-md-auto{margin-right:auto!important}.margin-bottom-md-auto,.margin-y-md-auto{margin-bottom:auto!important}.margin-left-md-auto,.margin-x-md-auto{margin-left:auto!important}}@media (min-width:992px){.margin-lg-0{margin:0!important}.margin-top-lg-0,.margin-y-lg-0{margin-top:0!important}.margin-right-lg-0,.margin-x-lg-0{margin-right:0!important}.margin-bottom-lg-0,.margin-y-lg-0{margin-bottom:0!important}.margin-left-lg-0,.margin-x-lg-0{margin-left:0!important}.margin-lg-1{margin:.25rem!important}.margin-top-lg-1,.margin-y-lg-1{margin-top:.25rem!important}.margin-right-lg-1,.margin-x-lg-1{margin-right:.25rem!important}.margin-bottom-lg-1,.margin-y-lg-1{margin-bottom:.25rem!important}.margin-left-lg-1,.margin-x-lg-1{margin-left:.25rem!important}.margin-lg-2{margin:.5rem!important}.margin-top-lg-2,.margin-y-lg-2{margin-top:.5rem!important}.margin-right-lg-2,.margin-x-lg-2{margin-right:.5rem!important}.margin-bottom-lg-2,.margin-y-lg-2{margin-bottom:.5rem!important}.margin-left-lg-2,.margin-x-lg-2{margin-left:.5rem!important}.margin-lg-3{margin:1rem!important}.margin-top-lg-3,.margin-y-lg-3{margin-top:1rem!important}.margin-right-lg-3,.margin-x-lg-3{margin-right:1rem!important}.margin-bottom-lg-3,.margin-y-lg-3{margin-bottom:1rem!important}.margin-left-lg-3,.margin-x-lg-3{margin-left:1rem!important}.margin-lg-4{margin:2rem!important}.margin-top-lg-4,.margin-y-lg-4{margin-top:2rem!important}.margin-right-lg-4,.margin-x-lg-4{margin-right:2rem!important}.margin-bottom-lg-4,.margin-y-lg-4{margin-bottom:2rem!important}.margin-left-lg-4,.margin-x-lg-4{margin-left:2rem!important}.margin-lg-5{margin:4rem!important}.margin-top-lg-5,.margin-y-lg-5{margin-top:4rem!important}.margin-right-lg-5,.margin-x-lg-5{margin-right:4rem!important}.margin-bottom-lg-5,.margin-y-lg-5{margin-bottom:4rem!important}.margin-left-lg-5,.margin-x-lg-5{margin-left:4rem!important}.padding-lg-0{padding:0!important}.padding-top-lg-0,.padding-y-lg-0{padding-top:0!important}.padding-right-lg-0,.padding-x-lg-0{padding-right:0!important}.padding-bottom-lg-0,.padding-y-lg-0{padding-bottom:0!important}.padding-left-lg-0,.padding-x-lg-0{padding-left:0!important}.padding-lg-1{padding:.25rem!important}.padding-top-lg-1,.padding-y-lg-1{padding-top:.25rem!important}.padding-right-lg-1,.padding-x-lg-1{padding-right:.25rem!important}.padding-bottom-lg-1,.padding-y-lg-1{padding-bottom:.25rem!important}.padding-left-lg-1,.padding-x-lg-1{padding-left:.25rem!important}.padding-lg-2{padding:.5rem!important}.padding-top-lg-2,.padding-y-lg-2{padding-top:.5rem!important}.padding-right-lg-2,.padding-x-lg-2{padding-right:.5rem!important}.padding-bottom-lg-2,.padding-y-lg-2{padding-bottom:.5rem!important}.padding-left-lg-2,.padding-x-lg-2{padding-left:.5rem!important}.padding-lg-3{padding:1rem!important}.padding-top-lg-3,.padding-y-lg-3{padding-top:1rem!important}.padding-right-lg-3,.padding-x-lg-3{padding-right:1rem!important}.padding-bottom-lg-3,.padding-y-lg-3{padding-bottom:1rem!important}.padding-left-lg-3,.padding-x-lg-3{padding-left:1rem!important}.padding-lg-4{padding:2rem!important}.padding-top-lg-4,.padding-y-lg-4{padding-top:2rem!important}.padding-right-lg-4,.padding-x-lg-4{padding-right:2rem!important}.padding-bottom-lg-4,.padding-y-lg-4{padding-bottom:2rem!important}.padding-left-lg-4,.padding-x-lg-4{padding-left:2rem!important}.padding-lg-5{padding:4rem!important}.padding-top-lg-5,.padding-y-lg-5{padding-top:4rem!important}.padding-right-lg-5,.padding-x-lg-5{padding-right:4rem!important}.padding-bottom-lg-5,.padding-y-lg-5{padding-bottom:4rem!important}.padding-left-lg-5,.padding-x-lg-5{padding-left:4rem!important}.margin-lg-n1{margin:-.25rem!important}.margin-top-lg-n1,.margin-y-lg-n1{margin-top:-.25rem!important}.margin-right-lg-n1,.margin-x-lg-n1{margin-right:-.25rem!important}.margin-bottom-lg-n1,.margin-y-lg-n1{margin-bottom:-.25rem!important}.margin-left-lg-n1,.margin-x-lg-n1{margin-left:-.25rem!important}.margin-lg-n2{margin:-.5rem!important}.margin-top-lg-n2,.margin-y-lg-n2{margin-top:-.5rem!important}.margin-right-lg-n2,.margin-x-lg-n2{margin-right:-.5rem!important}.margin-bottom-lg-n2,.margin-y-lg-n2{margin-bottom:-.5rem!important}.margin-left-lg-n2,.margin-x-lg-n2{margin-left:-.5rem!important}.margin-lg-n3{margin:-1rem!important}.margin-top-lg-n3,.margin-y-lg-n3{margin-top:-1rem!important}.margin-right-lg-n3,.margin-x-lg-n3{margin-right:-1rem!important}.margin-bottom-lg-n3,.margin-y-lg-n3{margin-bottom:-1rem!important}.margin-left-lg-n3,.margin-x-lg-n3{margin-left:-1rem!important}.margin-lg-n4{margin:-2rem!important}.margin-top-lg-n4,.margin-y-lg-n4{margin-top:-2rem!important}.margin-right-lg-n4,.margin-x-lg-n4{margin-right:-2rem!important}.margin-bottom-lg-n4,.margin-y-lg-n4{margin-bottom:-2rem!important}.margin-left-lg-n4,.margin-x-lg-n4{margin-left:-2rem!important}.margin-lg-n5{margin:-4rem!important}.margin-top-lg-n5,.margin-y-lg-n5{margin-top:-4rem!important}.margin-right-lg-n5,.margin-x-lg-n5{margin-right:-4rem!important}.margin-bottom-lg-n5,.margin-y-lg-n5{margin-bottom:-4rem!important}.margin-left-lg-n5,.margin-x-lg-n5{margin-left:-4rem!important}.margin-lg-auto{margin:auto!important}.margin-top-lg-auto,.margin-y-lg-auto{margin-top:auto!important}.margin-right-lg-auto,.margin-x-lg-auto{margin-right:auto!important}.margin-bottom-lg-auto,.margin-y-lg-auto{margin-bottom:auto!important}.margin-left-lg-auto,.margin-x-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.margin-xl-0{margin:0!important}.margin-top-xl-0,.margin-y-xl-0{margin-top:0!important}.margin-right-xl-0,.margin-x-xl-0{margin-right:0!important}.margin-bottom-xl-0,.margin-y-xl-0{margin-bottom:0!important}.margin-left-xl-0,.margin-x-xl-0{margin-left:0!important}.margin-xl-1{margin:.25rem!important}.margin-top-xl-1,.margin-y-xl-1{margin-top:.25rem!important}.margin-right-xl-1,.margin-x-xl-1{margin-right:.25rem!important}.margin-bottom-xl-1,.margin-y-xl-1{margin-bottom:.25rem!important}.margin-left-xl-1,.margin-x-xl-1{margin-left:.25rem!important}.margin-xl-2{margin:.5rem!important}.margin-top-xl-2,.margin-y-xl-2{margin-top:.5rem!important}.margin-right-xl-2,.margin-x-xl-2{margin-right:.5rem!important}.margin-bottom-xl-2,.margin-y-xl-2{margin-bottom:.5rem!important}.margin-left-xl-2,.margin-x-xl-2{margin-left:.5rem!important}.margin-xl-3{margin:1rem!important}.margin-top-xl-3,.margin-y-xl-3{margin-top:1rem!important}.margin-right-xl-3,.margin-x-xl-3{margin-right:1rem!important}.margin-bottom-xl-3,.margin-y-xl-3{margin-bottom:1rem!important}.margin-left-xl-3,.margin-x-xl-3{margin-left:1rem!important}.margin-xl-4{margin:2rem!important}.margin-top-xl-4,.margin-y-xl-4{margin-top:2rem!important}.margin-right-xl-4,.margin-x-xl-4{margin-right:2rem!important}.margin-bottom-xl-4,.margin-y-xl-4{margin-bottom:2rem!important}.margin-left-xl-4,.margin-x-xl-4{margin-left:2rem!important}.margin-xl-5{margin:4rem!important}.margin-top-xl-5,.margin-y-xl-5{margin-top:4rem!important}.margin-right-xl-5,.margin-x-xl-5{margin-right:4rem!important}.margin-bottom-xl-5,.margin-y-xl-5{margin-bottom:4rem!important}.margin-left-xl-5,.margin-x-xl-5{margin-left:4rem!important}.padding-xl-0{padding:0!important}.padding-top-xl-0,.padding-y-xl-0{padding-top:0!important}.padding-right-xl-0,.padding-x-xl-0{padding-right:0!important}.padding-bottom-xl-0,.padding-y-xl-0{padding-bottom:0!important}.padding-left-xl-0,.padding-x-xl-0{padding-left:0!important}.padding-xl-1{padding:.25rem!important}.padding-top-xl-1,.padding-y-xl-1{padding-top:.25rem!important}.padding-right-xl-1,.padding-x-xl-1{padding-right:.25rem!important}.padding-bottom-xl-1,.padding-y-xl-1{padding-bottom:.25rem!important}.padding-left-xl-1,.padding-x-xl-1{padding-left:.25rem!important}.padding-xl-2{padding:.5rem!important}.padding-top-xl-2,.padding-y-xl-2{padding-top:.5rem!important}.padding-right-xl-2,.padding-x-xl-2{padding-right:.5rem!important}.padding-bottom-xl-2,.padding-y-xl-2{padding-bottom:.5rem!important}.padding-left-xl-2,.padding-x-xl-2{padding-left:.5rem!important}.padding-xl-3{padding:1rem!important}.padding-top-xl-3,.padding-y-xl-3{padding-top:1rem!important}.padding-right-xl-3,.padding-x-xl-3{padding-right:1rem!important}.padding-bottom-xl-3,.padding-y-xl-3{padding-bottom:1rem!important}.padding-left-xl-3,.padding-x-xl-3{padding-left:1rem!important}.padding-xl-4{padding:2rem!important}.padding-top-xl-4,.padding-y-xl-4{padding-top:2rem!important}.padding-right-xl-4,.padding-x-xl-4{padding-right:2rem!important}.padding-bottom-xl-4,.padding-y-xl-4{padding-bottom:2rem!important}.padding-left-xl-4,.padding-x-xl-4{padding-left:2rem!important}.padding-xl-5{padding:4rem!important}.padding-top-xl-5,.padding-y-xl-5{padding-top:4rem!important}.padding-right-xl-5,.padding-x-xl-5{padding-right:4rem!important}.padding-bottom-xl-5,.padding-y-xl-5{padding-bottom:4rem!important}.padding-left-xl-5,.padding-x-xl-5{padding-left:4rem!important}.margin-xl-n1{margin:-.25rem!important}.margin-top-xl-n1,.margin-y-xl-n1{margin-top:-.25rem!important}.margin-right-xl-n1,.margin-x-xl-n1{margin-right:-.25rem!important}.margin-bottom-xl-n1,.margin-y-xl-n1{margin-bottom:-.25rem!important}.margin-left-xl-n1,.margin-x-xl-n1{margin-left:-.25rem!important}.margin-xl-n2{margin:-.5rem!important}.margin-top-xl-n2,.margin-y-xl-n2{margin-top:-.5rem!important}.margin-right-xl-n2,.margin-x-xl-n2{margin-right:-.5rem!important}.margin-bottom-xl-n2,.margin-y-xl-n2{margin-bottom:-.5rem!important}.margin-left-xl-n2,.margin-x-xl-n2{margin-left:-.5rem!important}.margin-xl-n3{margin:-1rem!important}.margin-top-xl-n3,.margin-y-xl-n3{margin-top:-1rem!important}.margin-right-xl-n3,.margin-x-xl-n3{margin-right:-1rem!important}.margin-bottom-xl-n3,.margin-y-xl-n3{margin-bottom:-1rem!important}.margin-left-xl-n3,.margin-x-xl-n3{margin-left:-1rem!important}.margin-xl-n4{margin:-2rem!important}.margin-top-xl-n4,.margin-y-xl-n4{margin-top:-2rem!important}.margin-right-xl-n4,.margin-x-xl-n4{margin-right:-2rem!important}.margin-bottom-xl-n4,.margin-y-xl-n4{margin-bottom:-2rem!important}.margin-left-xl-n4,.margin-x-xl-n4{margin-left:-2rem!important}.margin-xl-n5{margin:-4rem!important}.margin-top-xl-n5,.margin-y-xl-n5{margin-top:-4rem!important}.margin-right-xl-n5,.margin-x-xl-n5{margin-right:-4rem!important}.margin-bottom-xl-n5,.margin-y-xl-n5{margin-bottom:-4rem!important}.margin-left-xl-n5,.margin-x-xl-n5{margin-left:-4rem!important}.margin-xl-auto{margin:auto!important}.margin-top-xl-auto,.margin-y-xl-auto{margin-top:auto!important}.margin-right-xl-auto,.margin-x-xl-auto{margin-right:auto!important}.margin-bottom-xl-auto,.margin-y-xl-auto{margin-bottom:auto!important}.margin-left-xl-auto,.margin-x-xl-auto{margin-left:auto!important}}.h1{font-size:2em}.h2{font-size:1.5em}.h3{font-size:1.17em}.h4{font-size:1em}.h5{font-size:.83em}.h6{font-size:.67em}.cursor-alias{cursor:alias}.cursor-all-scroll{cursor:all-scroll}.cursor-auto{cursor:auto}.cursor-cell{cursor:cell}.cursor-context-menu{cursor:context-menu}.cursor-col-resize{cursor:col-resize}.cursor-copy{cursor:copy}.cursor-crosshair{cursor:crosshair}.cursor-default{cursor:default}.cursor-e-resize{cursor:e-resize}.cursor-ew-resize{cursor:ew-resize}.cursor-grab{cursor:-webkit-grab;cursor:grab}.cursor-grabbing{cursor:-webkit-grabbing;cursor:grabbing}.cursor-help{cursor:help}.cursor-move{cursor:move}.cursor-n-resize{cursor:n-resize}.cursor-ne-resize{cursor:ne-resize}.cursor-nesw-resize{cursor:nesw-resize}.cursor-ns-resize{cursor:ns-resize}.cursor-nw-resize{cursor:nw-resize}.cursor-nwse-resize{cursor:nwse-resize}.cursor-no-drop{cursor:no-drop}.cursor-none{cursor:none}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-progress{cursor:progress}.cursor-row-resize{cursor:row-resize}.cursor-s-resize{cursor:s-resize}.cursor-se-resize{cursor:se-resize}.cursor-sw-resize{cursor:sw-resize}.cursor-text{cursor:text}.cursor-w-resize{cursor:w-resize}.cursor-wait{cursor:wait}.cursor-zoom-in{cursor:zoom-in}.cursor-zoom-out{cursor:zoom-out}.mat-tooltip{font-size:15px!important}body,html{height:100%}body{font-family:opens sans regular,sans-serif;margin:0;padding:0}iframe{border:none}.mat-badge-content{font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px;font-weight:600}.mat-badge-small .mat-badge-content{font-size:9px}.mat-badge-large .mat-badge-content{font-size:24px}.mat-h1,.mat-headline,.mat-typography h1{font:400 24px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h2,.mat-title,.mat-typography h2{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h3,.mat-subheading-2,.mat-typography h3{font:400 16px/28px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h4,.mat-subheading-1,.mat-typography h4{font:400 15px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h5,.mat-typography h5{font:400 11.62px/20px Roboto,Helvetica Neue,sans-serif;margin:0 0 12px}.mat-h6,.mat-typography h6{font:400 9.38px/20px Roboto,Helvetica Neue,sans-serif;margin:0 0 12px}.mat-body-2,.mat-body-strong{font:500 14px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-body,.mat-body-1,.mat-typography{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-body-1 p,.mat-body p,.mat-typography p{margin:0 0 12px}.mat-caption,.mat-small{font:400 12px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-display-4,.mat-typography .mat-display-4{font:300 112px/112px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.05em;margin:0 0 56px}.mat-display-3,.mat-typography .mat-display-3{font:400 56px/56px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.02em;margin:0 0 64px}.mat-display-2,.mat-typography .mat-display-2{font:400 45px/48px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.005em;margin:0 0 64px}.mat-display-1,.mat-typography .mat-display-1{font:400 34px/40px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 64px}.mat-bottom-sheet-container{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-button,.mat-fab,.mat-flat-button,.mat-icon-button,.mat-mini-fab,.mat-raised-button,.mat-stroked-button{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:500}.mat-button-toggle,.mat-card{font-family:Roboto,Helvetica Neue,sans-serif}.mat-card-title{font-size:24px;font-weight:500}.mat-card-header .mat-card-title{font-size:20px}.mat-card-content,.mat-card-subtitle{font-size:14px}.mat-checkbox{font-family:Roboto,Helvetica Neue,sans-serif}.mat-checkbox-layout .mat-checkbox-label{line-height:24px}.mat-chip{font-size:14px;font-weight:500}.mat-chip .mat-chip-remove.mat-icon,.mat-chip .mat-chip-trailing-icon.mat-icon{font-size:18px}.mat-table{font-family:Roboto,Helvetica Neue,sans-serif}.mat-header-cell{font-size:12px;font-weight:500}.mat-cell,.mat-footer-cell{font-size:14px}.mat-calendar{font-family:Roboto,Helvetica Neue,sans-serif}.mat-calendar-body{font-size:13px}.mat-calendar-body-label,.mat-calendar-period-button{font-size:14px;font-weight:500}.mat-calendar-table-header th{font-size:11px;font-weight:400}.mat-dialog-title{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-expansion-panel-header{font-family:Roboto,Helvetica Neue,sans-serif;font-size:15px;font-weight:400}.mat-expansion-panel-content{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-form-field{font-family:Roboto,Helvetica Neue,sans-serif;font-size:inherit;font-weight:400;letter-spacing:normal;line-height:1.125}.mat-form-field-wrapper{padding-bottom:1.34375em}.mat-form-field-prefix .mat-icon,.mat-form-field-suffix .mat-icon{font-size:150%;line-height:1.125}.mat-form-field-prefix .mat-icon-button,.mat-form-field-suffix .mat-icon-button{height:1.5em;width:1.5em}.mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-suffix .mat-icon-button .mat-icon{height:1.125em;line-height:1.125}.mat-form-field-infix{border-top:.84375em solid transparent;padding:.5em 0}.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.34375em) scale(.75);width:133.33333%}.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.34374em) scale(.75);width:133.33334%}.mat-form-field-label-wrapper{padding-top:.84375em;top:-.84375em}.mat-form-field-label{top:1.34375em}.mat-form-field-underline{bottom:1.34375em}.mat-form-field-subscript-wrapper{font-size:75%;margin-top:.66667em;top:calc(100% - 1.79167em)}.mat-form-field-appearance-legacy .mat-form-field-wrapper{padding-bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-infix{padding:.4375em 0}.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{-ms-transform:translateY(-1.28125em) scale(.75);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);width:133.33333%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{-ms-transform:translateY(-1.28124em) scale(.75);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);width:133.33334%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-ms-transform:translateY(-1.28123em) scale(.75);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);width:133.33335%}.mat-form-field-appearance-legacy .mat-form-field-label{top:1.28125em}.mat-form-field-appearance-legacy .mat-form-field-underline{bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-subscript-wrapper{margin-top:.54167em;top:calc(100% - 1.66667em)}@media print{.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28122em) scale(.75)}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28121em) scale(.75)}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.2812em) scale(.75)}}.mat-form-field-appearance-fill .mat-form-field-infix{padding:.25em 0 .75em}.mat-form-field-appearance-fill .mat-form-field-label{margin-top:-.5em;top:1.09375em}.mat-form-field-appearance-fill.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-.59375em) scale(.75);width:133.33333%}.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-.59374em) scale(.75);width:133.33334%}.mat-form-field-appearance-outline .mat-form-field-infix{padding:1em 0}.mat-form-field-appearance-outline .mat-form-field-label{margin-top:-.25em;top:1.84375em}.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.59375em) scale(.75);width:133.33333%}.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.59374em) scale(.75);width:133.33334%}.mat-grid-tile-footer,.mat-grid-tile-header{font-size:14px}.mat-grid-tile-footer .mat-line,.mat-grid-tile-header .mat-line{box-sizing:border-box;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-grid-tile-footer .mat-line:nth-child(n+2),.mat-grid-tile-header .mat-line:nth-child(n+2){font-size:12px}input.mat-input-element{margin-top:-.0625em}.mat-menu-item{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:400}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px}.mat-radio-button,.mat-select{font-family:Roboto,Helvetica Neue,sans-serif}.mat-select-trigger{height:1.125em}.mat-slide-toggle-content,.mat-slider-thumb-label-text{font-family:Roboto,Helvetica Neue,sans-serif}.mat-slider-thumb-label-text{font-size:12px;font-weight:500}.mat-stepper-horizontal,.mat-stepper-vertical{font-family:Roboto,Helvetica Neue,sans-serif}.mat-step-label{font-size:14px;font-weight:400}.mat-step-sub-label-error{font-weight:400}.mat-step-label-error{font-size:14px}.mat-step-label-selected{font-size:14px;font-weight:500}.mat-tab-group,.mat-tab-label,.mat-tab-link{font-family:Roboto,Helvetica Neue,sans-serif}.mat-tab-label,.mat-tab-link{font-size:14px;font-weight:500}.mat-toolbar,.mat-toolbar h1,.mat-toolbar h2,.mat-toolbar h3,.mat-toolbar h4,.mat-toolbar h5,.mat-toolbar h6{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0}.mat-tooltip{font-family:Roboto,Helvetica Neue,sans-serif;font-size:10px;padding-bottom:6px;padding-top:6px}.mat-tooltip-handset{font-size:14px;padding-bottom:8px;padding-top:8px}.mat-list-item,.mat-list-option{font-family:Roboto,Helvetica Neue,sans-serif}.mat-list-base .mat-list-item{font-size:16px}.mat-list-base .mat-list-item .mat-line{box-sizing:border-box;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-list-base .mat-list-item .mat-line:nth-child(n+2){font-size:14px}.mat-list-base .mat-list-option{font-size:16px}.mat-list-base .mat-list-option .mat-line{box-sizing:border-box;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-list-base .mat-list-option .mat-line:nth-child(n+2){font-size:14px}.mat-list-base .mat-subheader{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:500}.mat-list-base[dense] .mat-list-item{font-size:12px}.mat-list-base[dense] .mat-list-item .mat-line{box-sizing:border-box;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-list-base[dense] .mat-list-item .mat-line:nth-child(n+2),.mat-list-base[dense] .mat-list-option{font-size:12px}.mat-list-base[dense] .mat-list-option .mat-line{box-sizing:border-box;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-list-base[dense] .mat-list-option .mat-line:nth-child(n+2){font-size:12px}.mat-list-base[dense] .mat-subheader{font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px;font-weight:500}.mat-option{font-family:Roboto,Helvetica Neue,sans-serif;font-size:16px}.mat-optgroup-label{font:500 14px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-simple-snackbar{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px}.mat-simple-snackbar-action{font-family:inherit;font-size:inherit;font-weight:500;line-height:1}.mat-tree{font-family:Roboto,Helvetica Neue,sans-serif}.mat-nested-tree-node,.mat-tree-node{font-size:14px;font-weight:400}.mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{border-radius:50%;pointer-events:none;position:absolute;transform:scale(0);transition:opacity,transform 0ms cubic-bezier(0,0,.2,1)}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{-moz-appearance:none;-webkit-appearance:none;border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;outline:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.cdk-global-overlay-wrapper,.cdk-overlay-container{height:100%;left:0;pointer-events:none;top:0;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper,.cdk-overlay-pane{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{box-sizing:border-box;max-height:100%;max-width:100%;pointer-events:auto}.cdk-overlay-backdrop{-webkit-tap-highlight-color:transparent;bottom:0;left:0;opacity:0;pointer-events:auto;position:absolute;right:0;top:0;transition:opacity .4s cubic-bezier(.25,.8,.25,1);z-index:1000}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.32)}.cdk-overlay-transparent-backdrop,.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0}.cdk-overlay-connected-position-bounding-box{display:flex;flex-direction:column;min-height:1px;min-width:1px;position:absolute;z-index:1000}.cdk-global-scrollblock{overflow-y:scroll;position:fixed;width:100%}@-webkit-keyframes cdk-text-field-autofill-start{\n /*!*/}@keyframes cdk-text-field-autofill-start{\n /*!*/}@-webkit-keyframes cdk-text-field-autofill-end{\n /*!*/}@keyframes cdk-text-field-autofill-end{\n /*!*/}.cdk-text-field-autofill-monitored:-webkit-autofill{-webkit-animation:cdk-text-field-autofill-start 0s 1ms;animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){-webkit-animation:cdk-text-field-autofill-end 0s 1ms;animation:cdk-text-field-autofill-end 0s 1ms}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{box-sizing:content-box!important;height:auto!important;overflow:hidden!important;padding:2px 0!important}textarea.cdk-textarea-autosize-measuring-firefox{box-sizing:content-box!important;height:0!important;padding:2px 0!important}.mat-focus-indicator,.mat-mdc-focus-indicator{position:relative}.header,.title{font-family:Encode Sans Condensed,sans-serif;font-weight:900}.paragraph-title,.tagline{font-family:Open Sans,sans-serif;font-weight:400}.paragraph-title-bold .tagLine-bold{font-family:Open Sans,sans-serif;font-weight:700}.plain-text,.remarks{font-family:Open Sans,sans-serif;font-weight:300}.plain-text-bold{font-family:Open Sans,sans-serif;font-weight:700}.flex-column{flex-direction:column}.flex-column,.flex-row{box-sizing:border-box;display:flex}.flex-row{flex-direction:row}.flex-row-center{align-items:center;justify-content:center}.mat-button-large{font-size:18px;font-weight:700;line-height:48px;padding:0 24px!important}.mat-round{border-radius:.5em}:root{--background:#050505;--cyan-accent:rgba(132,255,255,0.75);--green-accent:#00e676;--initial-accent:#9cd8d7;--initial-dark-background:#222;--initial-dark-text:hsla(0,0%,100%,0.87);--initial-light-background:#f2f2f2;--initial-light-background:#fff;--initial-light-text:rgba(0,0,0,0.87);--initial-primary:#4a918e;--initial-warn:#ef4351;--orange-accent:#ff9800;--pink-accent:#e91e63;--purple-accent:#9c27b0;--success:#00e676;--yellow-accent:#fdd835}body{background-color:var(--initial-dark-background)}:host .valid-control{color:var(--green-accent)}:host .invalid-control{color:var(--theme-warn-500)}:host .actions .item:not(:last-child){margin-right:0}:host .project-thumbnail img{height:50px;width:auto}:host .active{background-color:var(--theme-accent-400)}:host .active,:host .inactive{transition:background-color 1s linear}:host .inactive{background-color:rgba(242,245,169,0)}:host .expansion-panel{margin-bottom:10px;width:100%}:host .expansion-container{max-height:300px;overflow-y:auto}:host .divider-fill-vert{background-color:var(--theme-accent-500);bottom:10%;min-height:100%;min-width:5px;top:10%}:host .divider-fill-hor{background-color:var(--theme-accent-500);height:5px;width:100%}:host .form-disabled{background-color:#797979;border-radius:4px;opacity:.5}@media (max-width:768px){.spread{margin:1em!important}}@media (max-width:480px){.spread{margin:.5em!important}}.spinner-logo{display:none!important}:host ::ng-deep .apps-actions{float:right}:host ::ng-deep .mat-card .mat-card-content{overflow:hidden;text-align:center}:host ::ng-deep .mat-card .mat-card-actions .data-app-actions{display:none!important}:host ::ng-deep .mat-card .mat-card-actions .data-app-fakes{display:flex!important}:host ::ng-deep .mat-card .mat-card-actions .data-app-fakes .mat-icon{font-size:8px}:host ::ng-deep .mat-card:hover .mat-card-actions .data-app-actions{display:flex!important}:host ::ng-deep .mat-card:hover .mat-card-actions .data-app-fakes{display:none!important}:host ::ng-deep .mat-subtitle .mat-chip-list{display:inline-block}:host ::ng-deep .mat-form-field{margin-bottom:.5em;margin-top:.5em}:host ::ng-deep .mat-form-field.with-hint{margin-bottom:1em}@media (max-width:768px){:host ::ng-deep .form-card{width:100%}:host ::ng-deep .mat-card .mat-card-actions .data-app-actions{display:flex!important}:host ::ng-deep .mat-card .mat-card-actions .data-app-fakes{display:none!important}}:host ::ng-deep .domain-item{border:1px solid var(--theme-accent-500);border-radius:5}"]
3475
+ },] }
3476
+ ];
3477
+ DevOpsComponent.ctorParameters = function () { return [
3478
+ { type: forms.FormBuilder },
3479
+ { type: ApplicationsFlowService },
3480
+ { type: ApplicationsFlowEventsService }
3481
+ ]; };
3482
+ DevOpsComponent.propDecorators = {
3483
+ Data: [{ type: i0.Input, args: ['data',] }],
3484
+ HostingDetailsFormControls: [{ type: i0.ViewChild, args: [HostingDetailsFormGroupComponent,] }],
3485
+ SourceControlFormControls: [{ type: i0.ViewChild, args: [SourceControlFormControlsComponent,] }]
3486
+ };
3487
+
3488
+ var DFSModifiersComponent = /** @class */ (function () {
3489
+ // Constructors
3490
+ function DFSModifiersComponent(formBldr, appsFlowSvc, appsFlowEventsSvc) {
3491
+ this.formBldr = formBldr;
3492
+ this.appsFlowSvc = appsFlowSvc;
3493
+ this.appsFlowEventsSvc = appsFlowEventsSvc;
3494
+ this.EditingModifierLookup = null;
3495
+ }
3496
+ Object.defineProperty(DFSModifiersComponent.prototype, "DetailsFormControl", {
3497
+ get: function () {
3498
+ var _a;
3499
+ return (_a = this.ModifierFormGroup) === null || _a === void 0 ? void 0 : _a.controls.details;
3500
+ },
3501
+ enumerable: false,
3502
+ configurable: true
3503
+ });
3504
+ Object.defineProperty(DFSModifiersComponent.prototype, "EditingModifier", {
3505
+ get: function () {
3506
+ var mdfr = this.Modifiers
3507
+ ? this.Modifiers[this.EditingModifierLookup]
3508
+ : null;
3509
+ if (mdfr == null && this.EditingModifierLookup) {
3510
+ mdfr = {};
3511
+ }
3512
+ return mdfr;
3513
+ },
3514
+ enumerable: false,
3515
+ configurable: true
3516
+ });
3517
+ Object.defineProperty(DFSModifiersComponent.prototype, "EnabledFormControl", {
3518
+ get: function () {
3519
+ var _a;
3520
+ return (_a = this.ModifierFormGroup) === null || _a === void 0 ? void 0 : _a.controls.enabled;
3521
+ },
3522
+ enumerable: false,
3523
+ configurable: true
3524
+ });
3525
+ Object.defineProperty(DFSModifiersComponent.prototype, "LocationFormControl", {
3526
+ get: function () {
3527
+ var _a;
3528
+ return (_a = this.ModifierFormGroup) === null || _a === void 0 ? void 0 : _a.controls.location;
3529
+ },
3530
+ enumerable: false,
3531
+ configurable: true
3532
+ });
3533
+ Object.defineProperty(DFSModifiersComponent.prototype, "ModifierLookups", {
3534
+ get: function () {
3535
+ return Object.keys(this.Modifiers || {});
3536
+ },
3537
+ enumerable: false,
3538
+ configurable: true
3539
+ });
3540
+ Object.defineProperty(DFSModifiersComponent.prototype, "Modifiers", {
3541
+ get: function () {
3542
+ return this.Data.Modifiers || {};
3543
+ },
3544
+ enumerable: false,
3545
+ configurable: true
3546
+ });
3547
+ Object.defineProperty(DFSModifiersComponent.prototype, "NameFormControl", {
3548
+ get: function () {
3549
+ var _a;
3550
+ return (_a = this.ModifierFormGroup) === null || _a === void 0 ? void 0 : _a.controls.name;
3551
+ },
3552
+ enumerable: false,
3553
+ configurable: true
3554
+ });
3555
+ Object.defineProperty(DFSModifiersComponent.prototype, "PathFilterFormControl", {
3556
+ get: function () {
3557
+ var _a;
3558
+ return (_a = this.ModifierFormGroup) === null || _a === void 0 ? void 0 : _a.controls.pathFilter;
3559
+ },
3560
+ enumerable: false,
3561
+ configurable: true
3562
+ });
3563
+ Object.defineProperty(DFSModifiersComponent.prototype, "PriorityFormControl", {
3564
+ get: function () {
3565
+ var _a;
3566
+ return (_a = this.ModifierFormGroup) === null || _a === void 0 ? void 0 : _a.controls.priority;
3567
+ },
3568
+ enumerable: false,
3569
+ configurable: true
3570
+ });
3571
+ Object.defineProperty(DFSModifiersComponent.prototype, "Project", {
3572
+ get: function () {
3573
+ return this.Data.Project || {};
3574
+ },
3575
+ enumerable: false,
3576
+ configurable: true
3577
+ });
3578
+ Object.defineProperty(DFSModifiersComponent.prototype, "ScriptFormControl", {
3579
+ get: function () {
3580
+ var _a;
3581
+ return (_a = this.ModifierFormGroup) === null || _a === void 0 ? void 0 : _a.controls.script;
3582
+ },
3583
+ enumerable: false,
3584
+ configurable: true
3585
+ });
3586
+ Object.defineProperty(DFSModifiersComponent.prototype, "ScriptIDFormControl", {
3587
+ get: function () {
3588
+ var _a;
3589
+ return (_a = this.ModifierFormGroup) === null || _a === void 0 ? void 0 : _a.controls.scriptId;
3590
+ },
3591
+ enumerable: false,
3592
+ configurable: true
3593
+ });
3594
+ Object.defineProperty(DFSModifiersComponent.prototype, "StateDataTokenFormControl", {
3595
+ get: function () {
3596
+ var _a;
3597
+ return (_a = this.ModifierFormGroup) === null || _a === void 0 ? void 0 : _a.controls.stateDataToken;
3598
+ },
3599
+ enumerable: false,
3600
+ configurable: true
3601
+ });
3602
+ Object.defineProperty(DFSModifiersComponent.prototype, "TypeFormControl", {
3603
+ get: function () {
3604
+ var _a;
3605
+ return (_a = this.ModifierFormGroup) === null || _a === void 0 ? void 0 : _a.controls.type;
3606
+ },
3607
+ enumerable: false,
3608
+ configurable: true
3609
+ });
3610
+ // Life Cycle
3611
+ DFSModifiersComponent.prototype.ngOnInit = function () {
3612
+ var _a;
3613
+ if (((_a = this.ModifierLookups) === null || _a === void 0 ? void 0 : _a.length) <= 0) {
3614
+ this.CreateNewModifier();
3615
+ }
3616
+ };
3617
+ // API Methods
3618
+ DFSModifiersComponent.prototype.CreateNewModifier = function () {
3619
+ this.SetEditingModifier(i2.Guid.CreateRaw());
3620
+ };
3621
+ DFSModifiersComponent.prototype.DeleteModifier = function (modifierLookup, modifierName) {
3622
+ if (confirm("Are you sure you want to delete modifier '" + modifierName + "'?")) {
3623
+ this.appsFlowEventsSvc.DeleteSourceControl(modifierLookup);
3624
+ }
3625
+ };
3626
+ DFSModifiersComponent.prototype.SaveModifier = function () {
3627
+ var saveMdfrReq = {
3628
+ Modifier: Object.assign(Object.assign({}, this.EditingModifier), { Name: this.NameFormControl.value, Enabled: this.EnabledFormControl.value, PathFilterRegex: this.PathFilterFormControl.value, Priority: this.PriorityFormControl.value, Type: this.CurrentType }),
3629
+ ModifierLookup: this.EditingModifierLookup,
3630
+ ProjectLookup: this.Data.ProjectLookup,
3631
+ };
3632
+ var details = {};
3633
+ switch (this.CurrentType) {
3634
+ case 'LCU.Runtime.Applications.Modifiers.HTMLBaseDFSModifierManager, LCU.Runtime, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null':
3635
+ break;
3636
+ case 'LCU.Runtime.Applications.Modifiers.LCURegDFSModifierManager, LCU.Runtime, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null':
3637
+ details['StateDataToken'] = this.StateDataTokenFormControl.value;
3638
+ break;
3639
+ case 'LCU.Runtime.Applications.Modifiers.ThirdPartyLibraryDFSModifierManager, LCU.Runtime, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null':
3640
+ details['Location'] = this.LocationFormControl.value;
3641
+ details['Script'] = this.ScriptFormControl.value;
3642
+ details['ScriptID'] = this.ScriptIDFormControl.value;
3643
+ break;
3644
+ }
3645
+ saveMdfrReq.Modifier.Details = JSON.stringify(details);
3646
+ this.appsFlowEventsSvc.SaveDFSModifier(saveMdfrReq);
3647
+ };
3648
+ DFSModifiersComponent.prototype.SetEditingModifier = function (modifierLookup) {
3649
+ this.EditingModifierLookup = modifierLookup;
3650
+ this.setupModifierForm();
3651
+ };
3652
+ DFSModifiersComponent.prototype.TypeChanged = function (event) {
3653
+ this.CurrentType = event.value;
3654
+ this.setupTypeForm();
3655
+ };
3656
+ // Helpers
3657
+ DFSModifiersComponent.prototype.setupModifierForm = function () {
3658
+ var _a, _b, _c, _d, _e, _f;
3659
+ if (this.EditingModifier != null) {
3660
+ this.CurrentType = (_a = this.EditingModifier) === null || _a === void 0 ? void 0 : _a.Type;
3661
+ this.ModifierFormGroup = this.formBldr.group({
3662
+ name: [(_b = this.EditingModifier) === null || _b === void 0 ? void 0 : _b.Name, forms.Validators.required],
3663
+ type: [this.CurrentType, forms.Validators.required],
3664
+ priority: [(_c = this.EditingModifier) === null || _c === void 0 ? void 0 : _c.Priority, forms.Validators.required],
3665
+ enabled: [(_d = this.EditingModifier) === null || _d === void 0 ? void 0 : _d.Enabled, forms.Validators.required],
3666
+ useForProject: [(_e = this.EditingModifier) === null || _e === void 0 ? void 0 : _e.Enabled, forms.Validators.required],
3667
+ pathFilter: [
3668
+ (_f = this.EditingModifier) === null || _f === void 0 ? void 0 : _f.PathFilterRegex,
3669
+ forms.Validators.required,
3670
+ ],
3671
+ });
3672
+ this.setupTypeForm();
3673
+ }
3674
+ };
3675
+ DFSModifiersComponent.prototype.setupTypeForm = function () {
3676
+ var _a;
3677
+ this.ModifierFormGroup.removeControl('stateDataToken');
3678
+ this.ModifierFormGroup.removeControl('location');
3679
+ this.ModifierFormGroup.removeControl('script');
3680
+ this.ModifierFormGroup.removeControl('scriptId');
3681
+ var details = JSON.parse(((_a = this.EditingModifier) === null || _a === void 0 ? void 0 : _a.Details) || '{}');
3682
+ switch (this.CurrentType) {
3683
+ case 'LCU.Runtime.Applications.Modifiers.HTMLBaseDFSModifierManager, LCU.Runtime, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null':
3684
+ break;
3685
+ case 'LCU.Runtime.Applications.Modifiers.LCURegDFSModifierManager, LCU.Runtime, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null':
3686
+ this.ModifierFormGroup.addControl('stateDataToken', this.formBldr.control((details === null || details === void 0 ? void 0 : details.StateDataToken) || '', [
3687
+ forms.Validators.required,
3688
+ ]));
3689
+ break;
3690
+ case 'LCU.Runtime.Applications.Modifiers.ThirdPartyLibraryDFSModifierManager, LCU.Runtime, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null':
3691
+ this.ModifierFormGroup.addControl('location', this.formBldr.control((details === null || details === void 0 ? void 0 : details.Location) || '', [forms.Validators.required]));
3692
+ this.ModifierFormGroup.addControl('script', this.formBldr.control((details === null || details === void 0 ? void 0 : details.Script) || '', [forms.Validators.required]));
3693
+ this.ModifierFormGroup.addControl('scriptId', this.formBldr.control((details === null || details === void 0 ? void 0 : details.ScriptID) || '', [forms.Validators.required]));
3694
+ break;
3695
+ }
3696
+ };
3697
+ return DFSModifiersComponent;
3698
+ }());
3699
+ DFSModifiersComponent.decorators = [
3700
+ { type: i0.Component, args: [{
3701
+ selector: 'lcu-dfs-modifiers',
3702
+ template: "<div>\n <form\n [formGroup]=\"ModifierFormGroup\"\n (ngSubmit)=\"SaveModifier()\"\n *ngIf=\"EditingModifier\"\n >\n <div class=\"form-card\">\n <mat-card class=\"spread\">\n <mat-card-header>\n <mat-card-title> DFS Modifier </mat-card-title>\n\n <div fxFlex></div>\n\n <mat-icon\n matSuffix\n matTooltip=\"Configure modifiers for your DFS files.\"\n >\n info_outline\n </mat-icon>\n </mat-card-header>\n\n <mat-card-content>\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n formControlName=\"name\"\n placeholder=\"Name\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n formControlName=\"priority\"\n placeholder=\"Priority\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n formControlName=\"pathFilter\"\n placeholder=\"Path Filter (regex)\"\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <mat-select\n formControlName=\"type\"\n placeholder=\"DFS Modifier Type\"\n (selectionChange)=\"TypeChanged($event)\"\n >\n <mat-option\n value=\"LCU.Runtime.Applications.Modifiers.HTMLBaseDFSModifierManager, LCU.Runtime, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null\"\n >\n HTML Base Modfier\n </mat-option>\n\n <mat-option\n value=\"LCU.Runtime.Applications.Modifiers.LCURegDFSModifierManager, LCU.Runtime, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null\"\n >\n LCU Reg Modfier\n </mat-option>\n\n <mat-option\n value=\"LCU.Runtime.Applications.Modifiers.ThirdPartyLibraryDFSModifierManager, LCU.Runtime, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null\"\n >\n Thrid Party Library Modifier\n </mat-option>\n </mat-select>\n </mat-form-field>\n\n <ng-container\n *ngIf=\"\n CurrentType ==\n 'LCU.Runtime.Applications.Modifiers.LCURegDFSModifierManager, LCU.Runtime, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'\n \"\n >\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n formControlName=\"stateDataToken\"\n placeholder=\"State Data Token\"\n required\n />\n </mat-form-field>\n </ng-container>\n\n <ng-container\n *ngIf=\"\n CurrentType ==\n 'LCU.Runtime.Applications.Modifiers.ThirdPartyLibraryDFSModifierManager, LCU.Runtime, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'\n \"\n >\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n formControlName=\"location\"\n placeholder=\"Location\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n formControlName=\"scriptId\"\n placeholder=\"Script ID\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n formControlName=\"script\"\n placeholder=\"Script\"\n required\n />\n </mat-form-field>\n </ng-container>\n\n <mat-slide-toggle class=\"spread\" formControlName=\"enabled\">\n Is Enabled?\n </mat-slide-toggle>\n </mat-card-content>\n </mat-card>\n </div>\n\n <div class=\"spread\">\n <div fxFlex></div>\n\n <button mat-button type=\"button\" (click)=\"SetEditingModifier(null)\">\n <mat-icon>cancel</mat-icon> Cancel\n </button>\n\n <div fxFlex></div>\n\n <button\n mat-raised-button\n type=\"submit\"\n color=\"primary\"\n [disabled]=\"!ModifierFormGroup.valid || !ModifierFormGroup.dirty\"\n >\n <mat-icon>save</mat-icon> Save DFS Modifier\n </button>\n\n <div fxFlex></div>\n </div>\n </form>\n\n <div class=\"spread\" *ngIf=\"!EditingModifier\">\n <span class=\"apps-actions\">\n <button mat-raised-button color=\"accent\" (click)=\"CreateNewModifier()\">\n <mat-icon color=\"primary\">add</mat-icon> Create New\n </button>\n </span>\n\n <div class=\"spread\">\n <div *ngIf=\"ModifierLookups?.length <= 0\">\n <h2>No DFS modifiers created, create your first DFS modifier.</h2>\n </div>\n\n <div *ngIf=\"ModifierLookups?.length > 0\">\n <h2>DFS Modifiers</h2>\n\n <div fxLayout=\"row wrap\" fxLayout.lt-md=\"column\">\n <div\n fxFlex=\"30%\"\n fxFlex.lt-md=\"100%\"\n *ngFor=\"let modifierLookup of ModifierLookups\"\n >\n <mat-card\n class=\"spread\"\n *ngIf=\"Modifiers[modifierLookup]; let modifier\"\n >\n <mat-card-header>\n <!-- <img mat-card-avatar=\"/assets/images/project-icon.png\" /> -->\n\n <mat-card-title\n class=\"mat-subheading-2\"\n [matTooltip]=\"modifier.Name\"\n >\n {{ modifier.Name || modifier.Lookup }}\n </mat-card-title>\n </mat-card-header>\n\n <mat-card-content>\n <div class=\"spread\">\n <mat-slide-toggle class=\"spread\" [checked]=\"Project?.ModifierLookups.indexOf(modifierLookup) >= 0\">\n Use for project?\n </mat-slide-toggle>\n </div>\n </mat-card-content>\n\n <mat-card-actions>\n <div class=\"data-app-actions\">\n <div fxFlex></div>\n\n <button\n mat-icon-button\n color=\"accent\"\n (click)=\"SetEditingModifier(modifierLookup)\"\n >\n <mat-icon matTooltip=\"Edit DFS Modifier\">\n settings\n </mat-icon>\n </button>\n\n <button\n mat-icon-button\n color=\"warn\"\n (click)=\"DeleteModifier(modifierLookup, modifier.Name)\"\n >\n <mat-icon matTooltip=\"Delete {{ modifier.Name }}\">\n delete_forever\n </mat-icon>\n </button>\n </div>\n\n <div class=\"data-app-fakes\">\n <div fxFlex></div>\n\n <button mat-icon-button disabled>\n <mat-icon>fiber_manual_record</mat-icon>\n </button>\n\n <button mat-icon-button disabled>\n <mat-icon>fiber_manual_record</mat-icon>\n </button>\n </div>\n </mat-card-actions>\n </mat-card>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n",
3703
+ styles: ["@import url(\"https://fonts.googleapis.com/icon?family=Material+Icons\");@import url(\"https://fonts.googleapis.com/css?family=Encode+Sans+Condensed:400,900&display=swap\");@import url(\"https://fonts.googleapis.com/css?family=Open+Sans:300,400,700&display=swap\");.disable-autofill-background-default input:-webkit-autofill,.disable-autofill-background-default input:-webkit-autofill:focus,.disable-autofill-background-default input:-webkit-autofill:hover,.disable-autofill-background-default select:-webkit-autofill,.disable-autofill-background-default select:-webkit-autofill:focus,.disable-autofill-background-default select:-webkit-autofill:hover,.disable-autofill-background-default textarea:-webkit-autofill,.disable-autofill-background-default textarea:-webkit-autofill:focus,.disable-autofill-background-default textarea:-webkit-autofill:hover{-webkit-transition:background-color 5000s!important;transition:background-color 5000s!important}.list-item-disabled{cursor:not-allowed!important;filter:alpha(opacity=50);opacity:.5}.filler{display:inline-block!important;flex:1 1 auto}.sticky{position:sticky;top:0;z-index:750}.inline{display:inline-block}.contents,.page-element{display:contents}.mat-spinner{margin:auto}.mat-full-width{width:100%}.spread{margin:2rem}.spread-thin{margin:1rem}.overlay{position:sticky!important}.overlay.top{top:0}.overlay.bottom{bottom:0}.margin-0{margin:0!important}.margin-top-0,.margin-y-0{margin-top:0!important}.margin-right-0,.margin-x-0{margin-right:0!important}.margin-bottom-0,.margin-y-0{margin-bottom:0!important}.margin-left-0,.margin-x-0{margin-left:0!important}.margin-1{margin:.25rem!important}.margin-top-1,.margin-y-1{margin-top:.25rem!important}.margin-right-1,.margin-x-1{margin-right:.25rem!important}.margin-bottom-1,.margin-y-1{margin-bottom:.25rem!important}.margin-left-1,.margin-x-1{margin-left:.25rem!important}.margin-2{margin:.5rem!important}.margin-top-2,.margin-y-2{margin-top:.5rem!important}.margin-right-2,.margin-x-2{margin-right:.5rem!important}.margin-bottom-2,.margin-y-2{margin-bottom:.5rem!important}.margin-left-2,.margin-x-2{margin-left:.5rem!important}.margin-3{margin:1rem!important}.margin-top-3,.margin-y-3{margin-top:1rem!important}.margin-top-bottom-3{margin:1rem 0!important}.margin-right-3,.margin-x-3{margin-right:1rem!important}.margin-bottom-3,.margin-y-3{margin-bottom:1rem!important}.margin-left-3,.margin-x-3{margin-left:1rem!important}.margin-4{margin:2rem!important}.margin-top-4,.margin-y-4{margin-top:2rem!important}.margin-right-4,.margin-x-4{margin-right:2rem!important}.margin-bottom-4,.margin-y-4{margin-bottom:2rem!important}.margin-left-4,.margin-x-4{margin-left:2rem!important}.margin-right-5,.margin-x-5{margin-right:4rem!important}.margin-bottom-5,.margin-y-5{margin-bottom:4rem!important}.margin-left-5,.margin-x-5{margin-left:4rem!important}.margin-5{margin:4rem!important}.margin-top-5,.margin-y-5{margin-top:4rem!important}.margin-right-6,.margin-x-6{margin-right:4.5rem!important}.margin-bottom-6,.margin-y-6{margin-bottom:4.5rem!important}.margin-left-6,.margin-x-6{margin-left:4.5rem!important}.margin-7{margin:6rem!important}.margin-top-7,.margin-y-7{margin-top:6rem!important}.margin-right-7,.margin-x-7{margin-right:6rem!important}.margin-bottom-7,.margin-y-7{margin-bottom:6rem!important}.margin-left-7,.margin-x-7{margin-left:6rem!important}.margin-8{margin:7.5rem!important}.margin-top-8,.margin-y-8{margin-top:7.5rem!important}.margin-right-8,.margin-x-8{margin-right:7.5rem!important}.margin-bottom-8,.margin-y-8{margin-bottom:7.5rem!important}.margin-left-8,.margin-x-8{margin-left:7.5rem!important}.margin-9{margin:9rem!important}.margin-top-9,.margin-y-9{margin-top:9rem!important}.margin-right-9,.margin-x-9{margin-right:9rem!important}.margin-bottom-9,.margin-y-9{margin-bottom:9rem!important}.margin-left-9,.margin-x-9{margin-left:9rem!important}.padding-0{padding:0!important}.padding-top-0,.padding-y-0{padding-top:0!important}.padding-right-0,.padding-x-0{padding-right:0!important}.padding-bottom-0,.padding-y-0{padding-bottom:0!important}.padding-left-0,.padding-x-0{padding-left:0!important}.padding-1{padding:.25rem!important}.padding-top-1,.padding-y-1{padding-top:.25rem!important}.padding-right-1,.padding-x-1{padding-right:.25rem!important}.padding-bottom-1,.padding-y-1{padding-bottom:.25rem!important}.padding-left-1,.padding-x-1{padding-left:.25rem!important}.padding-2{padding:.5rem!important}.padding-top-2,.padding-y-2{padding-top:.5rem!important}.padding-right-2,.padding-x-2{padding-right:.5rem!important}.padding-bottom-2,.padding-y-2{padding-bottom:.5rem!important}.padding-left-2,.padding-x-2{padding-left:.5rem!important}.padding-3{padding:1rem!important}.padding-top-3,.padding-y-3{padding-top:1rem!important}.padding-right-3,.padding-x-3{padding-right:1rem!important}.padding-bottom-3,.padding-y-3{padding-bottom:1rem!important}.padding-left-3,.padding-x-3{padding-left:1rem!important}.padding-4{padding:2rem!important}.padding-top-4,.padding-y-4{padding-top:2rem!important}.padding-right-4,.padding-x-4{padding-right:2rem!important}.padding-bottom-4,.padding-y-4{padding-bottom:2rem!important}.padding-left-4,.padding-x-4{padding-left:2rem!important}.padding-5{padding:4rem!important}.padding-top-5,.padding-y-5{padding-top:4rem!important}.padding-right-5,.padding-x-5{padding-right:4rem!important}.padding-bottom-5,.padding-y-5{padding-bottom:4rem!important}.padding-left-5,.padding-x-5{padding-left:4rem!important}.margin-n1{margin:-.25rem!important}.margin-top-n1,.margin-y-n1{margin-top:-.25rem!important}.margin-right-n1,.margin-x-n1{margin-right:-.25rem!important}.margin-bottom-n1,.margin-y-n1{margin-bottom:-.25rem!important}.margin-left-n1,.margin-x-n1{margin-left:-.25rem!important}.margin-n2{margin:-.5rem!important}.margin-top-n2,.margin-y-n2{margin-top:-.5rem!important}.margin-right-n2,.margin-x-n2{margin-right:-.5rem!important}.margin-bottom-n2,.margin-y-n2{margin-bottom:-.5rem!important}.margin-left-n2,.margin-x-n2{margin-left:-.5rem!important}.margin-n3{margin:-1rem!important}.margin-top-n3,.margin-y-n3{margin-top:-1rem!important}.margin-right-n3,.margin-x-n3{margin-right:-1rem!important}.margin-bottom-n3,.margin-y-n3{margin-bottom:-1rem!important}.margin-left-n3,.margin-x-n3{margin-left:-1rem!important}.margin-n4{margin:-2rem!important}.margin-top-n4,.margin-y-n4{margin-top:-2rem!important}.margin-right-n4,.margin-x-n4{margin-right:-2rem!important}.margin-bottom-n4,.margin-y-n4{margin-bottom:-2rem!important}.margin-left-n4,.margin-x-n4{margin-left:-2rem!important}.margin-n5{margin:-4rem!important}.margin-top-n5,.margin-y-n5{margin-top:-4rem!important}.margin-right-n5,.margin-x-n5{margin-right:-4rem!important}.margin-bottom-n5,.margin-y-n5{margin-bottom:-4rem!important}.margin-left-n5,.margin-x-n5{margin-left:-4rem!important}.margin-auto{margin:auto!important}.margin-top-auto,.margin-y-auto{margin-top:auto!important}.margin-right-auto,.margin-x-auto{margin-right:auto!important}.margin-bottom-auto,.margin-y-auto{margin-bottom:auto!important}.margin-left-auto,.margin-x-auto{margin-left:auto!important}@media (min-width:576px){.margin-sm-0{margin:0!important}.margin-top-sm-0,.margin-y-sm-0{margin-top:0!important}.margin-right-sm-0,.margin-x-sm-0{margin-right:0!important}.margin-bottom-sm-0,.margin-y-sm-0{margin-bottom:0!important}.margin-left-sm-0,.margin-x-sm-0{margin-left:0!important}.margin-sm-1{margin:.25rem!important}.margin-top-sm-1,.margin-y-sm-1{margin-top:.25rem!important}.margin-right-sm-1,.margin-x-sm-1{margin-right:.25rem!important}.margin-bottom-sm-1,.margin-y-sm-1{margin-bottom:.25rem!important}.margin-left-sm-1,.margin-x-sm-1{margin-left:.25rem!important}.margin-sm-2{margin:.5rem!important}.margin-top-sm-2,.margin-y-sm-2{margin-top:.5rem!important}.margin-right-sm-2,.margin-x-sm-2{margin-right:.5rem!important}.margin-bottom-sm-2,.margin-y-sm-2{margin-bottom:.5rem!important}.margin-left-sm-2,.margin-x-sm-2{margin-left:.5rem!important}.margin-sm-3{margin:1rem!important}.margin-top-sm-3,.margin-y-sm-3{margin-top:1rem!important}.margin-right-sm-3,.margin-x-sm-3{margin-right:1rem!important}.margin-bottom-sm-3,.margin-y-sm-3{margin-bottom:1rem!important}.margin-left-sm-3,.margin-x-sm-3{margin-left:1rem!important}.margin-sm-4{margin:2rem!important}.margin-top-sm-4,.margin-y-sm-4{margin-top:2rem!important}.margin-right-sm-4,.margin-x-sm-4{margin-right:2rem!important}.margin-bottom-sm-4,.margin-y-sm-4{margin-bottom:2rem!important}.margin-left-sm-4,.margin-x-sm-4{margin-left:2rem!important}.margin-sm-5{margin:4rem!important}.margin-top-sm-5,.margin-y-sm-5{margin-top:4rem!important}.margin-right-sm-5,.margin-x-sm-5{margin-right:4rem!important}.margin-bottom-sm-5,.margin-y-sm-5{margin-bottom:4rem!important}.margin-left-sm-5,.margin-x-sm-5{margin-left:4rem!important}.padding-sm-0{padding:0!important}.padding-top-sm-0,.padding-y-sm-0{padding-top:0!important}.padding-right-sm-0,.padding-x-sm-0{padding-right:0!important}.padding-bottom-sm-0,.padding-y-sm-0{padding-bottom:0!important}.padding-left-sm-0,.padding-x-sm-0{padding-left:0!important}.padding-sm-1{padding:.25rem!important}.padding-top-sm-1,.padding-y-sm-1{padding-top:.25rem!important}.padding-right-sm-1,.padding-x-sm-1{padding-right:.25rem!important}.padding-bottom-sm-1,.padding-y-sm-1{padding-bottom:.25rem!important}.padding-left-sm-1,.padding-x-sm-1{padding-left:.25rem!important}.padding-sm-2{padding:.5rem!important}.padding-top-sm-2,.padding-y-sm-2{padding-top:.5rem!important}.padding-right-sm-2,.padding-x-sm-2{padding-right:.5rem!important}.padding-bottom-sm-2,.padding-y-sm-2{padding-bottom:.5rem!important}.padding-left-sm-2,.padding-x-sm-2{padding-left:.5rem!important}.padding-sm-3{padding:1rem!important}.padding-top-sm-3,.padding-y-sm-3{padding-top:1rem!important}.padding-right-sm-3,.padding-x-sm-3{padding-right:1rem!important}.padding-bottom-sm-3,.padding-y-sm-3{padding-bottom:1rem!important}.padding-left-sm-3,.padding-x-sm-3{padding-left:1rem!important}.padding-sm-4{padding:2rem!important}.padding-top-sm-4,.padding-y-sm-4{padding-top:2rem!important}.padding-right-sm-4,.padding-x-sm-4{padding-right:2rem!important}.padding-bottom-sm-4,.padding-y-sm-4{padding-bottom:2rem!important}.padding-left-sm-4,.padding-x-sm-4{padding-left:2rem!important}.padding-sm-5{padding:4rem!important}.padding-top-sm-5,.padding-y-sm-5{padding-top:4rem!important}.padding-right-sm-5,.padding-x-sm-5{padding-right:4rem!important}.padding-bottom-sm-5,.padding-y-sm-5{padding-bottom:4rem!important}.padding-left-sm-5,.padding-x-sm-5{padding-left:4rem!important}.margin-sm-n1{margin:-.25rem!important}.margin-top-sm-n1,.margin-y-sm-n1{margin-top:-.25rem!important}.margin-right-sm-n1,.margin-x-sm-n1{margin-right:-.25rem!important}.margin-bottom-sm-n1,.margin-y-sm-n1{margin-bottom:-.25rem!important}.margin-left-sm-n1,.margin-x-sm-n1{margin-left:-.25rem!important}.margin-sm-n2{margin:-.5rem!important}.margin-top-sm-n2,.margin-y-sm-n2{margin-top:-.5rem!important}.margin-right-sm-n2,.margin-x-sm-n2{margin-right:-.5rem!important}.margin-bottom-sm-n2,.margin-y-sm-n2{margin-bottom:-.5rem!important}.margin-left-sm-n2,.margin-x-sm-n2{margin-left:-.5rem!important}.margin-sm-n3{margin:-1rem!important}.margin-top-sm-n3,.margin-y-sm-n3{margin-top:-1rem!important}.margin-right-sm-n3,.margin-x-sm-n3{margin-right:-1rem!important}.margin-bottom-sm-n3,.margin-y-sm-n3{margin-bottom:-1rem!important}.margin-left-sm-n3,.margin-x-sm-n3{margin-left:-1rem!important}.margin-sm-n4{margin:-2rem!important}.margin-top-sm-n4,.margin-y-sm-n4{margin-top:-2rem!important}.margin-right-sm-n4,.margin-x-sm-n4{margin-right:-2rem!important}.margin-bottom-sm-n4,.margin-y-sm-n4{margin-bottom:-2rem!important}.margin-left-sm-n4,.margin-x-sm-n4{margin-left:-2rem!important}.margin-sm-n5{margin:-4rem!important}.margin-top-sm-n5,.margin-y-sm-n5{margin-top:-4rem!important}.margin-right-sm-n5,.margin-x-sm-n5{margin-right:-4rem!important}.margin-bottom-sm-n5,.margin-y-sm-n5{margin-bottom:-4rem!important}.margin-left-sm-n5,.margin-x-sm-n5{margin-left:-4rem!important}.margin-sm-auto{margin:auto!important}.margin-top-sm-auto,.margin-y-sm-auto{margin-top:auto!important}.margin-right-sm-auto,.margin-x-sm-auto{margin-right:auto!important}.margin-bottom-sm-auto,.margin-y-sm-auto{margin-bottom:auto!important}.margin-left-sm-auto,.margin-x-sm-auto{margin-left:auto!important}}@media (min-width:768px){.margin-md-0{margin:0!important}.margin-top-md-0,.margin-y-md-0{margin-top:0!important}.margin-right-md-0,.margin-x-md-0{margin-right:0!important}.margin-bottom-md-0,.margin-y-md-0{margin-bottom:0!important}.margin-left-md-0,.margin-x-md-0{margin-left:0!important}.margin-md-1{margin:.25rem!important}.margin-top-md-1,.margin-y-md-1{margin-top:.25rem!important}.margin-right-md-1,.margin-x-md-1{margin-right:.25rem!important}.margin-bottom-md-1,.margin-y-md-1{margin-bottom:.25rem!important}.margin-left-md-1,.margin-x-md-1{margin-left:.25rem!important}.margin-md-2{margin:.5rem!important}.margin-top-md-2,.margin-y-md-2{margin-top:.5rem!important}.margin-right-md-2,.margin-x-md-2{margin-right:.5rem!important}.margin-bottom-md-2,.margin-y-md-2{margin-bottom:.5rem!important}.margin-left-md-2,.margin-x-md-2{margin-left:.5rem!important}.margin-md-3{margin:1rem!important}.margin-top-md-3,.margin-y-md-3{margin-top:1rem!important}.margin-right-md-3,.margin-x-md-3{margin-right:1rem!important}.margin-bottom-md-3,.margin-y-md-3{margin-bottom:1rem!important}.margin-left-md-3,.margin-x-md-3{margin-left:1rem!important}.margin-md-4{margin:2rem!important}.margin-top-md-4,.margin-y-md-4{margin-top:2rem!important}.margin-right-md-4,.margin-x-md-4{margin-right:2rem!important}.margin-bottom-md-4,.margin-y-md-4{margin-bottom:2rem!important}.margin-left-md-4,.margin-x-md-4{margin-left:2rem!important}.margin-md-5{margin:4rem!important}.margin-top-md-5,.margin-y-md-5{margin-top:4rem!important}.margin-right-md-5,.margin-x-md-5{margin-right:4rem!important}.margin-bottom-md-5,.margin-y-md-5{margin-bottom:4rem!important}.margin-left-md-5,.margin-x-md-5{margin-left:4rem!important}.padding-md-0{padding:0!important}.padding-top-md-0,.padding-y-md-0{padding-top:0!important}.padding-right-md-0,.padding-x-md-0{padding-right:0!important}.padding-bottom-md-0,.padding-y-md-0{padding-bottom:0!important}.padding-left-md-0,.padding-x-md-0{padding-left:0!important}.padding-md-1{padding:.25rem!important}.padding-top-md-1,.padding-y-md-1{padding-top:.25rem!important}.padding-right-md-1,.padding-x-md-1{padding-right:.25rem!important}.padding-bottom-md-1,.padding-y-md-1{padding-bottom:.25rem!important}.padding-left-md-1,.padding-x-md-1{padding-left:.25rem!important}.padding-md-2{padding:.5rem!important}.padding-top-md-2,.padding-y-md-2{padding-top:.5rem!important}.padding-right-md-2,.padding-x-md-2{padding-right:.5rem!important}.padding-bottom-md-2,.padding-y-md-2{padding-bottom:.5rem!important}.padding-left-md-2,.padding-x-md-2{padding-left:.5rem!important}.padding-md-3{padding:1rem!important}.padding-top-md-3,.padding-y-md-3{padding-top:1rem!important}.padding-right-md-3,.padding-x-md-3{padding-right:1rem!important}.padding-bottom-md-3,.padding-y-md-3{padding-bottom:1rem!important}.padding-left-md-3,.padding-x-md-3{padding-left:1rem!important}.padding-md-4{padding:2rem!important}.padding-top-md-4,.padding-y-md-4{padding-top:2rem!important}.padding-right-md-4,.padding-x-md-4{padding-right:2rem!important}.padding-bottom-md-4,.padding-y-md-4{padding-bottom:2rem!important}.padding-left-md-4,.padding-x-md-4{padding-left:2rem!important}.padding-md-5{padding:4rem!important}.padding-top-md-5,.padding-y-md-5{padding-top:4rem!important}.padding-right-md-5,.padding-x-md-5{padding-right:4rem!important}.padding-bottom-md-5,.padding-y-md-5{padding-bottom:4rem!important}.padding-left-md-5,.padding-x-md-5{padding-left:4rem!important}.margin-md-n1{margin:-.25rem!important}.margin-top-md-n1,.margin-y-md-n1{margin-top:-.25rem!important}.margin-right-md-n1,.margin-x-md-n1{margin-right:-.25rem!important}.margin-bottom-md-n1,.margin-y-md-n1{margin-bottom:-.25rem!important}.margin-left-md-n1,.margin-x-md-n1{margin-left:-.25rem!important}.margin-md-n2{margin:-.5rem!important}.margin-top-md-n2,.margin-y-md-n2{margin-top:-.5rem!important}.margin-right-md-n2,.margin-x-md-n2{margin-right:-.5rem!important}.margin-bottom-md-n2,.margin-y-md-n2{margin-bottom:-.5rem!important}.margin-left-md-n2,.margin-x-md-n2{margin-left:-.5rem!important}.margin-md-n3{margin:-1rem!important}.margin-top-md-n3,.margin-y-md-n3{margin-top:-1rem!important}.margin-right-md-n3,.margin-x-md-n3{margin-right:-1rem!important}.margin-bottom-md-n3,.margin-y-md-n3{margin-bottom:-1rem!important}.margin-left-md-n3,.margin-x-md-n3{margin-left:-1rem!important}.margin-md-n4{margin:-2rem!important}.margin-top-md-n4,.margin-y-md-n4{margin-top:-2rem!important}.margin-right-md-n4,.margin-x-md-n4{margin-right:-2rem!important}.margin-bottom-md-n4,.margin-y-md-n4{margin-bottom:-2rem!important}.margin-left-md-n4,.margin-x-md-n4{margin-left:-2rem!important}.margin-md-n5{margin:-4rem!important}.margin-top-md-n5,.margin-y-md-n5{margin-top:-4rem!important}.margin-right-md-n5,.margin-x-md-n5{margin-right:-4rem!important}.margin-bottom-md-n5,.margin-y-md-n5{margin-bottom:-4rem!important}.margin-left-md-n5,.margin-x-md-n5{margin-left:-4rem!important}.margin-md-auto{margin:auto!important}.margin-top-md-auto,.margin-y-md-auto{margin-top:auto!important}.margin-right-md-auto,.margin-x-md-auto{margin-right:auto!important}.margin-bottom-md-auto,.margin-y-md-auto{margin-bottom:auto!important}.margin-left-md-auto,.margin-x-md-auto{margin-left:auto!important}}@media (min-width:992px){.margin-lg-0{margin:0!important}.margin-top-lg-0,.margin-y-lg-0{margin-top:0!important}.margin-right-lg-0,.margin-x-lg-0{margin-right:0!important}.margin-bottom-lg-0,.margin-y-lg-0{margin-bottom:0!important}.margin-left-lg-0,.margin-x-lg-0{margin-left:0!important}.margin-lg-1{margin:.25rem!important}.margin-top-lg-1,.margin-y-lg-1{margin-top:.25rem!important}.margin-right-lg-1,.margin-x-lg-1{margin-right:.25rem!important}.margin-bottom-lg-1,.margin-y-lg-1{margin-bottom:.25rem!important}.margin-left-lg-1,.margin-x-lg-1{margin-left:.25rem!important}.margin-lg-2{margin:.5rem!important}.margin-top-lg-2,.margin-y-lg-2{margin-top:.5rem!important}.margin-right-lg-2,.margin-x-lg-2{margin-right:.5rem!important}.margin-bottom-lg-2,.margin-y-lg-2{margin-bottom:.5rem!important}.margin-left-lg-2,.margin-x-lg-2{margin-left:.5rem!important}.margin-lg-3{margin:1rem!important}.margin-top-lg-3,.margin-y-lg-3{margin-top:1rem!important}.margin-right-lg-3,.margin-x-lg-3{margin-right:1rem!important}.margin-bottom-lg-3,.margin-y-lg-3{margin-bottom:1rem!important}.margin-left-lg-3,.margin-x-lg-3{margin-left:1rem!important}.margin-lg-4{margin:2rem!important}.margin-top-lg-4,.margin-y-lg-4{margin-top:2rem!important}.margin-right-lg-4,.margin-x-lg-4{margin-right:2rem!important}.margin-bottom-lg-4,.margin-y-lg-4{margin-bottom:2rem!important}.margin-left-lg-4,.margin-x-lg-4{margin-left:2rem!important}.margin-lg-5{margin:4rem!important}.margin-top-lg-5,.margin-y-lg-5{margin-top:4rem!important}.margin-right-lg-5,.margin-x-lg-5{margin-right:4rem!important}.margin-bottom-lg-5,.margin-y-lg-5{margin-bottom:4rem!important}.margin-left-lg-5,.margin-x-lg-5{margin-left:4rem!important}.padding-lg-0{padding:0!important}.padding-top-lg-0,.padding-y-lg-0{padding-top:0!important}.padding-right-lg-0,.padding-x-lg-0{padding-right:0!important}.padding-bottom-lg-0,.padding-y-lg-0{padding-bottom:0!important}.padding-left-lg-0,.padding-x-lg-0{padding-left:0!important}.padding-lg-1{padding:.25rem!important}.padding-top-lg-1,.padding-y-lg-1{padding-top:.25rem!important}.padding-right-lg-1,.padding-x-lg-1{padding-right:.25rem!important}.padding-bottom-lg-1,.padding-y-lg-1{padding-bottom:.25rem!important}.padding-left-lg-1,.padding-x-lg-1{padding-left:.25rem!important}.padding-lg-2{padding:.5rem!important}.padding-top-lg-2,.padding-y-lg-2{padding-top:.5rem!important}.padding-right-lg-2,.padding-x-lg-2{padding-right:.5rem!important}.padding-bottom-lg-2,.padding-y-lg-2{padding-bottom:.5rem!important}.padding-left-lg-2,.padding-x-lg-2{padding-left:.5rem!important}.padding-lg-3{padding:1rem!important}.padding-top-lg-3,.padding-y-lg-3{padding-top:1rem!important}.padding-right-lg-3,.padding-x-lg-3{padding-right:1rem!important}.padding-bottom-lg-3,.padding-y-lg-3{padding-bottom:1rem!important}.padding-left-lg-3,.padding-x-lg-3{padding-left:1rem!important}.padding-lg-4{padding:2rem!important}.padding-top-lg-4,.padding-y-lg-4{padding-top:2rem!important}.padding-right-lg-4,.padding-x-lg-4{padding-right:2rem!important}.padding-bottom-lg-4,.padding-y-lg-4{padding-bottom:2rem!important}.padding-left-lg-4,.padding-x-lg-4{padding-left:2rem!important}.padding-lg-5{padding:4rem!important}.padding-top-lg-5,.padding-y-lg-5{padding-top:4rem!important}.padding-right-lg-5,.padding-x-lg-5{padding-right:4rem!important}.padding-bottom-lg-5,.padding-y-lg-5{padding-bottom:4rem!important}.padding-left-lg-5,.padding-x-lg-5{padding-left:4rem!important}.margin-lg-n1{margin:-.25rem!important}.margin-top-lg-n1,.margin-y-lg-n1{margin-top:-.25rem!important}.margin-right-lg-n1,.margin-x-lg-n1{margin-right:-.25rem!important}.margin-bottom-lg-n1,.margin-y-lg-n1{margin-bottom:-.25rem!important}.margin-left-lg-n1,.margin-x-lg-n1{margin-left:-.25rem!important}.margin-lg-n2{margin:-.5rem!important}.margin-top-lg-n2,.margin-y-lg-n2{margin-top:-.5rem!important}.margin-right-lg-n2,.margin-x-lg-n2{margin-right:-.5rem!important}.margin-bottom-lg-n2,.margin-y-lg-n2{margin-bottom:-.5rem!important}.margin-left-lg-n2,.margin-x-lg-n2{margin-left:-.5rem!important}.margin-lg-n3{margin:-1rem!important}.margin-top-lg-n3,.margin-y-lg-n3{margin-top:-1rem!important}.margin-right-lg-n3,.margin-x-lg-n3{margin-right:-1rem!important}.margin-bottom-lg-n3,.margin-y-lg-n3{margin-bottom:-1rem!important}.margin-left-lg-n3,.margin-x-lg-n3{margin-left:-1rem!important}.margin-lg-n4{margin:-2rem!important}.margin-top-lg-n4,.margin-y-lg-n4{margin-top:-2rem!important}.margin-right-lg-n4,.margin-x-lg-n4{margin-right:-2rem!important}.margin-bottom-lg-n4,.margin-y-lg-n4{margin-bottom:-2rem!important}.margin-left-lg-n4,.margin-x-lg-n4{margin-left:-2rem!important}.margin-lg-n5{margin:-4rem!important}.margin-top-lg-n5,.margin-y-lg-n5{margin-top:-4rem!important}.margin-right-lg-n5,.margin-x-lg-n5{margin-right:-4rem!important}.margin-bottom-lg-n5,.margin-y-lg-n5{margin-bottom:-4rem!important}.margin-left-lg-n5,.margin-x-lg-n5{margin-left:-4rem!important}.margin-lg-auto{margin:auto!important}.margin-top-lg-auto,.margin-y-lg-auto{margin-top:auto!important}.margin-right-lg-auto,.margin-x-lg-auto{margin-right:auto!important}.margin-bottom-lg-auto,.margin-y-lg-auto{margin-bottom:auto!important}.margin-left-lg-auto,.margin-x-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.margin-xl-0{margin:0!important}.margin-top-xl-0,.margin-y-xl-0{margin-top:0!important}.margin-right-xl-0,.margin-x-xl-0{margin-right:0!important}.margin-bottom-xl-0,.margin-y-xl-0{margin-bottom:0!important}.margin-left-xl-0,.margin-x-xl-0{margin-left:0!important}.margin-xl-1{margin:.25rem!important}.margin-top-xl-1,.margin-y-xl-1{margin-top:.25rem!important}.margin-right-xl-1,.margin-x-xl-1{margin-right:.25rem!important}.margin-bottom-xl-1,.margin-y-xl-1{margin-bottom:.25rem!important}.margin-left-xl-1,.margin-x-xl-1{margin-left:.25rem!important}.margin-xl-2{margin:.5rem!important}.margin-top-xl-2,.margin-y-xl-2{margin-top:.5rem!important}.margin-right-xl-2,.margin-x-xl-2{margin-right:.5rem!important}.margin-bottom-xl-2,.margin-y-xl-2{margin-bottom:.5rem!important}.margin-left-xl-2,.margin-x-xl-2{margin-left:.5rem!important}.margin-xl-3{margin:1rem!important}.margin-top-xl-3,.margin-y-xl-3{margin-top:1rem!important}.margin-right-xl-3,.margin-x-xl-3{margin-right:1rem!important}.margin-bottom-xl-3,.margin-y-xl-3{margin-bottom:1rem!important}.margin-left-xl-3,.margin-x-xl-3{margin-left:1rem!important}.margin-xl-4{margin:2rem!important}.margin-top-xl-4,.margin-y-xl-4{margin-top:2rem!important}.margin-right-xl-4,.margin-x-xl-4{margin-right:2rem!important}.margin-bottom-xl-4,.margin-y-xl-4{margin-bottom:2rem!important}.margin-left-xl-4,.margin-x-xl-4{margin-left:2rem!important}.margin-xl-5{margin:4rem!important}.margin-top-xl-5,.margin-y-xl-5{margin-top:4rem!important}.margin-right-xl-5,.margin-x-xl-5{margin-right:4rem!important}.margin-bottom-xl-5,.margin-y-xl-5{margin-bottom:4rem!important}.margin-left-xl-5,.margin-x-xl-5{margin-left:4rem!important}.padding-xl-0{padding:0!important}.padding-top-xl-0,.padding-y-xl-0{padding-top:0!important}.padding-right-xl-0,.padding-x-xl-0{padding-right:0!important}.padding-bottom-xl-0,.padding-y-xl-0{padding-bottom:0!important}.padding-left-xl-0,.padding-x-xl-0{padding-left:0!important}.padding-xl-1{padding:.25rem!important}.padding-top-xl-1,.padding-y-xl-1{padding-top:.25rem!important}.padding-right-xl-1,.padding-x-xl-1{padding-right:.25rem!important}.padding-bottom-xl-1,.padding-y-xl-1{padding-bottom:.25rem!important}.padding-left-xl-1,.padding-x-xl-1{padding-left:.25rem!important}.padding-xl-2{padding:.5rem!important}.padding-top-xl-2,.padding-y-xl-2{padding-top:.5rem!important}.padding-right-xl-2,.padding-x-xl-2{padding-right:.5rem!important}.padding-bottom-xl-2,.padding-y-xl-2{padding-bottom:.5rem!important}.padding-left-xl-2,.padding-x-xl-2{padding-left:.5rem!important}.padding-xl-3{padding:1rem!important}.padding-top-xl-3,.padding-y-xl-3{padding-top:1rem!important}.padding-right-xl-3,.padding-x-xl-3{padding-right:1rem!important}.padding-bottom-xl-3,.padding-y-xl-3{padding-bottom:1rem!important}.padding-left-xl-3,.padding-x-xl-3{padding-left:1rem!important}.padding-xl-4{padding:2rem!important}.padding-top-xl-4,.padding-y-xl-4{padding-top:2rem!important}.padding-right-xl-4,.padding-x-xl-4{padding-right:2rem!important}.padding-bottom-xl-4,.padding-y-xl-4{padding-bottom:2rem!important}.padding-left-xl-4,.padding-x-xl-4{padding-left:2rem!important}.padding-xl-5{padding:4rem!important}.padding-top-xl-5,.padding-y-xl-5{padding-top:4rem!important}.padding-right-xl-5,.padding-x-xl-5{padding-right:4rem!important}.padding-bottom-xl-5,.padding-y-xl-5{padding-bottom:4rem!important}.padding-left-xl-5,.padding-x-xl-5{padding-left:4rem!important}.margin-xl-n1{margin:-.25rem!important}.margin-top-xl-n1,.margin-y-xl-n1{margin-top:-.25rem!important}.margin-right-xl-n1,.margin-x-xl-n1{margin-right:-.25rem!important}.margin-bottom-xl-n1,.margin-y-xl-n1{margin-bottom:-.25rem!important}.margin-left-xl-n1,.margin-x-xl-n1{margin-left:-.25rem!important}.margin-xl-n2{margin:-.5rem!important}.margin-top-xl-n2,.margin-y-xl-n2{margin-top:-.5rem!important}.margin-right-xl-n2,.margin-x-xl-n2{margin-right:-.5rem!important}.margin-bottom-xl-n2,.margin-y-xl-n2{margin-bottom:-.5rem!important}.margin-left-xl-n2,.margin-x-xl-n2{margin-left:-.5rem!important}.margin-xl-n3{margin:-1rem!important}.margin-top-xl-n3,.margin-y-xl-n3{margin-top:-1rem!important}.margin-right-xl-n3,.margin-x-xl-n3{margin-right:-1rem!important}.margin-bottom-xl-n3,.margin-y-xl-n3{margin-bottom:-1rem!important}.margin-left-xl-n3,.margin-x-xl-n3{margin-left:-1rem!important}.margin-xl-n4{margin:-2rem!important}.margin-top-xl-n4,.margin-y-xl-n4{margin-top:-2rem!important}.margin-right-xl-n4,.margin-x-xl-n4{margin-right:-2rem!important}.margin-bottom-xl-n4,.margin-y-xl-n4{margin-bottom:-2rem!important}.margin-left-xl-n4,.margin-x-xl-n4{margin-left:-2rem!important}.margin-xl-n5{margin:-4rem!important}.margin-top-xl-n5,.margin-y-xl-n5{margin-top:-4rem!important}.margin-right-xl-n5,.margin-x-xl-n5{margin-right:-4rem!important}.margin-bottom-xl-n5,.margin-y-xl-n5{margin-bottom:-4rem!important}.margin-left-xl-n5,.margin-x-xl-n5{margin-left:-4rem!important}.margin-xl-auto{margin:auto!important}.margin-top-xl-auto,.margin-y-xl-auto{margin-top:auto!important}.margin-right-xl-auto,.margin-x-xl-auto{margin-right:auto!important}.margin-bottom-xl-auto,.margin-y-xl-auto{margin-bottom:auto!important}.margin-left-xl-auto,.margin-x-xl-auto{margin-left:auto!important}}.h1{font-size:2em}.h2{font-size:1.5em}.h3{font-size:1.17em}.h4{font-size:1em}.h5{font-size:.83em}.h6{font-size:.67em}.cursor-alias{cursor:alias}.cursor-all-scroll{cursor:all-scroll}.cursor-auto{cursor:auto}.cursor-cell{cursor:cell}.cursor-context-menu{cursor:context-menu}.cursor-col-resize{cursor:col-resize}.cursor-copy{cursor:copy}.cursor-crosshair{cursor:crosshair}.cursor-default{cursor:default}.cursor-e-resize{cursor:e-resize}.cursor-ew-resize{cursor:ew-resize}.cursor-grab{cursor:-webkit-grab;cursor:grab}.cursor-grabbing{cursor:-webkit-grabbing;cursor:grabbing}.cursor-help{cursor:help}.cursor-move{cursor:move}.cursor-n-resize{cursor:n-resize}.cursor-ne-resize{cursor:ne-resize}.cursor-nesw-resize{cursor:nesw-resize}.cursor-ns-resize{cursor:ns-resize}.cursor-nw-resize{cursor:nw-resize}.cursor-nwse-resize{cursor:nwse-resize}.cursor-no-drop{cursor:no-drop}.cursor-none{cursor:none}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-progress{cursor:progress}.cursor-row-resize{cursor:row-resize}.cursor-s-resize{cursor:s-resize}.cursor-se-resize{cursor:se-resize}.cursor-sw-resize{cursor:sw-resize}.cursor-text{cursor:text}.cursor-w-resize{cursor:w-resize}.cursor-wait{cursor:wait}.cursor-zoom-in{cursor:zoom-in}.cursor-zoom-out{cursor:zoom-out}.mat-tooltip{font-size:15px!important}body,html{height:100%}body{font-family:opens sans regular,sans-serif;margin:0;padding:0}iframe{border:none}.mat-badge-content{font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px;font-weight:600}.mat-badge-small .mat-badge-content{font-size:9px}.mat-badge-large .mat-badge-content{font-size:24px}.mat-h1,.mat-headline,.mat-typography h1{font:400 24px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h2,.mat-title,.mat-typography h2{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h3,.mat-subheading-2,.mat-typography h3{font:400 16px/28px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h4,.mat-subheading-1,.mat-typography h4{font:400 15px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h5,.mat-typography h5{font:400 11.62px/20px Roboto,Helvetica Neue,sans-serif;margin:0 0 12px}.mat-h6,.mat-typography h6{font:400 9.38px/20px Roboto,Helvetica Neue,sans-serif;margin:0 0 12px}.mat-body-2,.mat-body-strong{font:500 14px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-body,.mat-body-1,.mat-typography{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-body-1 p,.mat-body p,.mat-typography p{margin:0 0 12px}.mat-caption,.mat-small{font:400 12px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-display-4,.mat-typography .mat-display-4{font:300 112px/112px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.05em;margin:0 0 56px}.mat-display-3,.mat-typography .mat-display-3{font:400 56px/56px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.02em;margin:0 0 64px}.mat-display-2,.mat-typography .mat-display-2{font:400 45px/48px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.005em;margin:0 0 64px}.mat-display-1,.mat-typography .mat-display-1{font:400 34px/40px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 64px}.mat-bottom-sheet-container{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-button,.mat-fab,.mat-flat-button,.mat-icon-button,.mat-mini-fab,.mat-raised-button,.mat-stroked-button{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:500}.mat-button-toggle,.mat-card{font-family:Roboto,Helvetica Neue,sans-serif}.mat-card-title{font-size:24px;font-weight:500}.mat-card-header .mat-card-title{font-size:20px}.mat-card-content,.mat-card-subtitle{font-size:14px}.mat-checkbox{font-family:Roboto,Helvetica Neue,sans-serif}.mat-checkbox-layout .mat-checkbox-label{line-height:24px}.mat-chip{font-size:14px;font-weight:500}.mat-chip .mat-chip-remove.mat-icon,.mat-chip .mat-chip-trailing-icon.mat-icon{font-size:18px}.mat-table{font-family:Roboto,Helvetica Neue,sans-serif}.mat-header-cell{font-size:12px;font-weight:500}.mat-cell,.mat-footer-cell{font-size:14px}.mat-calendar{font-family:Roboto,Helvetica Neue,sans-serif}.mat-calendar-body{font-size:13px}.mat-calendar-body-label,.mat-calendar-period-button{font-size:14px;font-weight:500}.mat-calendar-table-header th{font-size:11px;font-weight:400}.mat-dialog-title{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-expansion-panel-header{font-family:Roboto,Helvetica Neue,sans-serif;font-size:15px;font-weight:400}.mat-expansion-panel-content{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-form-field{font-family:Roboto,Helvetica Neue,sans-serif;font-size:inherit;font-weight:400;letter-spacing:normal;line-height:1.125}.mat-form-field-wrapper{padding-bottom:1.34375em}.mat-form-field-prefix .mat-icon,.mat-form-field-suffix .mat-icon{font-size:150%;line-height:1.125}.mat-form-field-prefix .mat-icon-button,.mat-form-field-suffix .mat-icon-button{height:1.5em;width:1.5em}.mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-suffix .mat-icon-button .mat-icon{height:1.125em;line-height:1.125}.mat-form-field-infix{border-top:.84375em solid transparent;padding:.5em 0}.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.34375em) scale(.75);width:133.33333%}.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.34374em) scale(.75);width:133.33334%}.mat-form-field-label-wrapper{padding-top:.84375em;top:-.84375em}.mat-form-field-label{top:1.34375em}.mat-form-field-underline{bottom:1.34375em}.mat-form-field-subscript-wrapper{font-size:75%;margin-top:.66667em;top:calc(100% - 1.79167em)}.mat-form-field-appearance-legacy .mat-form-field-wrapper{padding-bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-infix{padding:.4375em 0}.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{-ms-transform:translateY(-1.28125em) scale(.75);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);width:133.33333%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{-ms-transform:translateY(-1.28124em) scale(.75);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);width:133.33334%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-ms-transform:translateY(-1.28123em) scale(.75);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);width:133.33335%}.mat-form-field-appearance-legacy .mat-form-field-label{top:1.28125em}.mat-form-field-appearance-legacy .mat-form-field-underline{bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-subscript-wrapper{margin-top:.54167em;top:calc(100% - 1.66667em)}@media print{.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28122em) scale(.75)}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28121em) scale(.75)}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.2812em) scale(.75)}}.mat-form-field-appearance-fill .mat-form-field-infix{padding:.25em 0 .75em}.mat-form-field-appearance-fill .mat-form-field-label{margin-top:-.5em;top:1.09375em}.mat-form-field-appearance-fill.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-.59375em) scale(.75);width:133.33333%}.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-.59374em) scale(.75);width:133.33334%}.mat-form-field-appearance-outline .mat-form-field-infix{padding:1em 0}.mat-form-field-appearance-outline .mat-form-field-label{margin-top:-.25em;top:1.84375em}.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.59375em) scale(.75);width:133.33333%}.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.59374em) scale(.75);width:133.33334%}.mat-grid-tile-footer,.mat-grid-tile-header{font-size:14px}.mat-grid-tile-footer .mat-line,.mat-grid-tile-header .mat-line{box-sizing:border-box;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-grid-tile-footer .mat-line:nth-child(n+2),.mat-grid-tile-header .mat-line:nth-child(n+2){font-size:12px}input.mat-input-element{margin-top:-.0625em}.mat-menu-item{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:400}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px}.mat-radio-button,.mat-select{font-family:Roboto,Helvetica Neue,sans-serif}.mat-select-trigger{height:1.125em}.mat-slide-toggle-content,.mat-slider-thumb-label-text{font-family:Roboto,Helvetica Neue,sans-serif}.mat-slider-thumb-label-text{font-size:12px;font-weight:500}.mat-stepper-horizontal,.mat-stepper-vertical{font-family:Roboto,Helvetica Neue,sans-serif}.mat-step-label{font-size:14px;font-weight:400}.mat-step-sub-label-error{font-weight:400}.mat-step-label-error{font-size:14px}.mat-step-label-selected{font-size:14px;font-weight:500}.mat-tab-group,.mat-tab-label,.mat-tab-link{font-family:Roboto,Helvetica Neue,sans-serif}.mat-tab-label,.mat-tab-link{font-size:14px;font-weight:500}.mat-toolbar,.mat-toolbar h1,.mat-toolbar h2,.mat-toolbar h3,.mat-toolbar h4,.mat-toolbar h5,.mat-toolbar h6{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0}.mat-tooltip{font-family:Roboto,Helvetica Neue,sans-serif;font-size:10px;padding-bottom:6px;padding-top:6px}.mat-tooltip-handset{font-size:14px;padding-bottom:8px;padding-top:8px}.mat-list-item,.mat-list-option{font-family:Roboto,Helvetica Neue,sans-serif}.mat-list-base .mat-list-item{font-size:16px}.mat-list-base .mat-list-item .mat-line{box-sizing:border-box;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-list-base .mat-list-item .mat-line:nth-child(n+2){font-size:14px}.mat-list-base .mat-list-option{font-size:16px}.mat-list-base .mat-list-option .mat-line{box-sizing:border-box;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-list-base .mat-list-option .mat-line:nth-child(n+2){font-size:14px}.mat-list-base .mat-subheader{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:500}.mat-list-base[dense] .mat-list-item{font-size:12px}.mat-list-base[dense] .mat-list-item .mat-line{box-sizing:border-box;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-list-base[dense] .mat-list-item .mat-line:nth-child(n+2),.mat-list-base[dense] .mat-list-option{font-size:12px}.mat-list-base[dense] .mat-list-option .mat-line{box-sizing:border-box;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-list-base[dense] .mat-list-option .mat-line:nth-child(n+2){font-size:12px}.mat-list-base[dense] .mat-subheader{font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px;font-weight:500}.mat-option{font-family:Roboto,Helvetica Neue,sans-serif;font-size:16px}.mat-optgroup-label{font:500 14px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-simple-snackbar{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px}.mat-simple-snackbar-action{font-family:inherit;font-size:inherit;font-weight:500;line-height:1}.mat-tree{font-family:Roboto,Helvetica Neue,sans-serif}.mat-nested-tree-node,.mat-tree-node{font-size:14px;font-weight:400}.mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{border-radius:50%;pointer-events:none;position:absolute;transform:scale(0);transition:opacity,transform 0ms cubic-bezier(0,0,.2,1)}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{-moz-appearance:none;-webkit-appearance:none;border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;outline:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.cdk-global-overlay-wrapper,.cdk-overlay-container{height:100%;left:0;pointer-events:none;top:0;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper,.cdk-overlay-pane{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{box-sizing:border-box;max-height:100%;max-width:100%;pointer-events:auto}.cdk-overlay-backdrop{-webkit-tap-highlight-color:transparent;bottom:0;left:0;opacity:0;pointer-events:auto;position:absolute;right:0;top:0;transition:opacity .4s cubic-bezier(.25,.8,.25,1);z-index:1000}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.32)}.cdk-overlay-transparent-backdrop,.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0}.cdk-overlay-connected-position-bounding-box{display:flex;flex-direction:column;min-height:1px;min-width:1px;position:absolute;z-index:1000}.cdk-global-scrollblock{overflow-y:scroll;position:fixed;width:100%}@-webkit-keyframes cdk-text-field-autofill-start{\n /*!*/}@keyframes cdk-text-field-autofill-start{\n /*!*/}@-webkit-keyframes cdk-text-field-autofill-end{\n /*!*/}@keyframes cdk-text-field-autofill-end{\n /*!*/}.cdk-text-field-autofill-monitored:-webkit-autofill{-webkit-animation:cdk-text-field-autofill-start 0s 1ms;animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){-webkit-animation:cdk-text-field-autofill-end 0s 1ms;animation:cdk-text-field-autofill-end 0s 1ms}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{box-sizing:content-box!important;height:auto!important;overflow:hidden!important;padding:2px 0!important}textarea.cdk-textarea-autosize-measuring-firefox{box-sizing:content-box!important;height:0!important;padding:2px 0!important}.mat-focus-indicator,.mat-mdc-focus-indicator{position:relative}.header,.title{font-family:Encode Sans Condensed,sans-serif;font-weight:900}.paragraph-title,.tagline{font-family:Open Sans,sans-serif;font-weight:400}.paragraph-title-bold .tagLine-bold{font-family:Open Sans,sans-serif;font-weight:700}.plain-text,.remarks{font-family:Open Sans,sans-serif;font-weight:300}.plain-text-bold{font-family:Open Sans,sans-serif;font-weight:700}.flex-column{flex-direction:column}.flex-column,.flex-row{box-sizing:border-box;display:flex}.flex-row{flex-direction:row}.flex-row-center{align-items:center;justify-content:center}.mat-button-large{font-size:18px;font-weight:700;line-height:48px;padding:0 24px!important}.mat-round{border-radius:.5em}:root{--background:#050505;--cyan-accent:rgba(132,255,255,0.75);--green-accent:#00e676;--initial-accent:#9cd8d7;--initial-dark-background:#222;--initial-dark-text:hsla(0,0%,100%,0.87);--initial-light-background:#f2f2f2;--initial-light-background:#fff;--initial-light-text:rgba(0,0,0,0.87);--initial-primary:#4a918e;--initial-warn:#ef4351;--orange-accent:#ff9800;--pink-accent:#e91e63;--purple-accent:#9c27b0;--success:#00e676;--yellow-accent:#fdd835}body{background-color:var(--initial-dark-background)}:host .valid-control{color:var(--green-accent)}:host .invalid-control{color:var(--theme-warn-500)}:host .actions .item:not(:last-child){margin-right:0}:host .project-thumbnail img{height:50px;width:auto}:host .active{background-color:var(--theme-accent-400)}:host .active,:host .inactive{transition:background-color 1s linear}:host .inactive{background-color:rgba(242,245,169,0)}:host .expansion-panel{margin-bottom:10px;width:100%}:host .expansion-container{max-height:300px;overflow-y:auto}:host .divider-fill-vert{background-color:var(--theme-accent-500);bottom:10%;min-height:100%;min-width:5px;top:10%}:host .divider-fill-hor{background-color:var(--theme-accent-500);height:5px;width:100%}:host .form-disabled{background-color:#797979;border-radius:4px;opacity:.5}@media (max-width:768px){.spread{margin:1em!important}}@media (max-width:480px){.spread{margin:.5em!important}}.spinner-logo{display:none!important}:host ::ng-deep .apps-actions{float:right}:host ::ng-deep .mat-card .mat-card-content{overflow:hidden;text-align:center}:host ::ng-deep .mat-card .mat-card-actions .data-app-actions{display:none!important}:host ::ng-deep .mat-card .mat-card-actions .data-app-fakes{display:flex!important}:host ::ng-deep .mat-card .mat-card-actions .data-app-fakes .mat-icon{font-size:8px}:host ::ng-deep .mat-card:hover .mat-card-actions .data-app-actions{display:flex!important}:host ::ng-deep .mat-card:hover .mat-card-actions .data-app-fakes{display:none!important}:host ::ng-deep .mat-subtitle .mat-chip-list{display:inline-block}:host ::ng-deep .mat-form-field{margin-bottom:.5em;margin-top:.5em}:host ::ng-deep .mat-form-field.with-hint{margin-bottom:1em}@media (max-width:768px){:host ::ng-deep .form-card{width:100%}:host ::ng-deep .mat-card .mat-card-actions .data-app-actions{display:flex!important}:host ::ng-deep .mat-card .mat-card-actions .data-app-fakes{display:none!important}}:host ::ng-deep .domain-item{border:1px solid var(--theme-accent-500);border-radius:5}"]
3704
+ },] }
3705
+ ];
3706
+ DFSModifiersComponent.ctorParameters = function () { return [
3707
+ { type: forms.FormBuilder },
3708
+ { type: ApplicationsFlowService },
3709
+ { type: ApplicationsFlowEventsService }
3710
+ ]; };
3711
+ DFSModifiersComponent.propDecorators = {
3712
+ Data: [{ type: i0.Input, args: ['data',] }]
3713
+ };
3714
+
3715
+ var ProjectTabsComponent = /** @class */ (function () {
3716
+ function ProjectTabsComponent() {
3238
3717
  }
3239
3718
  Object.defineProperty(ProjectTabsComponent.prototype, "ApplicationLookups", {
3240
3719
  // Fields
@@ -3257,11 +3736,29 @@
3257
3736
  ProjectLookup: this.ProjectLookup,
3258
3737
  Applications: this.Applications,
3259
3738
  Environment: this.Environment,
3260
- EnvironmentLookup: this.EnvironmentLookup
3261
3739
  },
3262
3740
  Label: 'Application Flow',
3263
3741
  Icon: 'account_tree',
3264
3742
  }),
3743
+ new DynamicTabsModel({
3744
+ Component: DevOpsComponent,
3745
+ Data: {
3746
+ Environment: this.Environment,
3747
+ EnvironmentLookup: this.EnvironmentLookup,
3748
+ },
3749
+ Label: 'DevOps',
3750
+ Icon: 'build',
3751
+ }),
3752
+ new DynamicTabsModel({
3753
+ Component: DFSModifiersComponent,
3754
+ Data: {
3755
+ Modifiers: this.DFSModifiers,
3756
+ Project: this.Project,
3757
+ ProjectLookup: this.ProjectLookup,
3758
+ },
3759
+ Label: 'DFS Modifiers',
3760
+ Icon: 'auto_fix_high',
3761
+ }),
3265
3762
  new DynamicTabsModel({
3266
3763
  Component: GeneralComponent,
3267
3764
  Data: { Project: this.Project, ProjectLookup: this.ProjectLookup },
@@ -3291,10 +3788,11 @@
3291
3788
  ProjectTabsComponent.ctorParameters = function () { return []; };
3292
3789
  ProjectTabsComponent.propDecorators = {
3293
3790
  Applications: [{ type: i0.Input, args: ['applications',] }],
3294
- Project: [{ type: i0.Input, args: ['project',] }],
3295
- ProjectLookup: [{ type: i0.Input, args: ['project-lookup',] }],
3791
+ DFSModifiers: [{ type: i0.Input, args: ['dfs-modifiers',] }],
3296
3792
  Environment: [{ type: i0.Input, args: ['environment',] }],
3297
- EnvironmentLookup: [{ type: i0.Input, args: ['environment-lookup',] }]
3793
+ EnvironmentLookup: [{ type: i0.Input, args: ['environment-lookup',] }],
3794
+ Project: [{ type: i0.Input, args: ['project',] }],
3795
+ ProjectLookup: [{ type: i0.Input, args: ['project-lookup',] }]
3298
3796
  };
3299
3797
 
3300
3798
  var ProjectItemsComponent = /** @class */ (function () {
@@ -3939,7 +4437,7 @@
3939
4437
  NpmPackageSelectComponent.prototype.ngOnInit = function () {
3940
4438
  var _this = this;
3941
4439
  this.FormGroup.addControl('package', new forms.FormControl(this.NPMPackage || '', [forms.Validators.required]));
3942
- this.FormGroup.addControl('version', new forms.FormControl(this.NPMPackageVersion || '', [forms.Validators.required]));
4440
+ this.FormGroup.addControl('version', new forms.FormControl(this.NPMPackageVersion || 'latest', [forms.Validators.required]));
3943
4441
  this.FormGroup.controls.package.valueChanges
3944
4442
  .pipe(operators.debounceTime(500), operators.switchMap(function (value) { return _this.npm.Search(value ? value.toString() : ''); }), operators.map(function (val) {
3945
4443
  return val.Model
@@ -4027,6 +4525,8 @@
4027
4525
  GitAuthComponent,
4028
4526
  SourceControlFormControlsComponent,
4029
4527
  AppsFlowComponent,
4528
+ DevOpsComponent,
4529
+ DFSModifiersComponent,
4030
4530
  NpmPackageSelectComponent
4031
4531
  ],
4032
4532
  imports: [
@@ -4057,6 +4557,8 @@
4057
4557
  GitAuthComponent,
4058
4558
  SourceControlFormControlsComponent,
4059
4559
  AppsFlowComponent,
4560
+ DevOpsComponent,
4561
+ DFSModifiersComponent,
4060
4562
  NpmPackageSelectComponent
4061
4563
  ],
4062
4564
  entryComponents: [
@@ -4077,6 +4579,8 @@
4077
4579
  GitAuthComponent,
4078
4580
  SourceControlFormControlsComponent,
4079
4581
  AppsFlowComponent,
4582
+ DevOpsComponent,
4583
+ DFSModifiersComponent,
4080
4584
  NpmPackageSelectComponent
4081
4585
  ],
4082
4586
  },] }
@@ -4173,7 +4677,9 @@
4173
4677
  exports.ɵk = BaseFormComponent;
4174
4678
  exports.ɵl = BaseFormTestComponent;
4175
4679
  exports.ɵm = AppsFlowComponent;
4176
- exports.ɵn = NpmPackageSelectComponent;
4680
+ exports.ɵn = DevOpsComponent;
4681
+ exports.ɵo = DFSModifiersComponent;
4682
+ exports.ɵp = NpmPackageSelectComponent;
4177
4683
 
4178
4684
  Object.defineProperty(exports, '__esModule', { value: true });
4179
4685