@c80/ui 1.0.38 → 1.0.39

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.
@@ -1,6 +1,6 @@
1
- import { Component, input, output, computed, viewChild, } from '@angular/core';
1
+ import { Component, input, output, computed } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
- import { BASE_ICON_COLORS, DISABLED_COLOR, DEFAULT_ICON_COLOR, DISABLED_OPACITY, SECONDARY_WARN_OPACITY, DEFAULT_OPACITY, BASE_ICON_SIZE, } from './icon.constants';
3
+ import { BASE_ICON_SIZE, BASE_ICON_COLORS, DISABLED_COLOR, DEFAULT_ICON_COLOR, DISABLED_OPACITY, SECONDARY_WARN_OPACITY, DEFAULT_OPACITY, ICON_PATHS, ICON_ADDITIONAL_SHAPES, } from './icon.constants';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@angular/common";
6
6
  export class C80IconComponent {
@@ -16,65 +16,32 @@ export class C80IconComponent {
16
16
  iconClick = output();
17
17
  iconSize = computed(() => BASE_ICON_SIZE * this.size());
18
18
  iconColor = computed(() => {
19
- if (this.disabled()) {
19
+ if (this.disabled())
20
20
  return DISABLED_COLOR;
21
- }
22
21
  const custom = this.customColor();
23
- if (custom) {
22
+ if (custom)
24
23
  return custom;
25
- }
26
24
  return BASE_ICON_COLORS[this.color()] ?? DEFAULT_ICON_COLOR;
27
25
  });
28
26
  iconOpacity = computed(() => {
29
- if (this.disabled()) {
27
+ if (this.disabled())
30
28
  return DISABLED_OPACITY;
31
- }
32
- const currentColor = this.color();
33
29
  const hasCustomColor = this.customColor() !== undefined;
34
- if ((currentColor === 'secondary' || currentColor === 'warn') &&
35
- !hasCustomColor) {
36
- return SECONDARY_WARN_OPACITY;
37
- }
38
- return DEFAULT_OPACITY;
39
- });
40
- iconTemplate = computed(() => {
41
- const iconName = this.icon();
42
- const viewChildSignal = this[iconName];
43
- return typeof viewChildSignal === 'function' ? viewChildSignal() : undefined;
30
+ const isSecondaryOrWarn = ['secondary', 'warn'].includes(this.color());
31
+ return !hasCustomColor && isSecondaryOrWarn ? SECONDARY_WARN_OPACITY : DEFAULT_OPACITY;
44
32
  });
45
- check = viewChild('check');
46
- cancel = viewChild('cancel');
47
- edit = viewChild('edit');
48
- delete = viewChild('delete');
49
- add = viewChild('add');
50
- view = viewChild('view');
51
- get = viewChild('get');
52
- settings = viewChild('settings');
53
- schedule = viewChild('schedule');
54
- refresh = viewChild('refresh');
55
- checkCircle = viewChild('checkCircle');
56
- cancelCircle = viewChild('cancelCircle');
57
- error = viewChild('error');
58
- queue = viewChild('queue');
59
- arrowUp = viewChild('arrowUp');
60
- arrowDown = viewChild('arrowDown');
61
- toggleOn = viewChild('toggleOn');
62
- toggleOff = viewChild('toggleOff');
63
- search = viewChild('search');
64
- upload = viewChild('upload');
65
- pendingActions = viewChild('pendingActions');
66
- playCircle = viewChild('playCircle');
67
- default = viewChild('default');
33
+ iconPath = computed(() => ICON_PATHS[this.icon()] ?? ICON_PATHS['default']);
34
+ additionalShapes = computed(() => ICON_ADDITIONAL_SHAPES[this.icon()] ?? []);
68
35
  onButtonClick(event) {
69
36
  if (!this.disabled()) {
70
37
  this.iconClick.emit(event);
71
38
  }
72
39
  }
73
40
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: C80IconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
74
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: C80IconComponent, isStandalone: true, selector: "c80-icon", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, customColor: { classPropertyName: "customColor", publicName: "customColor", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, button: { classPropertyName: "button", publicName: "button", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { iconClick: "iconClick" }, viewQueries: [{ propertyName: "check", first: true, predicate: ["check"], descendants: true, isSignal: true }, { propertyName: "cancel", first: true, predicate: ["cancel"], descendants: true, isSignal: true }, { propertyName: "edit", first: true, predicate: ["edit"], descendants: true, isSignal: true }, { propertyName: "delete", first: true, predicate: ["delete"], descendants: true, isSignal: true }, { propertyName: "add", first: true, predicate: ["add"], descendants: true, isSignal: true }, { propertyName: "view", first: true, predicate: ["view"], descendants: true, isSignal: true }, { propertyName: "get", first: true, predicate: ["get"], descendants: true, isSignal: true }, { propertyName: "settings", first: true, predicate: ["settings"], descendants: true, isSignal: true }, { propertyName: "schedule", first: true, predicate: ["schedule"], descendants: true, isSignal: true }, { propertyName: "refresh", first: true, predicate: ["refresh"], descendants: true, isSignal: true }, { propertyName: "checkCircle", first: true, predicate: ["checkCircle"], descendants: true, isSignal: true }, { propertyName: "cancelCircle", first: true, predicate: ["cancelCircle"], descendants: true, isSignal: true }, { propertyName: "error", first: true, predicate: ["error"], descendants: true, isSignal: true }, { propertyName: "queue", first: true, predicate: ["queue"], descendants: true, isSignal: true }, { propertyName: "arrowUp", first: true, predicate: ["arrowUp"], descendants: true, isSignal: true }, { propertyName: "arrowDown", first: true, predicate: ["arrowDown"], descendants: true, isSignal: true }, { propertyName: "toggleOn", first: true, predicate: ["toggleOn"], descendants: true, isSignal: true }, { propertyName: "toggleOff", first: true, predicate: ["toggleOff"], descendants: true, isSignal: true }, { propertyName: "search", first: true, predicate: ["search"], descendants: true, isSignal: true }, { propertyName: "upload", first: true, predicate: ["upload"], descendants: true, isSignal: true }, { propertyName: "pendingActions", first: true, predicate: ["pendingActions"], descendants: true, isSignal: true }, { propertyName: "playCircle", first: true, predicate: ["playCircle"], descendants: true, isSignal: true }, { propertyName: "default", first: true, predicate: ["default"], descendants: true, isSignal: true }], ngImport: i0, template: "@if (button()) {\r\n<button [type]=\"type()\" [disabled]=\"disabled()\" class=\"icon-button\" [style.width.px]=\"iconSize() + 8\" [style.height.px]=\"iconSize() + 8\" (click)=\"onButtonClick($event)\">\r\n <ng-container *ngTemplateOutlet=\"iconTemplate() || default\"></ng-container>\r\n</button>\r\n} @else {\r\n<span class=\"icon-span\" [style.width.px]=\"iconSize()\" [style.height.px]=\"iconSize()\">\r\n <ng-container *ngTemplateOutlet=\"iconTemplate() || default\"></ng-container>\r\n</span>\r\n}\r\n\r\n<ng-template #check>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <path d=\"M5 13l4 4L19 7\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #cancel>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <path d=\"M6 6l12 12M6 18L18 6\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #edit>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <rect x=\"5\" y=\"19\" width=\"14\" height=\"2\" rx=\"1\" [attr.fill]=\"iconColor()\" />\r\n <path d=\"M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4 12.5-12.5z\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #delete>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <path d=\"M6 19a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z\" [attr.fill]=\"iconColor()\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #add>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <path d=\"M12 5v14M5 12h14\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #view>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <path d=\"M12 5C7 5 2.73 8.11 1 12c1.73 3.89 6 7 11 7s9.27-3.11 11-7c-1.73-3.89-6-7-11-7z\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <circle cx=\"12\" cy=\"12\" r=\"3\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #get>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <circle cx=\"6\" cy=\"6\" r=\"3\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" />\r\n <circle cx=\"18\" cy=\"18\" r=\"3\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" />\r\n <path d=\"m8.5 8.5 7 7\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" />\r\n <path d=\"m13 11 2 2-2 2\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #settings>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <circle cx=\"12\" cy=\"12\" r=\"3\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" />\r\n <path d=\"M12 1v6m0 6v10M3.34 7l5.2 3M15.46 14l5.2 3M3.34 17l5.2-3M15.46 10l5.2-3\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #default>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <circle cx=\"12\" cy=\"12\" r=\"10\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #schedule>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <circle cx=\"12\" cy=\"12\" r=\"10\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" />\r\n <polyline points=\"12,6 12,12 16,14\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #refresh>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <path d=\"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path d=\"M21 3v5h-5\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path d=\"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path d=\"M3 21v-5h5\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #checkCircle>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <circle cx=\"12\" cy=\"12\" r=\"10\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" />\r\n <path d=\"m9 12 2 2 4-4\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #cancelCircle>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <circle cx=\"12\" cy=\"12\" r=\"10\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" />\r\n <path d=\"m15 9-6 6m0-6 6 6\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #error>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <circle cx=\"12\" cy=\"12\" r=\"10\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" />\r\n <line x1=\"15\" y1=\"9\" x2=\"9\" y2=\"15\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" />\r\n <line x1=\"9\" y1=\"9\" x2=\"15\" y2=\"15\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #queue>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <path d=\"M3 12h18m-9-9v18\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" />\r\n <rect x=\"2\" y=\"3\" width=\"20\" height=\"6\" rx=\"1\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" fill=\"none\" />\r\n <rect x=\"2\" y=\"15\" width=\"20\" height=\"6\" rx=\"1\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" fill=\"none\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #arrowUp>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <path d=\"m18 15-6-6-6 6\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #arrowDown>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <path d=\"m6 9 6 6 6-6\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #toggleOn>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <rect x=\"1\" y=\"5\" width=\"22\" height=\"14\" rx=\"7\" [attr.fill]=\"iconColor()\" />\r\n <circle cx=\"16\" cy=\"12\" r=\"3\" fill=\"white\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #toggleOff>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <rect x=\"1\" y=\"5\" width=\"22\" height=\"14\" rx=\"7\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" fill=\"none\" />\r\n <circle cx=\"8\" cy=\"12\" r=\"3\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" fill=\"none\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #search>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <circle cx=\"11\" cy=\"11\" r=\"8\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path d=\"m21 21-4.35-4.35\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #upload>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <polyline points=\"7,10 12,5 17,10\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"15\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #pendingActions>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <circle cx=\"12\" cy=\"12\" r=\"10\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <polyline points=\"12,6 12,12 16,14\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path d=\"M8 2v4M16 2v4\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #playCircle>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <circle cx=\"12\" cy=\"12\" r=\"10\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <polygon points=\"10,8 16,12 10,16\" [attr.fill]=\"iconColor()\" />\r\n </svg>\r\n</ng-template>", styles: [":host .icon-button{display:inline-flex;align-items:center;justify-content:center;border:none;outline:none;background:transparent;border-radius:50%;min-width:0;min-height:0;padding:4px;cursor:pointer;transition:background .2s;box-sizing:border-box}:host .icon-button:focus-visible{outline:2px solid #1976d2;outline-offset:2px}:host .icon-button:hover:not(:disabled){background:#1976d214}:host .icon-button:active:not(:disabled){background:#1976d229}:host .icon-button:disabled{opacity:.5;cursor:default;background:transparent}:host .icon-span,:host .icon-button{margin-left:4px;margin-right:4px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
41
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: C80IconComponent, isStandalone: true, selector: "c80-icon", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, customColor: { classPropertyName: "customColor", publicName: "customColor", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, button: { classPropertyName: "button", publicName: "button", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { iconClick: "iconClick" }, ngImport: i0, template: "<ng-template #svgContent>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n @for (shape of additionalShapes(); track $index) {\r\n @if (shape.type === 'circle') {\r\n <circle [attr.cx]=\"shape['cx']\" [attr.cy]=\"shape['cy']\" [attr.r]=\"shape['r']\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" fill=\"none\" />\r\n } @else if (shape.type === 'rect') {\r\n <rect [attr.x]=\"shape['x']\" [attr.y]=\"shape['y']\" [attr.width]=\"shape['width']\" [attr.height]=\"shape['height']\" [attr.rx]=\"shape['rx']\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" fill=\"none\" />\r\n } @else if (shape.type === 'path') {\r\n <path [attr.d]=\"shape['d']\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" fill=\"none\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n }\r\n }\r\n <path [attr.d]=\"iconPath()\" [attr.stroke]=\"iconColor()\" [attr.fill]=\"icon() === 'delete' ? iconColor() : 'none'\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n\r\n@if (button()) {\r\n<button [type]=\"type()\" [disabled]=\"disabled()\" class=\"icon-button\" [style.width.px]=\"iconSize() + 8\" [style.height.px]=\"iconSize() + 8\" (click)=\"onButtonClick($event)\">\r\n <ng-container *ngTemplateOutlet=\"svgContent\" />\r\n</button>\r\n} @else {\r\n<span class=\"icon-span\" [style.width.px]=\"iconSize()\" [style.height.px]=\"iconSize()\">\r\n <ng-container *ngTemplateOutlet=\"svgContent\" />\r\n</span>\r\n}", styles: [":host .icon-button{display:inline-flex;align-items:center;justify-content:center;border:none;outline:none;background:transparent;border-radius:50%;min-width:0;min-height:0;padding:4px;cursor:pointer;transition:background .2s;box-sizing:border-box}:host .icon-button:focus-visible{outline:2px solid #1976d2;outline-offset:2px}:host .icon-button:hover:not(:disabled){background:#1976d214}:host .icon-button:active:not(:disabled){background:#1976d229}:host .icon-button:disabled{opacity:.5;cursor:default;background:transparent}:host .icon-span,:host .icon-button{margin-left:4px;margin-right:4px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
75
42
  }
76
43
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: C80IconComponent, decorators: [{
77
44
  type: Component,
78
- args: [{ selector: 'c80-icon', standalone: true, imports: [CommonModule], template: "@if (button()) {\r\n<button [type]=\"type()\" [disabled]=\"disabled()\" class=\"icon-button\" [style.width.px]=\"iconSize() + 8\" [style.height.px]=\"iconSize() + 8\" (click)=\"onButtonClick($event)\">\r\n <ng-container *ngTemplateOutlet=\"iconTemplate() || default\"></ng-container>\r\n</button>\r\n} @else {\r\n<span class=\"icon-span\" [style.width.px]=\"iconSize()\" [style.height.px]=\"iconSize()\">\r\n <ng-container *ngTemplateOutlet=\"iconTemplate() || default\"></ng-container>\r\n</span>\r\n}\r\n\r\n<ng-template #check>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <path d=\"M5 13l4 4L19 7\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #cancel>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <path d=\"M6 6l12 12M6 18L18 6\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #edit>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <rect x=\"5\" y=\"19\" width=\"14\" height=\"2\" rx=\"1\" [attr.fill]=\"iconColor()\" />\r\n <path d=\"M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4 12.5-12.5z\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #delete>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <path d=\"M6 19a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z\" [attr.fill]=\"iconColor()\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #add>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <path d=\"M12 5v14M5 12h14\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #view>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <path d=\"M12 5C7 5 2.73 8.11 1 12c1.73 3.89 6 7 11 7s9.27-3.11 11-7c-1.73-3.89-6-7-11-7z\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <circle cx=\"12\" cy=\"12\" r=\"3\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #get>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <circle cx=\"6\" cy=\"6\" r=\"3\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" />\r\n <circle cx=\"18\" cy=\"18\" r=\"3\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" />\r\n <path d=\"m8.5 8.5 7 7\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" />\r\n <path d=\"m13 11 2 2-2 2\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #settings>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <circle cx=\"12\" cy=\"12\" r=\"3\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" />\r\n <path d=\"M12 1v6m0 6v10M3.34 7l5.2 3M15.46 14l5.2 3M3.34 17l5.2-3M15.46 10l5.2-3\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #default>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <circle cx=\"12\" cy=\"12\" r=\"10\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #schedule>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <circle cx=\"12\" cy=\"12\" r=\"10\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" />\r\n <polyline points=\"12,6 12,12 16,14\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #refresh>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <path d=\"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path d=\"M21 3v5h-5\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path d=\"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path d=\"M3 21v-5h5\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #checkCircle>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <circle cx=\"12\" cy=\"12\" r=\"10\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" />\r\n <path d=\"m9 12 2 2 4-4\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #cancelCircle>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <circle cx=\"12\" cy=\"12\" r=\"10\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" />\r\n <path d=\"m15 9-6 6m0-6 6 6\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #error>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <circle cx=\"12\" cy=\"12\" r=\"10\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" />\r\n <line x1=\"15\" y1=\"9\" x2=\"9\" y2=\"15\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" />\r\n <line x1=\"9\" y1=\"9\" x2=\"15\" y2=\"15\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #queue>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <path d=\"M3 12h18m-9-9v18\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" />\r\n <rect x=\"2\" y=\"3\" width=\"20\" height=\"6\" rx=\"1\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" fill=\"none\" />\r\n <rect x=\"2\" y=\"15\" width=\"20\" height=\"6\" rx=\"1\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" fill=\"none\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #arrowUp>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <path d=\"m18 15-6-6-6 6\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #arrowDown>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <path d=\"m6 9 6 6 6-6\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #toggleOn>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <rect x=\"1\" y=\"5\" width=\"22\" height=\"14\" rx=\"7\" [attr.fill]=\"iconColor()\" />\r\n <circle cx=\"16\" cy=\"12\" r=\"3\" fill=\"white\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #toggleOff>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <rect x=\"1\" y=\"5\" width=\"22\" height=\"14\" rx=\"7\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" fill=\"none\" />\r\n <circle cx=\"8\" cy=\"12\" r=\"3\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" fill=\"none\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #search>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <circle cx=\"11\" cy=\"11\" r=\"8\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path d=\"m21 21-4.35-4.35\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #upload>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <polyline points=\"7,10 12,5 17,10\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"15\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #pendingActions>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <circle cx=\"12\" cy=\"12\" r=\"10\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <polyline points=\"12,6 12,12 16,14\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path d=\"M8 2v4M16 2v4\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #playCircle>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <circle cx=\"12\" cy=\"12\" r=\"10\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <polygon points=\"10,8 16,12 10,16\" [attr.fill]=\"iconColor()\" />\r\n </svg>\r\n</ng-template>", styles: [":host .icon-button{display:inline-flex;align-items:center;justify-content:center;border:none;outline:none;background:transparent;border-radius:50%;min-width:0;min-height:0;padding:4px;cursor:pointer;transition:background .2s;box-sizing:border-box}:host .icon-button:focus-visible{outline:2px solid #1976d2;outline-offset:2px}:host .icon-button:hover:not(:disabled){background:#1976d214}:host .icon-button:active:not(:disabled){background:#1976d229}:host .icon-button:disabled{opacity:.5;cursor:default;background:transparent}:host .icon-span,:host .icon-button{margin-left:4px;margin-right:4px}\n"] }]
45
+ args: [{ selector: 'c80-icon', standalone: true, imports: [CommonModule], template: "<ng-template #svgContent>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n @for (shape of additionalShapes(); track $index) {\r\n @if (shape.type === 'circle') {\r\n <circle [attr.cx]=\"shape['cx']\" [attr.cy]=\"shape['cy']\" [attr.r]=\"shape['r']\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" fill=\"none\" />\r\n } @else if (shape.type === 'rect') {\r\n <rect [attr.x]=\"shape['x']\" [attr.y]=\"shape['y']\" [attr.width]=\"shape['width']\" [attr.height]=\"shape['height']\" [attr.rx]=\"shape['rx']\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" fill=\"none\" />\r\n } @else if (shape.type === 'path') {\r\n <path [attr.d]=\"shape['d']\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" fill=\"none\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n }\r\n }\r\n <path [attr.d]=\"iconPath()\" [attr.stroke]=\"iconColor()\" [attr.fill]=\"icon() === 'delete' ? iconColor() : 'none'\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n\r\n@if (button()) {\r\n<button [type]=\"type()\" [disabled]=\"disabled()\" class=\"icon-button\" [style.width.px]=\"iconSize() + 8\" [style.height.px]=\"iconSize() + 8\" (click)=\"onButtonClick($event)\">\r\n <ng-container *ngTemplateOutlet=\"svgContent\" />\r\n</button>\r\n} @else {\r\n<span class=\"icon-span\" [style.width.px]=\"iconSize()\" [style.height.px]=\"iconSize()\">\r\n <ng-container *ngTemplateOutlet=\"svgContent\" />\r\n</span>\r\n}", styles: [":host .icon-button{display:inline-flex;align-items:center;justify-content:center;border:none;outline:none;background:transparent;border-radius:50%;min-width:0;min-height:0;padding:4px;cursor:pointer;transition:background .2s;box-sizing:border-box}:host .icon-button:focus-visible{outline:2px solid #1976d2;outline-offset:2px}:host .icon-button:hover:not(:disabled){background:#1976d214}:host .icon-button:active:not(:disabled){background:#1976d229}:host .icon-button:disabled{opacity:.5;cursor:default;background:transparent}:host .icon-span,:host .icon-button{margin-left:4px;margin-right:4px}\n"] }]
79
46
  }] });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3VpL3NyYy9saWIvaWNvbi9pY29uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvc3JjL2xpYi9pY29uL2ljb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFFBQVEsRUFDUixTQUFTLEdBRVYsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsY0FBYyxFQUNkLGtCQUFrQixFQUNsQixnQkFBZ0IsRUFDaEIsc0JBQXNCLEVBQ3RCLGVBQWUsRUFDZixjQUFjLEdBQ2YsTUFBTSxrQkFBa0IsQ0FBQzs7O0FBVzFCLE1BQU0sT0FBTyxnQkFBZ0I7SUFDbEIsSUFBSSxHQUFHLEtBQUssQ0FBVyxPQUFPLENBQUMsQ0FBQztJQUNoQyxLQUFLLEdBQUcsS0FBSyxDQUFZLFNBQVMsQ0FBQyxDQUFDO0lBQ3BDLFdBQVcsR0FBRyxLQUFLLENBQXFCLFNBQVMsQ0FBQyxDQUFDO0lBQ25ELFFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEIsSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoQixNQUFNLEdBQUcsS0FBSyxDQUFDLEtBQUssRUFBRTtRQUM3QixTQUFTLEVBQUUsQ0FBQyxHQUF3QyxFQUFFLEVBQUUsQ0FDdEQsR0FBRyxLQUFLLElBQUksSUFBSSxHQUFHLEtBQUssU0FBUyxJQUFJLEdBQUcsS0FBSyxLQUFLLElBQUksR0FBRyxLQUFLLE9BQU87S0FDeEUsQ0FBQyxDQUFDO0lBQ00sSUFBSSxHQUFHLEtBQUssQ0FBYSxRQUFRLENBQUMsQ0FBQztJQUVuQyxTQUFTLEdBQUcsTUFBTSxFQUFTLENBQUM7SUFFNUIsUUFBUSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFFeEQsU0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDakMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztZQUNwQixPQUFPLGNBQWMsQ0FBQztRQUN4QixDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2xDLElBQUksTUFBTSxFQUFFLENBQUM7WUFDWCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDO1FBRUQsT0FBTyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxrQkFBa0IsQ0FBQztJQUM5RCxDQUFDLENBQUMsQ0FBQztJQUVNLFdBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQ25DLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7WUFDcEIsT0FBTyxnQkFBZ0IsQ0FBQztRQUMxQixDQUFDO1FBRUQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2xDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyxTQUFTLENBQUM7UUFFeEQsSUFDRSxDQUFDLFlBQVksS0FBSyxXQUFXLElBQUksWUFBWSxLQUFLLE1BQU0sQ0FBQztZQUN6RCxDQUFDLGNBQWMsRUFDZixDQUFDO1lBQ0QsT0FBTyxzQkFBc0IsQ0FBQztRQUNoQyxDQUFDO1FBRUQsT0FBTyxlQUFlLENBQUM7SUFDekIsQ0FBQyxDQUFDLENBQUM7SUFFTSxZQUFZLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtRQUNwQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDN0IsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLFFBQXNCLENBQUMsQ0FBQztRQUNyRCxPQUFPLE9BQU8sZUFBZSxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUMvRSxDQUFDLENBQUMsQ0FBQztJQUVNLEtBQUssR0FBRyxTQUFTLENBQXVCLE9BQU8sQ0FBQyxDQUFDO0lBQ2pELE1BQU0sR0FBRyxTQUFTLENBQXVCLFFBQVEsQ0FBQyxDQUFDO0lBQ25ELElBQUksR0FBRyxTQUFTLENBQXVCLE1BQU0sQ0FBQyxDQUFDO0lBQy9DLE1BQU0sR0FBRyxTQUFTLENBQXVCLFFBQVEsQ0FBQyxDQUFDO0lBQ25ELEdBQUcsR0FBRyxTQUFTLENBQXVCLEtBQUssQ0FBQyxDQUFDO0lBQzdDLElBQUksR0FBRyxTQUFTLENBQXVCLE1BQU0sQ0FBQyxDQUFDO0lBQy9DLEdBQUcsR0FBRyxTQUFTLENBQXVCLEtBQUssQ0FBQyxDQUFDO0lBQzdDLFFBQVEsR0FBRyxTQUFTLENBQXVCLFVBQVUsQ0FBQyxDQUFDO0lBQ3ZELFFBQVEsR0FBRyxTQUFTLENBQXVCLFVBQVUsQ0FBQyxDQUFDO0lBQ3ZELE9BQU8sR0FBRyxTQUFTLENBQXVCLFNBQVMsQ0FBQyxDQUFDO0lBQ3JELFdBQVcsR0FBRyxTQUFTLENBQXVCLGFBQWEsQ0FBQyxDQUFDO0lBQzdELFlBQVksR0FBRyxTQUFTLENBQXVCLGNBQWMsQ0FBQyxDQUFDO0lBQy9ELEtBQUssR0FBRyxTQUFTLENBQXVCLE9BQU8sQ0FBQyxDQUFDO0lBQ2pELEtBQUssR0FBRyxTQUFTLENBQXVCLE9BQU8sQ0FBQyxDQUFDO0lBQ2pELE9BQU8sR0FBRyxTQUFTLENBQXVCLFNBQVMsQ0FBQyxDQUFDO0lBQ3JELFNBQVMsR0FBRyxTQUFTLENBQXVCLFdBQVcsQ0FBQyxDQUFDO0lBQ3pELFFBQVEsR0FBRyxTQUFTLENBQXVCLFVBQVUsQ0FBQyxDQUFDO0lBQ3ZELFNBQVMsR0FBRyxTQUFTLENBQXVCLFdBQVcsQ0FBQyxDQUFDO0lBQ3pELE1BQU0sR0FBRyxTQUFTLENBQXVCLFFBQVEsQ0FBQyxDQUFDO0lBQ25ELE1BQU0sR0FBRyxTQUFTLENBQXVCLFFBQVEsQ0FBQyxDQUFDO0lBQ25ELGNBQWMsR0FBRyxTQUFTLENBQXVCLGdCQUFnQixDQUFDLENBQUM7SUFDbkUsVUFBVSxHQUFHLFNBQVMsQ0FBdUIsWUFBWSxDQUFDLENBQUM7SUFDM0QsT0FBTyxHQUFHLFNBQVMsQ0FBdUIsU0FBUyxDQUFDLENBQUM7SUFFOUQsYUFBYSxDQUFDLEtBQVk7UUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLENBQUM7SUFDSCxDQUFDO3dHQWpGVSxnQkFBZ0I7NEZBQWhCLGdCQUFnQix3dkdDNUI3QixrclZBb0pjLDZvQkQ1SEYsWUFBWTs7NEZBSVgsZ0JBQWdCO2tCQVI1QixTQUFTOytCQUVFLFVBQVUsY0FDUixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIGlucHV0LFxuICBvdXRwdXQsXG4gIGNvbXB1dGVkLFxuICB2aWV3Q2hpbGQsXG4gIFRlbXBsYXRlUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBCQVNFX0lDT05fQ09MT1JTLFxuICBESVNBQkxFRF9DT0xPUixcbiAgREVGQVVMVF9JQ09OX0NPTE9SLFxuICBESVNBQkxFRF9PUEFDSVRZLFxuICBTRUNPTkRBUllfV0FSTl9PUEFDSVRZLFxuICBERUZBVUxUX09QQUNJVFksXG4gIEJBU0VfSUNPTl9TSVpFLFxufSBmcm9tICcuL2ljb24uY29uc3RhbnRzJztcbmltcG9ydCB7IEljb25UeXBlLCBDb2xvclR5cGUsIEJ1dHRvblR5cGUgfSBmcm9tICcuL2ljb24udHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdjODAtaWNvbicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vaWNvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ljb24uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQzgwSWNvbkNvbXBvbmVudCB7XG4gIHJlYWRvbmx5IGljb24gPSBpbnB1dDxJY29uVHlwZT4oJ2NoZWNrJyk7XG4gIHJlYWRvbmx5IGNvbG9yID0gaW5wdXQ8Q29sb3JUeXBlPigncHJpbWFyeScpO1xuICByZWFkb25seSBjdXN0b21Db2xvciA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcmVhZG9ubHkgZGlzYWJsZWQgPSBpbnB1dChmYWxzZSk7XG4gIHJlYWRvbmx5IHNpemUgPSBpbnB1dCgxKTtcbiAgcmVhZG9ubHkgYnV0dG9uID0gaW5wdXQoZmFsc2UsIHtcbiAgICB0cmFuc2Zvcm06ICh2YWw6IGJvb2xlYW4gfCBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKSA9PlxuICAgICAgdmFsICE9PSBudWxsICYmIHZhbCAhPT0gdW5kZWZpbmVkICYmIHZhbCAhPT0gZmFsc2UgJiYgdmFsICE9PSAnZmFsc2UnLFxuICB9KTtcbiAgcmVhZG9ubHkgdHlwZSA9IGlucHV0PEJ1dHRvblR5cGU+KCdidXR0b24nKTtcblxuICByZWFkb25seSBpY29uQ2xpY2sgPSBvdXRwdXQ8RXZlbnQ+KCk7XG5cbiAgcmVhZG9ubHkgaWNvblNpemUgPSBjb21wdXRlZCgoKSA9PiBCQVNFX0lDT05fU0laRSAqIHRoaXMuc2l6ZSgpKTtcblxuICByZWFkb25seSBpY29uQ29sb3IgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQoKSkge1xuICAgICAgcmV0dXJuIERJU0FCTEVEX0NPTE9SO1xuICAgIH1cblxuICAgIGNvbnN0IGN1c3RvbSA9IHRoaXMuY3VzdG9tQ29sb3IoKTtcbiAgICBpZiAoY3VzdG9tKSB7XG4gICAgICByZXR1cm4gY3VzdG9tO1xuICAgIH1cblxuICAgIHJldHVybiBCQVNFX0lDT05fQ09MT1JTW3RoaXMuY29sb3IoKV0gPz8gREVGQVVMVF9JQ09OX0NPTE9SO1xuICB9KTtcblxuICByZWFkb25seSBpY29uT3BhY2l0eSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCgpKSB7XG4gICAgICByZXR1cm4gRElTQUJMRURfT1BBQ0lUWTtcbiAgICB9XG5cbiAgICBjb25zdCBjdXJyZW50Q29sb3IgPSB0aGlzLmNvbG9yKCk7XG4gICAgY29uc3QgaGFzQ3VzdG9tQ29sb3IgPSB0aGlzLmN1c3RvbUNvbG9yKCkgIT09IHVuZGVmaW5lZDtcblxuICAgIGlmIChcbiAgICAgIChjdXJyZW50Q29sb3IgPT09ICdzZWNvbmRhcnknIHx8IGN1cnJlbnRDb2xvciA9PT0gJ3dhcm4nKSAmJlxuICAgICAgIWhhc0N1c3RvbUNvbG9yXG4gICAgKSB7XG4gICAgICByZXR1cm4gU0VDT05EQVJZX1dBUk5fT1BBQ0lUWTtcbiAgICB9XG5cbiAgICByZXR1cm4gREVGQVVMVF9PUEFDSVRZO1xuICB9KTtcblxuICByZWFkb25seSBpY29uVGVtcGxhdGUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgaWNvbk5hbWUgPSB0aGlzLmljb24oKTtcbiAgICBjb25zdCB2aWV3Q2hpbGRTaWduYWwgPSB0aGlzW2ljb25OYW1lIGFzIGtleW9mIHRoaXNdO1xuICAgIHJldHVybiB0eXBlb2Ygdmlld0NoaWxkU2lnbmFsID09PSAnZnVuY3Rpb24nID8gdmlld0NoaWxkU2lnbmFsKCkgOiB1bmRlZmluZWQ7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IGNoZWNrID0gdmlld0NoaWxkPFRlbXBsYXRlUmVmPHVua25vd24+PignY2hlY2snKTtcbiAgcmVhZG9ubHkgY2FuY2VsID0gdmlld0NoaWxkPFRlbXBsYXRlUmVmPHVua25vd24+PignY2FuY2VsJyk7XG4gIHJlYWRvbmx5IGVkaXQgPSB2aWV3Q2hpbGQ8VGVtcGxhdGVSZWY8dW5rbm93bj4+KCdlZGl0Jyk7XG4gIHJlYWRvbmx5IGRlbGV0ZSA9IHZpZXdDaGlsZDxUZW1wbGF0ZVJlZjx1bmtub3duPj4oJ2RlbGV0ZScpO1xuICByZWFkb25seSBhZGQgPSB2aWV3Q2hpbGQ8VGVtcGxhdGVSZWY8dW5rbm93bj4+KCdhZGQnKTtcbiAgcmVhZG9ubHkgdmlldyA9IHZpZXdDaGlsZDxUZW1wbGF0ZVJlZjx1bmtub3duPj4oJ3ZpZXcnKTtcbiAgcmVhZG9ubHkgZ2V0ID0gdmlld0NoaWxkPFRlbXBsYXRlUmVmPHVua25vd24+PignZ2V0Jyk7XG4gIHJlYWRvbmx5IHNldHRpbmdzID0gdmlld0NoaWxkPFRlbXBsYXRlUmVmPHVua25vd24+Pignc2V0dGluZ3MnKTtcbiAgcmVhZG9ubHkgc2NoZWR1bGUgPSB2aWV3Q2hpbGQ8VGVtcGxhdGVSZWY8dW5rbm93bj4+KCdzY2hlZHVsZScpO1xuICByZWFkb25seSByZWZyZXNoID0gdmlld0NoaWxkPFRlbXBsYXRlUmVmPHVua25vd24+PigncmVmcmVzaCcpO1xuICByZWFkb25seSBjaGVja0NpcmNsZSA9IHZpZXdDaGlsZDxUZW1wbGF0ZVJlZjx1bmtub3duPj4oJ2NoZWNrQ2lyY2xlJyk7XG4gIHJlYWRvbmx5IGNhbmNlbENpcmNsZSA9IHZpZXdDaGlsZDxUZW1wbGF0ZVJlZjx1bmtub3duPj4oJ2NhbmNlbENpcmNsZScpO1xuICByZWFkb25seSBlcnJvciA9IHZpZXdDaGlsZDxUZW1wbGF0ZVJlZjx1bmtub3duPj4oJ2Vycm9yJyk7XG4gIHJlYWRvbmx5IHF1ZXVlID0gdmlld0NoaWxkPFRlbXBsYXRlUmVmPHVua25vd24+PigncXVldWUnKTtcbiAgcmVhZG9ubHkgYXJyb3dVcCA9IHZpZXdDaGlsZDxUZW1wbGF0ZVJlZjx1bmtub3duPj4oJ2Fycm93VXAnKTtcbiAgcmVhZG9ubHkgYXJyb3dEb3duID0gdmlld0NoaWxkPFRlbXBsYXRlUmVmPHVua25vd24+PignYXJyb3dEb3duJyk7XG4gIHJlYWRvbmx5IHRvZ2dsZU9uID0gdmlld0NoaWxkPFRlbXBsYXRlUmVmPHVua25vd24+PigndG9nZ2xlT24nKTtcbiAgcmVhZG9ubHkgdG9nZ2xlT2ZmID0gdmlld0NoaWxkPFRlbXBsYXRlUmVmPHVua25vd24+PigndG9nZ2xlT2ZmJyk7XG4gIHJlYWRvbmx5IHNlYXJjaCA9IHZpZXdDaGlsZDxUZW1wbGF0ZVJlZjx1bmtub3duPj4oJ3NlYXJjaCcpO1xuICByZWFkb25seSB1cGxvYWQgPSB2aWV3Q2hpbGQ8VGVtcGxhdGVSZWY8dW5rbm93bj4+KCd1cGxvYWQnKTtcbiAgcmVhZG9ubHkgcGVuZGluZ0FjdGlvbnMgPSB2aWV3Q2hpbGQ8VGVtcGxhdGVSZWY8dW5rbm93bj4+KCdwZW5kaW5nQWN0aW9ucycpO1xuICByZWFkb25seSBwbGF5Q2lyY2xlID0gdmlld0NoaWxkPFRlbXBsYXRlUmVmPHVua25vd24+PigncGxheUNpcmNsZScpO1xuICByZWFkb25seSBkZWZhdWx0ID0gdmlld0NoaWxkPFRlbXBsYXRlUmVmPHVua25vd24+PignZGVmYXVsdCcpO1xuXG4gIG9uQnV0dG9uQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKCkpIHtcbiAgICAgIHRoaXMuaWNvbkNsaWNrLmVtaXQoZXZlbnQpO1xuICAgIH1cbiAgfVxufVxuIiwiQGlmIChidXR0b24oKSkge1xyXG48YnV0dG9uIFt0eXBlXT1cInR5cGUoKVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpXCIgY2xhc3M9XCJpY29uLWJ1dHRvblwiIFtzdHlsZS53aWR0aC5weF09XCJpY29uU2l6ZSgpICsgOFwiIFtzdHlsZS5oZWlnaHQucHhdPVwiaWNvblNpemUoKSArIDhcIiAoY2xpY2spPVwib25CdXR0b25DbGljaygkZXZlbnQpXCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImljb25UZW1wbGF0ZSgpIHx8IGRlZmF1bHRcIj48L25nLWNvbnRhaW5lcj5cclxuPC9idXR0b24+XHJcbn0gQGVsc2Uge1xyXG48c3BhbiBjbGFzcz1cImljb24tc3BhblwiIFtzdHlsZS53aWR0aC5weF09XCJpY29uU2l6ZSgpXCIgW3N0eWxlLmhlaWdodC5weF09XCJpY29uU2l6ZSgpXCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImljb25UZW1wbGF0ZSgpIHx8IGRlZmF1bHRcIj48L25nLWNvbnRhaW5lcj5cclxuPC9zcGFuPlxyXG59XHJcblxyXG48bmctdGVtcGxhdGUgI2NoZWNrPlxyXG4gIDxzdmcgW2F0dHIud2lkdGhdPVwiaWNvblNpemUoKVwiIFthdHRyLmhlaWdodF09XCJpY29uU2l6ZSgpXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgW3N0eWxlLm9wYWNpdHldPVwiaWNvbk9wYWNpdHkoKVwiPlxyXG4gICAgPHBhdGggZD1cIk01IDEzbDQgNEwxOSA3XCIgW2F0dHIuc3Ryb2tlXT1cImljb25Db2xvcigpXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgPC9zdmc+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSAjY2FuY2VsPlxyXG4gIDxzdmcgW2F0dHIud2lkdGhdPVwiaWNvblNpemUoKVwiIFthdHRyLmhlaWdodF09XCJpY29uU2l6ZSgpXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgW3N0eWxlLm9wYWNpdHldPVwiaWNvbk9wYWNpdHkoKVwiPlxyXG4gICAgPHBhdGggZD1cIk02IDZsMTIgMTJNNiAxOEwxOCA2XCIgW2F0dHIuc3Ryb2tlXT1cImljb25Db2xvcigpXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiAvPlxyXG4gIDwvc3ZnPlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI2VkaXQ+XHJcbiAgPHN2ZyBbYXR0ci53aWR0aF09XCJpY29uU2l6ZSgpXCIgW2F0dHIuaGVpZ2h0XT1cImljb25TaXplKClcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiBbc3R5bGUub3BhY2l0eV09XCJpY29uT3BhY2l0eSgpXCI+XHJcbiAgICA8cmVjdCB4PVwiNVwiIHk9XCIxOVwiIHdpZHRoPVwiMTRcIiBoZWlnaHQ9XCIyXCIgcng9XCIxXCIgW2F0dHIuZmlsbF09XCJpY29uQ29sb3IoKVwiIC8+XHJcbiAgICA8cGF0aCBkPVwiTTE2LjUgMy41YTIuMTIxIDIuMTIxIDAgMCAxIDMgM0w3IDE5bC00IDEgMS00IDEyLjUtMTIuNXpcIiBbYXR0ci5zdHJva2VdPVwiaWNvbkNvbG9yKClcIiBzdHJva2Utd2lkdGg9XCIyXCIgLz5cclxuICA8L3N2Zz5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPG5nLXRlbXBsYXRlICNkZWxldGU+XHJcbiAgPHN2ZyBbYXR0ci53aWR0aF09XCJpY29uU2l6ZSgpXCIgW2F0dHIuaGVpZ2h0XT1cImljb25TaXplKClcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiBbc3R5bGUub3BhY2l0eV09XCJpY29uT3BhY2l0eSgpXCI+XHJcbiAgICA8cGF0aCBkPVwiTTYgMTlhMiAyIDAgMCAwIDIgMmg4YTIgMiAwIDAgMCAyLTJWN0g2djEyek0xOSA0aC0zLjVsLTEtMWgtNWwtMSAxSDV2MmgxNFY0elwiIFthdHRyLmZpbGxdPVwiaWNvbkNvbG9yKClcIiAvPlxyXG4gIDwvc3ZnPlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI2FkZD5cclxuICA8c3ZnIFthdHRyLndpZHRoXT1cImljb25TaXplKClcIiBbYXR0ci5oZWlnaHRdPVwiaWNvblNpemUoKVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIFtzdHlsZS5vcGFjaXR5XT1cImljb25PcGFjaXR5KClcIj5cclxuICAgIDxwYXRoIGQ9XCJNMTIgNXYxNE01IDEyaDE0XCIgW2F0dHIuc3Ryb2tlXT1cImljb25Db2xvcigpXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiAvPlxyXG4gIDwvc3ZnPlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI3ZpZXc+XHJcbiAgPHN2ZyBbYXR0ci53aWR0aF09XCJpY29uU2l6ZSgpXCIgW2F0dHIuaGVpZ2h0XT1cImljb25TaXplKClcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiBbc3R5bGUub3BhY2l0eV09XCJpY29uT3BhY2l0eSgpXCI+XHJcbiAgICA8cGF0aCBkPVwiTTEyIDVDNyA1IDIuNzMgOC4xMSAxIDEyYzEuNzMgMy44OSA2IDcgMTEgN3M5LjI3LTMuMTEgMTEtN2MtMS43My0zLjg5LTYtNy0xMS03elwiIFthdHRyLnN0cm9rZV09XCJpY29uQ29sb3IoKVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgPGNpcmNsZSBjeD1cIjEyXCIgY3k9XCIxMlwiIHI9XCIzXCIgW2F0dHIuc3Ryb2tlXT1cImljb25Db2xvcigpXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgPC9zdmc+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSAjZ2V0PlxyXG4gIDxzdmcgW2F0dHIud2lkdGhdPVwiaWNvblNpemUoKVwiIFthdHRyLmhlaWdodF09XCJpY29uU2l6ZSgpXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgW3N0eWxlLm9wYWNpdHldPVwiaWNvbk9wYWNpdHkoKVwiPlxyXG4gICAgPGNpcmNsZSBjeD1cIjZcIiBjeT1cIjZcIiByPVwiM1wiIFthdHRyLnN0cm9rZV09XCJpY29uQ29sb3IoKVwiIHN0cm9rZS13aWR0aD1cIjJcIiAvPlxyXG4gICAgPGNpcmNsZSBjeD1cIjE4XCIgY3k9XCIxOFwiIHI9XCIzXCIgW2F0dHIuc3Ryb2tlXT1cImljb25Db2xvcigpXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIC8+XHJcbiAgICA8cGF0aCBkPVwibTguNSA4LjUgNyA3XCIgW2F0dHIuc3Ryb2tlXT1cImljb25Db2xvcigpXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiAvPlxyXG4gICAgPHBhdGggZD1cIm0xMyAxMSAyIDItMiAyXCIgW2F0dHIuc3Ryb2tlXT1cImljb25Db2xvcigpXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgPC9zdmc+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSAjc2V0dGluZ3M+XHJcbiAgPHN2ZyBbYXR0ci53aWR0aF09XCJpY29uU2l6ZSgpXCIgW2F0dHIuaGVpZ2h0XT1cImljb25TaXplKClcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiBbc3R5bGUub3BhY2l0eV09XCJpY29uT3BhY2l0eSgpXCI+XHJcbiAgICA8Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjEyXCIgcj1cIjNcIiBbYXR0ci5zdHJva2VdPVwiaWNvbkNvbG9yKClcIiBzdHJva2Utd2lkdGg9XCIyXCIgLz5cclxuICAgIDxwYXRoIGQ9XCJNMTIgMXY2bTAgNnYxME0zLjM0IDdsNS4yIDNNMTUuNDYgMTRsNS4yIDNNMy4zNCAxN2w1LjItM00xNS40NiAxMGw1LjItM1wiIFthdHRyLnN0cm9rZV09XCJpY29uQ29sb3IoKVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgLz5cclxuICA8L3N2Zz5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPG5nLXRlbXBsYXRlICNkZWZhdWx0PlxyXG4gIDxzdmcgW2F0dHIud2lkdGhdPVwiaWNvblNpemUoKVwiIFthdHRyLmhlaWdodF09XCJpY29uU2l6ZSgpXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgW3N0eWxlLm9wYWNpdHldPVwiaWNvbk9wYWNpdHkoKVwiPlxyXG4gICAgPGNpcmNsZSBjeD1cIjEyXCIgY3k9XCIxMlwiIHI9XCIxMFwiIFthdHRyLnN0cm9rZV09XCJpY29uQ29sb3IoKVwiIHN0cm9rZS13aWR0aD1cIjJcIiAvPlxyXG4gIDwvc3ZnPlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI3NjaGVkdWxlPlxyXG4gIDxzdmcgW2F0dHIud2lkdGhdPVwiaWNvblNpemUoKVwiIFthdHRyLmhlaWdodF09XCJpY29uU2l6ZSgpXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgW3N0eWxlLm9wYWNpdHldPVwiaWNvbk9wYWNpdHkoKVwiPlxyXG4gICAgPGNpcmNsZSBjeD1cIjEyXCIgY3k9XCIxMlwiIHI9XCIxMFwiIFthdHRyLnN0cm9rZV09XCJpY29uQ29sb3IoKVwiIHN0cm9rZS13aWR0aD1cIjJcIiAvPlxyXG4gICAgPHBvbHlsaW5lIHBvaW50cz1cIjEyLDYgMTIsMTIgMTYsMTRcIiBbYXR0ci5zdHJva2VdPVwiaWNvbkNvbG9yKClcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICA8L3N2Zz5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPG5nLXRlbXBsYXRlICNyZWZyZXNoPlxyXG4gIDxzdmcgW2F0dHIud2lkdGhdPVwiaWNvblNpemUoKVwiIFthdHRyLmhlaWdodF09XCJpY29uU2l6ZSgpXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgW3N0eWxlLm9wYWNpdHldPVwiaWNvbk9wYWNpdHkoKVwiPlxyXG4gICAgPHBhdGggZD1cIk0zIDEyYTkgOSAwIDAgMSA5LTkgOS43NSA5Ljc1IDAgMCAxIDYuNzQgMi43NEwyMSA4XCIgW2F0dHIuc3Ryb2tlXT1cImljb25Db2xvcigpXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICA8cGF0aCBkPVwiTTIxIDN2NWgtNVwiIFthdHRyLnN0cm9rZV09XCJpY29uQ29sb3IoKVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgPHBhdGggZD1cIk0yMSAxMmE5IDkgMCAwIDEtOSA5IDkuNzUgOS43NSAwIDAgMS02Ljc0LTIuNzRMMyAxNlwiIFthdHRyLnN0cm9rZV09XCJpY29uQ29sb3IoKVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgPHBhdGggZD1cIk0zIDIxdi01aDVcIiBbYXR0ci5zdHJva2VdPVwiaWNvbkNvbG9yKClcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICA8L3N2Zz5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPG5nLXRlbXBsYXRlICNjaGVja0NpcmNsZT5cclxuICA8c3ZnIFthdHRyLndpZHRoXT1cImljb25TaXplKClcIiBbYXR0ci5oZWlnaHRdPVwiaWNvblNpemUoKVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIFtzdHlsZS5vcGFjaXR5XT1cImljb25PcGFjaXR5KClcIj5cclxuICAgIDxjaXJjbGUgY3g9XCIxMlwiIGN5PVwiMTJcIiByPVwiMTBcIiBbYXR0ci5zdHJva2VdPVwiaWNvbkNvbG9yKClcIiBzdHJva2Utd2lkdGg9XCIyXCIgLz5cclxuICAgIDxwYXRoIGQ9XCJtOSAxMiAyIDIgNC00XCIgW2F0dHIuc3Ryb2tlXT1cImljb25Db2xvcigpXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgPC9zdmc+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSAjY2FuY2VsQ2lyY2xlPlxyXG4gIDxzdmcgW2F0dHIud2lkdGhdPVwiaWNvblNpemUoKVwiIFthdHRyLmhlaWdodF09XCJpY29uU2l6ZSgpXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgW3N0eWxlLm9wYWNpdHldPVwiaWNvbk9wYWNpdHkoKVwiPlxyXG4gICAgPGNpcmNsZSBjeD1cIjEyXCIgY3k9XCIxMlwiIHI9XCIxMFwiIFthdHRyLnN0cm9rZV09XCJpY29uQ29sb3IoKVwiIHN0cm9rZS13aWR0aD1cIjJcIiAvPlxyXG4gICAgPHBhdGggZD1cIm0xNSA5LTYgNm0wLTYgNiA2XCIgW2F0dHIuc3Ryb2tlXT1cImljb25Db2xvcigpXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgPC9zdmc+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSAjZXJyb3I+XHJcbiAgPHN2ZyBbYXR0ci53aWR0aF09XCJpY29uU2l6ZSgpXCIgW2F0dHIuaGVpZ2h0XT1cImljb25TaXplKClcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiBbc3R5bGUub3BhY2l0eV09XCJpY29uT3BhY2l0eSgpXCI+XHJcbiAgICA8Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjEyXCIgcj1cIjEwXCIgW2F0dHIuc3Ryb2tlXT1cImljb25Db2xvcigpXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIC8+XHJcbiAgICA8bGluZSB4MT1cIjE1XCIgeTE9XCI5XCIgeDI9XCI5XCIgeTI9XCIxNVwiIFthdHRyLnN0cm9rZV09XCJpY29uQ29sb3IoKVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgLz5cclxuICAgIDxsaW5lIHgxPVwiOVwiIHkxPVwiOVwiIHgyPVwiMTVcIiB5Mj1cIjE1XCIgW2F0dHIuc3Ryb2tlXT1cImljb25Db2xvcigpXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiAvPlxyXG4gIDwvc3ZnPlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI3F1ZXVlPlxyXG4gIDxzdmcgW2F0dHIud2lkdGhdPVwiaWNvblNpemUoKVwiIFthdHRyLmhlaWdodF09XCJpY29uU2l6ZSgpXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgW3N0eWxlLm9wYWNpdHldPVwiaWNvbk9wYWNpdHkoKVwiPlxyXG4gICAgPHBhdGggZD1cIk0zIDEyaDE4bS05LTl2MThcIiBbYXR0ci5zdHJva2VdPVwiaWNvbkNvbG9yKClcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIC8+XHJcbiAgICA8cmVjdCB4PVwiMlwiIHk9XCIzXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjZcIiByeD1cIjFcIiBbYXR0ci5zdHJva2VdPVwiaWNvbkNvbG9yKClcIiBzdHJva2Utd2lkdGg9XCIyXCIgZmlsbD1cIm5vbmVcIiAvPlxyXG4gICAgPHJlY3QgeD1cIjJcIiB5PVwiMTVcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiNlwiIHJ4PVwiMVwiIFthdHRyLnN0cm9rZV09XCJpY29uQ29sb3IoKVwiIHN0cm9rZS13aWR0aD1cIjJcIiBmaWxsPVwibm9uZVwiIC8+XHJcbiAgPC9zdmc+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSAjYXJyb3dVcD5cclxuICA8c3ZnIFthdHRyLndpZHRoXT1cImljb25TaXplKClcIiBbYXR0ci5oZWlnaHRdPVwiaWNvblNpemUoKVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIFtzdHlsZS5vcGFjaXR5XT1cImljb25PcGFjaXR5KClcIj5cclxuICAgIDxwYXRoIGQ9XCJtMTggMTUtNi02LTYgNlwiIFthdHRyLnN0cm9rZV09XCJpY29uQ29sb3IoKVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gIDwvc3ZnPlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI2Fycm93RG93bj5cclxuICA8c3ZnIFthdHRyLndpZHRoXT1cImljb25TaXplKClcIiBbYXR0ci5oZWlnaHRdPVwiaWNvblNpemUoKVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIFtzdHlsZS5vcGFjaXR5XT1cImljb25PcGFjaXR5KClcIj5cclxuICAgIDxwYXRoIGQ9XCJtNiA5IDYgNiA2LTZcIiBbYXR0ci5zdHJva2VdPVwiaWNvbkNvbG9yKClcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICA8L3N2Zz5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPG5nLXRlbXBsYXRlICN0b2dnbGVPbj5cclxuICA8c3ZnIFthdHRyLndpZHRoXT1cImljb25TaXplKClcIiBbYXR0ci5oZWlnaHRdPVwiaWNvblNpemUoKVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIFtzdHlsZS5vcGFjaXR5XT1cImljb25PcGFjaXR5KClcIj5cclxuICAgIDxyZWN0IHg9XCIxXCIgeT1cIjVcIiB3aWR0aD1cIjIyXCIgaGVpZ2h0PVwiMTRcIiByeD1cIjdcIiBbYXR0ci5maWxsXT1cImljb25Db2xvcigpXCIgLz5cclxuICAgIDxjaXJjbGUgY3g9XCIxNlwiIGN5PVwiMTJcIiByPVwiM1wiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgPC9zdmc+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSAjdG9nZ2xlT2ZmPlxyXG4gIDxzdmcgW2F0dHIud2lkdGhdPVwiaWNvblNpemUoKVwiIFthdHRyLmhlaWdodF09XCJpY29uU2l6ZSgpXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgW3N0eWxlLm9wYWNpdHldPVwiaWNvbk9wYWNpdHkoKVwiPlxyXG4gICAgPHJlY3QgeD1cIjFcIiB5PVwiNVwiIHdpZHRoPVwiMjJcIiBoZWlnaHQ9XCIxNFwiIHJ4PVwiN1wiIFthdHRyLnN0cm9rZV09XCJpY29uQ29sb3IoKVwiIHN0cm9rZS13aWR0aD1cIjJcIiBmaWxsPVwibm9uZVwiIC8+XHJcbiAgICA8Y2lyY2xlIGN4PVwiOFwiIGN5PVwiMTJcIiByPVwiM1wiIFthdHRyLnN0cm9rZV09XCJpY29uQ29sb3IoKVwiIHN0cm9rZS13aWR0aD1cIjJcIiBmaWxsPVwibm9uZVwiIC8+XHJcbiAgPC9zdmc+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSAjc2VhcmNoPlxyXG4gIDxzdmcgW2F0dHIud2lkdGhdPVwiaWNvblNpemUoKVwiIFthdHRyLmhlaWdodF09XCJpY29uU2l6ZSgpXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgW3N0eWxlLm9wYWNpdHldPVwiaWNvbk9wYWNpdHkoKVwiPlxyXG4gICAgPGNpcmNsZSBjeD1cIjExXCIgY3k9XCIxMVwiIHI9XCI4XCIgW2F0dHIuc3Ryb2tlXT1cImljb25Db2xvcigpXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICA8cGF0aCBkPVwibTIxIDIxLTQuMzUtNC4zNVwiIFthdHRyLnN0cm9rZV09XCJpY29uQ29sb3IoKVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gIDwvc3ZnPlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI3VwbG9hZD5cclxuICA8c3ZnIFthdHRyLndpZHRoXT1cImljb25TaXplKClcIiBbYXR0ci5oZWlnaHRdPVwiaWNvblNpemUoKVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIFtzdHlsZS5vcGFjaXR5XT1cImljb25PcGFjaXR5KClcIj5cclxuICAgIDxwYXRoIGQ9XCJNMjEgMTV2NGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnYtNFwiIFthdHRyLnN0cm9rZV09XCJpY29uQ29sb3IoKVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgPHBvbHlsaW5lIHBvaW50cz1cIjcsMTAgMTIsNSAxNywxMFwiIFthdHRyLnN0cm9rZV09XCJpY29uQ29sb3IoKVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgPGxpbmUgeDE9XCIxMlwiIHkxPVwiNVwiIHgyPVwiMTJcIiB5Mj1cIjE1XCIgW2F0dHIuc3Ryb2tlXT1cImljb25Db2xvcigpXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiAvPlxyXG4gIDwvc3ZnPlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI3BlbmRpbmdBY3Rpb25zPlxyXG4gIDxzdmcgW2F0dHIud2lkdGhdPVwiaWNvblNpemUoKVwiIFthdHRyLmhlaWdodF09XCJpY29uU2l6ZSgpXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgW3N0eWxlLm9wYWNpdHldPVwiaWNvbk9wYWNpdHkoKVwiPlxyXG4gICAgPGNpcmNsZSBjeD1cIjEyXCIgY3k9XCIxMlwiIHI9XCIxMFwiIFthdHRyLnN0cm9rZV09XCJpY29uQ29sb3IoKVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgPHBvbHlsaW5lIHBvaW50cz1cIjEyLDYgMTIsMTIgMTYsMTRcIiBbYXR0ci5zdHJva2VdPVwiaWNvbkNvbG9yKClcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgIDxwYXRoIGQ9XCJNOCAydjRNMTYgMnY0XCIgW2F0dHIuc3Ryb2tlXT1cImljb25Db2xvcigpXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgPC9zdmc+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSAjcGxheUNpcmNsZT5cclxuICA8c3ZnIFthdHRyLndpZHRoXT1cImljb25TaXplKClcIiBbYXR0ci5oZWlnaHRdPVwiaWNvblNpemUoKVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIFtzdHlsZS5vcGFjaXR5XT1cImljb25PcGFjaXR5KClcIj5cclxuICAgIDxjaXJjbGUgY3g9XCIxMlwiIGN5PVwiMTJcIiByPVwiMTBcIiBbYXR0ci5zdHJva2VdPVwiaWNvbkNvbG9yKClcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgIDxwb2x5Z29uIHBvaW50cz1cIjEwLDggMTYsMTIgMTAsMTZcIiBbYXR0ci5maWxsXT1cImljb25Db2xvcigpXCIgLz5cclxuICA8L3N2Zz5cclxuPC9uZy10ZW1wbGF0ZT4iXX0=
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3VpL3NyYy9saWIvaWNvbi9pY29uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvc3JjL2xpYi9pY29uL2ljb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLGNBQWMsRUFDZCxnQkFBZ0IsRUFDaEIsY0FBYyxFQUNkLGtCQUFrQixFQUNsQixnQkFBZ0IsRUFDaEIsc0JBQXNCLEVBQ3RCLGVBQWUsRUFDZixVQUFVLEVBQ1Ysc0JBQXNCLEdBQ3ZCLE1BQU0sa0JBQWtCLENBQUM7OztBQVcxQixNQUFNLE9BQU8sZ0JBQWdCO0lBQ2xCLElBQUksR0FBRyxLQUFLLENBQVcsT0FBTyxDQUFDLENBQUM7SUFDaEMsS0FBSyxHQUFHLEtBQUssQ0FBWSxTQUFTLENBQUMsQ0FBQztJQUNwQyxXQUFXLEdBQUcsS0FBSyxDQUFxQixTQUFTLENBQUMsQ0FBQztJQUNuRCxRQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hCLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEIsTUFBTSxHQUFHLEtBQUssQ0FBQyxLQUFLLEVBQUU7UUFDN0IsU0FBUyxFQUFFLENBQUMsR0FBd0MsRUFBRSxFQUFFLENBQ3RELEdBQUcsS0FBSyxJQUFJLElBQUksR0FBRyxLQUFLLFNBQVMsSUFBSSxHQUFHLEtBQUssS0FBSyxJQUFJLEdBQUcsS0FBSyxPQUFPO0tBQ3hFLENBQUMsQ0FBQztJQUNNLElBQUksR0FBRyxLQUFLLENBQWEsUUFBUSxDQUFDLENBQUM7SUFFbkMsU0FBUyxHQUFHLE1BQU0sRUFBUyxDQUFDO0lBRTVCLFFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBRXhELFNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQ2pDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUFFLE9BQU8sY0FBYyxDQUFDO1FBRTNDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNsQyxJQUFJLE1BQU07WUFBRSxPQUFPLE1BQU0sQ0FBQztRQUUxQixPQUFPLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFJLGtCQUFrQixDQUFDO0lBQzlELENBQUMsQ0FBQyxDQUFDO0lBRU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDbkMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQUUsT0FBTyxnQkFBZ0IsQ0FBQztRQUU3QyxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssU0FBUyxDQUFDO1FBQ3hELE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBRXZFLE9BQU8sQ0FBQyxjQUFjLElBQUksaUJBQWlCLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUM7SUFDekYsQ0FBQyxDQUFDLENBQUM7SUFFTSxRQUFRLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUM1RSxnQkFBZ0IsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFFdEYsYUFBYSxDQUFDLEtBQVk7UUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLENBQUM7SUFDSCxDQUFDO3dHQXpDVSxnQkFBZ0I7NEZBQWhCLGdCQUFnQixrOUJDdkI3QiwraURBdUJDLDZvQkRKVyxZQUFZOzs0RkFJWCxnQkFBZ0I7a0JBUjVCLFNBQVM7K0JBRUUsVUFBVSxjQUNSLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5wdXQsIG91dHB1dCwgY29tcHV0ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBCQVNFX0lDT05fU0laRSxcbiAgQkFTRV9JQ09OX0NPTE9SUyxcbiAgRElTQUJMRURfQ09MT1IsXG4gIERFRkFVTFRfSUNPTl9DT0xPUixcbiAgRElTQUJMRURfT1BBQ0lUWSxcbiAgU0VDT05EQVJZX1dBUk5fT1BBQ0lUWSxcbiAgREVGQVVMVF9PUEFDSVRZLFxuICBJQ09OX1BBVEhTLFxuICBJQ09OX0FERElUSU9OQUxfU0hBUEVTLFxufSBmcm9tICcuL2ljb24uY29uc3RhbnRzJztcbmltcG9ydCB0eXBlIHsgSWNvblR5cGUsIENvbG9yVHlwZSwgQnV0dG9uVHlwZSB9IGZyb20gJy4vaWNvbi50eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogJ2M4MC1pY29uJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9pY29uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaWNvbi5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBDODBJY29uQ29tcG9uZW50IHtcbiAgcmVhZG9ubHkgaWNvbiA9IGlucHV0PEljb25UeXBlPignY2hlY2snKTtcbiAgcmVhZG9ubHkgY29sb3IgPSBpbnB1dDxDb2xvclR5cGU+KCdwcmltYXJ5Jyk7XG4gIHJlYWRvbmx5IGN1c3RvbUNvbG9yID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICByZWFkb25seSBkaXNhYmxlZCA9IGlucHV0KGZhbHNlKTtcbiAgcmVhZG9ubHkgc2l6ZSA9IGlucHV0KDEpO1xuICByZWFkb25seSBidXR0b24gPSBpbnB1dChmYWxzZSwge1xuICAgIHRyYW5zZm9ybTogKHZhbDogYm9vbGVhbiB8IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpID0+XG4gICAgICB2YWwgIT09IG51bGwgJiYgdmFsICE9PSB1bmRlZmluZWQgJiYgdmFsICE9PSBmYWxzZSAmJiB2YWwgIT09ICdmYWxzZScsXG4gIH0pO1xuICByZWFkb25seSB0eXBlID0gaW5wdXQ8QnV0dG9uVHlwZT4oJ2J1dHRvbicpO1xuXG4gIHJlYWRvbmx5IGljb25DbGljayA9IG91dHB1dDxFdmVudD4oKTtcblxuICByZWFkb25seSBpY29uU2l6ZSA9IGNvbXB1dGVkKCgpID0+IEJBU0VfSUNPTl9TSVpFICogdGhpcy5zaXplKCkpO1xuXG4gIHJlYWRvbmx5IGljb25Db2xvciA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCgpKSByZXR1cm4gRElTQUJMRURfQ09MT1I7XG5cbiAgICBjb25zdCBjdXN0b20gPSB0aGlzLmN1c3RvbUNvbG9yKCk7XG4gICAgaWYgKGN1c3RvbSkgcmV0dXJuIGN1c3RvbTtcblxuICAgIHJldHVybiBCQVNFX0lDT05fQ09MT1JTW3RoaXMuY29sb3IoKV0gPz8gREVGQVVMVF9JQ09OX0NPTE9SO1xuICB9KTtcblxuICByZWFkb25seSBpY29uT3BhY2l0eSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCgpKSByZXR1cm4gRElTQUJMRURfT1BBQ0lUWTtcblxuICAgIGNvbnN0IGhhc0N1c3RvbUNvbG9yID0gdGhpcy5jdXN0b21Db2xvcigpICE9PSB1bmRlZmluZWQ7XG4gICAgY29uc3QgaXNTZWNvbmRhcnlPcldhcm4gPSBbJ3NlY29uZGFyeScsICd3YXJuJ10uaW5jbHVkZXModGhpcy5jb2xvcigpKTtcblxuICAgIHJldHVybiAhaGFzQ3VzdG9tQ29sb3IgJiYgaXNTZWNvbmRhcnlPcldhcm4gPyBTRUNPTkRBUllfV0FSTl9PUEFDSVRZIDogREVGQVVMVF9PUEFDSVRZO1xuICB9KTtcblxuICByZWFkb25seSBpY29uUGF0aCA9IGNvbXB1dGVkKCgpID0+IElDT05fUEFUSFNbdGhpcy5pY29uKCldID8/IElDT05fUEFUSFNbJ2RlZmF1bHQnXSk7XG4gIHJlYWRvbmx5IGFkZGl0aW9uYWxTaGFwZXMgPSBjb21wdXRlZCgoKSA9PiBJQ09OX0FERElUSU9OQUxfU0hBUEVTW3RoaXMuaWNvbigpXSA/PyBbXSk7XG5cbiAgb25CdXR0b25DbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQoKSkge1xuICAgICAgdGhpcy5pY29uQ2xpY2suZW1pdChldmVudCk7XG4gICAgfVxuICB9XG59XG4iLCI8bmctdGVtcGxhdGUgI3N2Z0NvbnRlbnQ+XHJcbiAgPHN2ZyBbYXR0ci53aWR0aF09XCJpY29uU2l6ZSgpXCIgW2F0dHIuaGVpZ2h0XT1cImljb25TaXplKClcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiBbc3R5bGUub3BhY2l0eV09XCJpY29uT3BhY2l0eSgpXCI+XHJcbiAgICBAZm9yIChzaGFwZSBvZiBhZGRpdGlvbmFsU2hhcGVzKCk7IHRyYWNrICRpbmRleCkge1xyXG4gICAgQGlmIChzaGFwZS50eXBlID09PSAnY2lyY2xlJykge1xyXG4gICAgPGNpcmNsZSBbYXR0ci5jeF09XCJzaGFwZVsnY3gnXVwiIFthdHRyLmN5XT1cInNoYXBlWydjeSddXCIgW2F0dHIucl09XCJzaGFwZVsnciddXCIgW2F0dHIuc3Ryb2tlXT1cImljb25Db2xvcigpXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIGZpbGw9XCJub25lXCIgLz5cclxuICAgIH0gQGVsc2UgaWYgKHNoYXBlLnR5cGUgPT09ICdyZWN0Jykge1xyXG4gICAgPHJlY3QgW2F0dHIueF09XCJzaGFwZVsneCddXCIgW2F0dHIueV09XCJzaGFwZVsneSddXCIgW2F0dHIud2lkdGhdPVwic2hhcGVbJ3dpZHRoJ11cIiBbYXR0ci5oZWlnaHRdPVwic2hhcGVbJ2hlaWdodCddXCIgW2F0dHIucnhdPVwic2hhcGVbJ3J4J11cIiBbYXR0ci5zdHJva2VdPVwiaWNvbkNvbG9yKClcIiBzdHJva2Utd2lkdGg9XCIyXCIgZmlsbD1cIm5vbmVcIiAvPlxyXG4gICAgfSBAZWxzZSBpZiAoc2hhcGUudHlwZSA9PT0gJ3BhdGgnKSB7XHJcbiAgICA8cGF0aCBbYXR0ci5kXT1cInNoYXBlWydkJ11cIiBbYXR0ci5zdHJva2VdPVwiaWNvbkNvbG9yKClcIiBzdHJva2Utd2lkdGg9XCIyXCIgZmlsbD1cIm5vbmVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgfVxyXG4gICAgfVxyXG4gICAgPHBhdGggW2F0dHIuZF09XCJpY29uUGF0aCgpXCIgW2F0dHIuc3Ryb2tlXT1cImljb25Db2xvcigpXCIgW2F0dHIuZmlsbF09XCJpY29uKCkgPT09ICdkZWxldGUnID8gaWNvbkNvbG9yKCkgOiAnbm9uZSdcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICA8L3N2Zz5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbkBpZiAoYnV0dG9uKCkpIHtcclxuPGJ1dHRvbiBbdHlwZV09XCJ0eXBlKClcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiIGNsYXNzPVwiaWNvbi1idXR0b25cIiBbc3R5bGUud2lkdGgucHhdPVwiaWNvblNpemUoKSArIDhcIiBbc3R5bGUuaGVpZ2h0LnB4XT1cImljb25TaXplKCkgKyA4XCIgKGNsaWNrKT1cIm9uQnV0dG9uQ2xpY2soJGV2ZW50KVwiPlxyXG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzdmdDb250ZW50XCIgLz5cclxuPC9idXR0b24+XHJcbn0gQGVsc2Uge1xyXG48c3BhbiBjbGFzcz1cImljb24tc3BhblwiIFtzdHlsZS53aWR0aC5weF09XCJpY29uU2l6ZSgpXCIgW3N0eWxlLmhlaWdodC5weF09XCJpY29uU2l6ZSgpXCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInN2Z0NvbnRlbnRcIiAvPlxyXG48L3NwYW4+XHJcbn0iXX0=
@@ -35,4 +35,51 @@ export const DISABLED_OPACITY = 0.5;
35
35
  export const SECONDARY_WARN_OPACITY = 0.7;
36
36
  export const DEFAULT_OPACITY = 1;
37
37
  export const BASE_ICON_SIZE = 24;
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb25zdGFudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3VpL3NyYy9saWIvaWNvbi9pY29uLmNvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUc7SUFDeEIsT0FBTztJQUNQLFFBQVE7SUFDUixNQUFNO0lBQ04sUUFBUTtJQUNSLEtBQUs7SUFDTCxNQUFNO0lBQ04sS0FBSztJQUNMLFVBQVU7SUFDVixVQUFVO0lBQ1YsU0FBUztJQUNULGFBQWE7SUFDYixjQUFjO0lBQ2QsT0FBTztJQUNQLE9BQU87SUFDUCxTQUFTO0lBQ1QsV0FBVztJQUNYLFVBQVU7SUFDVixXQUFXO0lBQ1gsUUFBUTtJQUNSLFFBQVE7SUFDUixnQkFBZ0I7SUFDaEIsWUFBWTtJQUNaLFNBQVM7Q0FDRCxDQUFDO0FBRVgsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQXdDO0lBQ25FLE9BQU8sRUFBRSxXQUFXO0lBQ3BCLFNBQVMsRUFBRSxTQUFTO0lBQ3BCLElBQUksRUFBRSxTQUFTO0lBQ2YsT0FBTyxFQUFFLFNBQVM7Q0FDbkIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxTQUFTLENBQUM7QUFDeEMsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxDQUFDO0FBQ3pDLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLEdBQUcsQ0FBQztBQUNwQyxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxHQUFHLENBQUM7QUFDMUMsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQUMsQ0FBQztBQUNqQyxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sb3JUeXBlIH0gZnJvbSAnLi9pY29uLnR5cGVzJztcblxuZXhwb3J0IGNvbnN0IElDT05fTkFNRVMgPSBbXG4gICdjaGVjaycsXG4gICdjYW5jZWwnLFxuICAnZWRpdCcsXG4gICdkZWxldGUnLFxuICAnYWRkJyxcbiAgJ3ZpZXcnLFxuICAnZ2V0JyxcbiAgJ3NldHRpbmdzJyxcbiAgJ3NjaGVkdWxlJyxcbiAgJ3JlZnJlc2gnLFxuICAnY2hlY2tDaXJjbGUnLFxuICAnY2FuY2VsQ2lyY2xlJyxcbiAgJ2Vycm9yJyxcbiAgJ3F1ZXVlJyxcbiAgJ2Fycm93VXAnLFxuICAnYXJyb3dEb3duJyxcbiAgJ3RvZ2dsZU9uJyxcbiAgJ3RvZ2dsZU9mZicsXG4gICdzZWFyY2gnLFxuICAndXBsb2FkJyxcbiAgJ3BlbmRpbmdBY3Rpb25zJyxcbiAgJ3BsYXlDaXJjbGUnLFxuICAnZGVmYXVsdCcsXG5dIGFzIGNvbnN0O1xuXG5leHBvcnQgY29uc3QgQkFTRV9JQ09OX0NPTE9SUzogUmVhZG9ubHk8UmVjb3JkPENvbG9yVHlwZSwgc3RyaW5nPj4gPSB7XG4gIHByaW1hcnk6ICcjMDAzNzc1YzgnLFxuICBzZWNvbmRhcnk6ICcjNmI3MjgwJyxcbiAgd2FybjogJyNlNTM5MzUnLFxuICBzdWNjZXNzOiAnIzRjYWY1MCcsXG59O1xuXG5leHBvcnQgY29uc3QgRElTQUJMRURfQ09MT1IgPSAnI2JkYmRiZCc7XG5leHBvcnQgY29uc3QgREVGQVVMVF9JQ09OX0NPTE9SID0gJyMyMjInO1xuZXhwb3J0IGNvbnN0IERJU0FCTEVEX09QQUNJVFkgPSAwLjU7XG5leHBvcnQgY29uc3QgU0VDT05EQVJZX1dBUk5fT1BBQ0lUWSA9IDAuNztcbmV4cG9ydCBjb25zdCBERUZBVUxUX09QQUNJVFkgPSAxO1xuZXhwb3J0IGNvbnN0IEJBU0VfSUNPTl9TSVpFID0gMjQ7XG4iXX0=
38
+ export const ICON_PATHS = {
39
+ check: 'M5 13l4 4L19 7',
40
+ cancel: 'M6 6l12 12M6 18L18 6',
41
+ edit: 'M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4 12.5-12.5z',
42
+ delete: 'M6 19a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z',
43
+ add: 'M12 5v14M5 12h14',
44
+ view: 'M12 5C7 5 2.73 8.11 1 12c1.73 3.89 6 7 11 7s9.27-3.11 11-7c-1.73-3.89-6-7-11-7z',
45
+ get: 'm8.5 8.5 7 7',
46
+ settings: 'M12 1v6m0 6v10M3.34 7l5.2 3M15.46 14l5.2 3M3.34 17l5.2-3M15.46 10l5.2-3',
47
+ schedule: 'M12 6v6l4 2',
48
+ refresh: 'M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8M21 3v5h-5M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16M3 21v-5h5',
49
+ checkCircle: 'm9 12 2 2 4-4',
50
+ cancelCircle: 'm15 9-6 6m0-6 6 6',
51
+ error: 'M15 9L9 15M9 9l6 6',
52
+ queue: 'M3 12h18m-9-9v18',
53
+ arrowUp: 'm18 15-6-6-6 6',
54
+ arrowDown: 'm6 9 6 6 6-6',
55
+ toggleOn: 'M17 8a1 1 0 1 1 0 2 1 1 0 0 1 0-2',
56
+ toggleOff: 'M7 8a1 1 0 1 1 0 2 1 1 0 0 1 0-2',
57
+ search: 'm21 21-6-6m2-5a7 7 0 1 1-14 0 7 7 0 0 1 14 0z',
58
+ upload: 'M12 15V3m0 0l-4 4m4-4l4 4M2 17l.621 2.485A2 2 0 0 0 4.561 21h14.878a2 2 0 0 0 1.94-1.515L22 17',
59
+ pendingActions: 'M12 8v4l3 3m6-3a9 9 0 1 1-18 0 9 9 0 0 1 18 0z',
60
+ playCircle: 'M14.752 11.168l-3.197-2.132A1 1 0 0 0 10 9.87v4.263a1 1 0 0 0 1.555.832l3.197-2.132a1 1 0 0 0 0-1.664z',
61
+ default: '',
62
+ };
63
+ export const ICON_ADDITIONAL_SHAPES = {
64
+ view: [{ type: 'circle', cx: '12', cy: '12', r: '3' }],
65
+ get: [
66
+ { type: 'circle', cx: '6', cy: '6', r: '3' },
67
+ { type: 'circle', cx: '18', cy: '18', r: '3' },
68
+ { type: 'path', d: 'm13 11 2 2-2 2' },
69
+ ],
70
+ settings: [{ type: 'circle', cx: '12', cy: '12', r: '3' }],
71
+ schedule: [{ type: 'circle', cx: '12', cy: '12', r: '10' }],
72
+ checkCircle: [{ type: 'circle', cx: '12', cy: '12', r: '10' }],
73
+ cancelCircle: [{ type: 'circle', cx: '12', cy: '12', r: '10' }],
74
+ error: [{ type: 'circle', cx: '12', cy: '12', r: '10' }],
75
+ queue: [
76
+ { type: 'rect', x: '2', y: '3', width: '20', height: '6', rx: '1' },
77
+ { type: 'rect', x: '2', y: '15', width: '20', height: '6', rx: '1' },
78
+ ],
79
+ toggleOn: [{ type: 'rect', x: '5', y: '5', width: '14', height: '6', rx: '3' }],
80
+ toggleOff: [{ type: 'rect', x: '5', y: '5', width: '14', height: '6', rx: '3' }],
81
+ playCircle: [{ type: 'circle', cx: '12', cy: '12', r: '10' }],
82
+ default: [{ type: 'circle', cx: '12', cy: '12', r: '10' }],
83
+ edit: [{ type: 'rect', x: '5', y: '19', width: '14', height: '2', rx: '1' }],
84
+ };
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb25zdGFudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3VpL3NyYy9saWIvaWNvbi9pY29uLmNvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUc7SUFDeEIsT0FBTztJQUNQLFFBQVE7SUFDUixNQUFNO0lBQ04sUUFBUTtJQUNSLEtBQUs7SUFDTCxNQUFNO0lBQ04sS0FBSztJQUNMLFVBQVU7SUFDVixVQUFVO0lBQ1YsU0FBUztJQUNULGFBQWE7SUFDYixjQUFjO0lBQ2QsT0FBTztJQUNQLE9BQU87SUFDUCxTQUFTO0lBQ1QsV0FBVztJQUNYLFVBQVU7SUFDVixXQUFXO0lBQ1gsUUFBUTtJQUNSLFFBQVE7SUFDUixnQkFBZ0I7SUFDaEIsWUFBWTtJQUNaLFNBQVM7Q0FDRCxDQUFDO0FBRVgsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQXdDO0lBQ25FLE9BQU8sRUFBRSxXQUFXO0lBQ3BCLFNBQVMsRUFBRSxTQUFTO0lBQ3BCLElBQUksRUFBRSxTQUFTO0lBQ2YsT0FBTyxFQUFFLFNBQVM7Q0FDbkIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxTQUFTLENBQUM7QUFDeEMsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxDQUFDO0FBQ3pDLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLEdBQUcsQ0FBQztBQUNwQyxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxHQUFHLENBQUM7QUFDMUMsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQUMsQ0FBQztBQUNqQyxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsRUFBRSxDQUFDO0FBRWpDLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBcUM7SUFDMUQsS0FBSyxFQUFFLGdCQUFnQjtJQUN2QixNQUFNLEVBQUUsc0JBQXNCO0lBQzlCLElBQUksRUFBRSwwREFBMEQ7SUFDaEUsTUFBTSxFQUFFLDhFQUE4RTtJQUN0RixHQUFHLEVBQUUsa0JBQWtCO0lBQ3ZCLElBQUksRUFBRSxpRkFBaUY7SUFDdkYsR0FBRyxFQUFFLGNBQWM7SUFDbkIsUUFBUSxFQUFFLHlFQUF5RTtJQUNuRixRQUFRLEVBQUUsYUFBYTtJQUN2QixPQUFPLEVBQUUsMkhBQTJIO0lBQ3BJLFdBQVcsRUFBRSxlQUFlO0lBQzVCLFlBQVksRUFBRSxtQkFBbUI7SUFDakMsS0FBSyxFQUFFLG9CQUFvQjtJQUMzQixLQUFLLEVBQUUsa0JBQWtCO0lBQ3pCLE9BQU8sRUFBRSxnQkFBZ0I7SUFDekIsU0FBUyxFQUFFLGNBQWM7SUFDekIsUUFBUSxFQUFFLG1DQUFtQztJQUM3QyxTQUFTLEVBQUUsa0NBQWtDO0lBQzdDLE1BQU0sRUFBRSwrQ0FBK0M7SUFDdkQsTUFBTSxFQUFFLGdHQUFnRztJQUN4RyxjQUFjLEVBQUUsZ0RBQWdEO0lBQ2hFLFVBQVUsRUFBRSx3R0FBd0c7SUFDcEgsT0FBTyxFQUFFLEVBQUU7Q0FDWixDQUFDO0FBT0YsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQWdEO0lBQ2pGLElBQUksRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQ3RELEdBQUcsRUFBRTtRQUNILEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRTtRQUM1QyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUU7UUFDOUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxnQkFBZ0IsRUFBRTtLQUN0QztJQUNELFFBQVEsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQzFELFFBQVEsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDO0lBQzNELFdBQVcsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDO0lBQzlELFlBQVksRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDO0lBQy9ELEtBQUssRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ3hELEtBQUssRUFBRTtRQUNMLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUU7UUFDbkUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRTtLQUNyRTtJQUNELFFBQVEsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUMvRSxTQUFTLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDaEYsVUFBVSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDN0QsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDMUQsSUFBSSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDO0NBQzdFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xvclR5cGUgfSBmcm9tICcuL2ljb24udHlwZXMnO1xuXG5leHBvcnQgY29uc3QgSUNPTl9OQU1FUyA9IFtcbiAgJ2NoZWNrJyxcbiAgJ2NhbmNlbCcsXG4gICdlZGl0JyxcbiAgJ2RlbGV0ZScsXG4gICdhZGQnLFxuICAndmlldycsXG4gICdnZXQnLFxuICAnc2V0dGluZ3MnLFxuICAnc2NoZWR1bGUnLFxuICAncmVmcmVzaCcsXG4gICdjaGVja0NpcmNsZScsXG4gICdjYW5jZWxDaXJjbGUnLFxuICAnZXJyb3InLFxuICAncXVldWUnLFxuICAnYXJyb3dVcCcsXG4gICdhcnJvd0Rvd24nLFxuICAndG9nZ2xlT24nLFxuICAndG9nZ2xlT2ZmJyxcbiAgJ3NlYXJjaCcsXG4gICd1cGxvYWQnLFxuICAncGVuZGluZ0FjdGlvbnMnLFxuICAncGxheUNpcmNsZScsXG4gICdkZWZhdWx0Jyxcbl0gYXMgY29uc3Q7XG5cbmV4cG9ydCBjb25zdCBCQVNFX0lDT05fQ09MT1JTOiBSZWFkb25seTxSZWNvcmQ8Q29sb3JUeXBlLCBzdHJpbmc+PiA9IHtcbiAgcHJpbWFyeTogJyMwMDM3NzVjOCcsXG4gIHNlY29uZGFyeTogJyM2YjcyODAnLFxuICB3YXJuOiAnI2U1MzkzNScsXG4gIHN1Y2Nlc3M6ICcjNGNhZjUwJyxcbn07XG5cbmV4cG9ydCBjb25zdCBESVNBQkxFRF9DT0xPUiA9ICcjYmRiZGJkJztcbmV4cG9ydCBjb25zdCBERUZBVUxUX0lDT05fQ09MT1IgPSAnIzIyMic7XG5leHBvcnQgY29uc3QgRElTQUJMRURfT1BBQ0lUWSA9IDAuNTtcbmV4cG9ydCBjb25zdCBTRUNPTkRBUllfV0FSTl9PUEFDSVRZID0gMC43O1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfT1BBQ0lUWSA9IDE7XG5leHBvcnQgY29uc3QgQkFTRV9JQ09OX1NJWkUgPSAyNDtcblxuZXhwb3J0IGNvbnN0IElDT05fUEFUSFM6IFJlYWRvbmx5PFJlY29yZDxzdHJpbmcsIHN0cmluZz4+ID0ge1xuICBjaGVjazogJ001IDEzbDQgNEwxOSA3JyxcbiAgY2FuY2VsOiAnTTYgNmwxMiAxMk02IDE4TDE4IDYnLFxuICBlZGl0OiAnTTE2LjUgMy41YTIuMTIxIDIuMTIxIDAgMCAxIDMgM0w3IDE5bC00IDEgMS00IDEyLjUtMTIuNXonLFxuICBkZWxldGU6ICdNNiAxOWEyIDIgMCAwIDAgMiAyaDhhMiAyIDAgMCAwIDItMlY3SDZ2MTJ6TTE5IDRoLTMuNWwtMS0xaC01bC0xIDFINXYyaDE0VjR6JyxcbiAgYWRkOiAnTTEyIDV2MTRNNSAxMmgxNCcsXG4gIHZpZXc6ICdNMTIgNUM3IDUgMi43MyA4LjExIDEgMTJjMS43MyAzLjg5IDYgNyAxMSA3czkuMjctMy4xMSAxMS03Yy0xLjczLTMuODktNi03LTExLTd6JyxcbiAgZ2V0OiAnbTguNSA4LjUgNyA3JyxcbiAgc2V0dGluZ3M6ICdNMTIgMXY2bTAgNnYxME0zLjM0IDdsNS4yIDNNMTUuNDYgMTRsNS4yIDNNMy4zNCAxN2w1LjItM00xNS40NiAxMGw1LjItMycsXG4gIHNjaGVkdWxlOiAnTTEyIDZ2Nmw0IDInLFxuICByZWZyZXNoOiAnTTMgMTJhOSA5IDAgMCAxIDktOSA5Ljc1IDkuNzUgMCAwIDEgNi43NCAyLjc0TDIxIDhNMjEgM3Y1aC01TTIxIDEyYTkgOSAwIDAgMS05IDkgOS43NSA5Ljc1IDAgMCAxLTYuNzQtMi43NEwzIDE2TTMgMjF2LTVoNScsXG4gIGNoZWNrQ2lyY2xlOiAnbTkgMTIgMiAyIDQtNCcsXG4gIGNhbmNlbENpcmNsZTogJ20xNSA5LTYgNm0wLTYgNiA2JyxcbiAgZXJyb3I6ICdNMTUgOUw5IDE1TTkgOWw2IDYnLFxuICBxdWV1ZTogJ00zIDEyaDE4bS05LTl2MTgnLFxuICBhcnJvd1VwOiAnbTE4IDE1LTYtNi02IDYnLFxuICBhcnJvd0Rvd246ICdtNiA5IDYgNiA2LTYnLFxuICB0b2dnbGVPbjogJ00xNyA4YTEgMSAwIDEgMSAwIDIgMSAxIDAgMCAxIDAtMicsXG4gIHRvZ2dsZU9mZjogJ003IDhhMSAxIDAgMSAxIDAgMiAxIDEgMCAwIDEgMC0yJyxcbiAgc2VhcmNoOiAnbTIxIDIxLTYtNm0yLTVhNyA3IDAgMSAxLTE0IDAgNyA3IDAgMCAxIDE0IDB6JyxcbiAgdXBsb2FkOiAnTTEyIDE1VjNtMCAwbC00IDRtNC00bDQgNE0yIDE3bC42MjEgMi40ODVBMiAyIDAgMCAwIDQuNTYxIDIxaDE0Ljg3OGEyIDIgMCAwIDAgMS45NC0xLjUxNUwyMiAxNycsXG4gIHBlbmRpbmdBY3Rpb25zOiAnTTEyIDh2NGwzIDNtNi0zYTkgOSAwIDEgMS0xOCAwIDkgOSAwIDAgMSAxOCAweicsXG4gIHBsYXlDaXJjbGU6ICdNMTQuNzUyIDExLjE2OGwtMy4xOTctMi4xMzJBMSAxIDAgMCAwIDEwIDkuODd2NC4yNjNhMSAxIDAgMCAwIDEuNTU1LjgzMmwzLjE5Ny0yLjEzMmExIDEgMCAwIDAgMC0xLjY2NHonLFxuICBkZWZhdWx0OiAnJyxcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2hhcGVBdHRyaWJ1dGVzIHtcbiAgdHlwZTogJ2NpcmNsZScgfCAncmVjdCcgfCAncGF0aCc7XG4gIFtrZXk6IHN0cmluZ106IHN0cmluZyB8IG51bWJlcjtcbn1cblxuZXhwb3J0IGNvbnN0IElDT05fQURESVRJT05BTF9TSEFQRVM6IFJlYWRvbmx5PFJlY29yZDxzdHJpbmcsIFNoYXBlQXR0cmlidXRlc1tdPj4gPSB7XG4gIHZpZXc6IFt7IHR5cGU6ICdjaXJjbGUnLCBjeDogJzEyJywgY3k6ICcxMicsIHI6ICczJyB9XSxcbiAgZ2V0OiBbXG4gICAgeyB0eXBlOiAnY2lyY2xlJywgY3g6ICc2JywgY3k6ICc2JywgcjogJzMnIH0sXG4gICAgeyB0eXBlOiAnY2lyY2xlJywgY3g6ICcxOCcsIGN5OiAnMTgnLCByOiAnMycgfSxcbiAgICB7IHR5cGU6ICdwYXRoJywgZDogJ20xMyAxMSAyIDItMiAyJyB9LFxuICBdLFxuICBzZXR0aW5nczogW3sgdHlwZTogJ2NpcmNsZScsIGN4OiAnMTInLCBjeTogJzEyJywgcjogJzMnIH1dLFxuICBzY2hlZHVsZTogW3sgdHlwZTogJ2NpcmNsZScsIGN4OiAnMTInLCBjeTogJzEyJywgcjogJzEwJyB9XSxcbiAgY2hlY2tDaXJjbGU6IFt7IHR5cGU6ICdjaXJjbGUnLCBjeDogJzEyJywgY3k6ICcxMicsIHI6ICcxMCcgfV0sXG4gIGNhbmNlbENpcmNsZTogW3sgdHlwZTogJ2NpcmNsZScsIGN4OiAnMTInLCBjeTogJzEyJywgcjogJzEwJyB9XSxcbiAgZXJyb3I6IFt7IHR5cGU6ICdjaXJjbGUnLCBjeDogJzEyJywgY3k6ICcxMicsIHI6ICcxMCcgfV0sXG4gIHF1ZXVlOiBbXG4gICAgeyB0eXBlOiAncmVjdCcsIHg6ICcyJywgeTogJzMnLCB3aWR0aDogJzIwJywgaGVpZ2h0OiAnNicsIHJ4OiAnMScgfSxcbiAgICB7IHR5cGU6ICdyZWN0JywgeDogJzInLCB5OiAnMTUnLCB3aWR0aDogJzIwJywgaGVpZ2h0OiAnNicsIHJ4OiAnMScgfSxcbiAgXSxcbiAgdG9nZ2xlT246IFt7IHR5cGU6ICdyZWN0JywgeDogJzUnLCB5OiAnNScsIHdpZHRoOiAnMTQnLCBoZWlnaHQ6ICc2Jywgcng6ICczJyB9XSxcbiAgdG9nZ2xlT2ZmOiBbeyB0eXBlOiAncmVjdCcsIHg6ICc1JywgeTogJzUnLCB3aWR0aDogJzE0JywgaGVpZ2h0OiAnNicsIHJ4OiAnMycgfV0sXG4gIHBsYXlDaXJjbGU6IFt7IHR5cGU6ICdjaXJjbGUnLCBjeDogJzEyJywgY3k6ICcxMicsIHI6ICcxMCcgfV0sXG4gIGRlZmF1bHQ6IFt7IHR5cGU6ICdjaXJjbGUnLCBjeDogJzEyJywgY3k6ICcxMicsIHI6ICcxMCcgfV0sXG4gIGVkaXQ6IFt7IHR5cGU6ICdyZWN0JywgeDogJzUnLCB5OiAnMTknLCB3aWR0aDogJzE0JywgaGVpZ2h0OiAnMicsIHJ4OiAnMScgfV0sXG59O1xuIl19
@@ -1,5 +1,4 @@
1
- import { TemplateRef } from '@angular/core';
2
- import { ColorType, ButtonType } from './icon.types';
1
+ import type { ColorType, ButtonType } from './icon.types';
3
2
  import * as i0 from "@angular/core";
4
3
  export declare class C80IconComponent {
5
4
  readonly icon: import("@angular/core").InputSignal<"check" | "cancel" | "edit" | "delete" | "add" | "view" | "get" | "settings" | "schedule" | "refresh" | "checkCircle" | "cancelCircle" | "error" | "queue" | "arrowUp" | "arrowDown" | "toggleOn" | "toggleOff" | "search" | "upload" | "pendingActions" | "playCircle" | "default">;
@@ -13,30 +12,8 @@ export declare class C80IconComponent {
13
12
  readonly iconSize: import("@angular/core").Signal<number>;
14
13
  readonly iconColor: import("@angular/core").Signal<string>;
15
14
  readonly iconOpacity: import("@angular/core").Signal<0.5 | 0.7 | 1>;
16
- readonly iconTemplate: import("@angular/core").Signal<any>;
17
- readonly check: import("@angular/core").Signal<TemplateRef<unknown> | undefined>;
18
- readonly cancel: import("@angular/core").Signal<TemplateRef<unknown> | undefined>;
19
- readonly edit: import("@angular/core").Signal<TemplateRef<unknown> | undefined>;
20
- readonly delete: import("@angular/core").Signal<TemplateRef<unknown> | undefined>;
21
- readonly add: import("@angular/core").Signal<TemplateRef<unknown> | undefined>;
22
- readonly view: import("@angular/core").Signal<TemplateRef<unknown> | undefined>;
23
- readonly get: import("@angular/core").Signal<TemplateRef<unknown> | undefined>;
24
- readonly settings: import("@angular/core").Signal<TemplateRef<unknown> | undefined>;
25
- readonly schedule: import("@angular/core").Signal<TemplateRef<unknown> | undefined>;
26
- readonly refresh: import("@angular/core").Signal<TemplateRef<unknown> | undefined>;
27
- readonly checkCircle: import("@angular/core").Signal<TemplateRef<unknown> | undefined>;
28
- readonly cancelCircle: import("@angular/core").Signal<TemplateRef<unknown> | undefined>;
29
- readonly error: import("@angular/core").Signal<TemplateRef<unknown> | undefined>;
30
- readonly queue: import("@angular/core").Signal<TemplateRef<unknown> | undefined>;
31
- readonly arrowUp: import("@angular/core").Signal<TemplateRef<unknown> | undefined>;
32
- readonly arrowDown: import("@angular/core").Signal<TemplateRef<unknown> | undefined>;
33
- readonly toggleOn: import("@angular/core").Signal<TemplateRef<unknown> | undefined>;
34
- readonly toggleOff: import("@angular/core").Signal<TemplateRef<unknown> | undefined>;
35
- readonly search: import("@angular/core").Signal<TemplateRef<unknown> | undefined>;
36
- readonly upload: import("@angular/core").Signal<TemplateRef<unknown> | undefined>;
37
- readonly pendingActions: import("@angular/core").Signal<TemplateRef<unknown> | undefined>;
38
- readonly playCircle: import("@angular/core").Signal<TemplateRef<unknown> | undefined>;
39
- readonly default: import("@angular/core").Signal<TemplateRef<unknown> | undefined>;
15
+ readonly iconPath: import("@angular/core").Signal<string>;
16
+ readonly additionalShapes: import("@angular/core").Signal<import("./icon.constants").ShapeAttributes[]>;
40
17
  onButtonClick(event: Event): void;
41
18
  static ɵfac: i0.ɵɵFactoryDeclaration<C80IconComponent, never>;
42
19
  static ɵcmp: i0.ɵɵComponentDeclaration<C80IconComponent, "c80-icon", never, { "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "customColor": { "alias": "customColor"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "button": { "alias": "button"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; }, { "iconClick": "iconClick"; }, never, never, true, never>;
@@ -7,3 +7,9 @@ export declare const DISABLED_OPACITY = 0.5;
7
7
  export declare const SECONDARY_WARN_OPACITY = 0.7;
8
8
  export declare const DEFAULT_OPACITY = 1;
9
9
  export declare const BASE_ICON_SIZE = 24;
10
+ export declare const ICON_PATHS: Readonly<Record<string, string>>;
11
+ export interface ShapeAttributes {
12
+ type: 'circle' | 'rect' | 'path';
13
+ [key: string]: string | number;
14
+ }
15
+ export declare const ICON_ADDITIONAL_SHAPES: Readonly<Record<string, ShapeAttributes[]>>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@c80/ui",
3
- "version": "1.0.38",
3
+ "version": "1.0.39",
4
4
  "peerDependencies": {
5
5
  "@angular/core": "^18.2.0",
6
6
  "rxjs": "~7.8.0",