@snabcentr/client-ui 0.27.0 → 0.28.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (27) hide show
  1. package/auth/sc-auth.module.d.ts +1 -2
  2. package/cart/cart-item-mobile/sc-cart-item-mobile.component.d.ts +15 -15
  3. package/catalog/price-card/sc-price-card.component.d.ts +11 -105
  4. package/contragents/sc-contragents.module.d.ts +1 -2
  5. package/directives/abstract-price-card/abstract-sc-price-card.directive.d.ts +107 -0
  6. package/directives/index.d.ts +1 -2
  7. package/esm2020/auth/sc-auth.module.mjs +3 -7
  8. package/esm2020/cart/cart-item-mobile/sc-cart-item-mobile.component.mjs +9 -8
  9. package/esm2020/catalog/price-card/sc-price-card.component.mjs +31 -142
  10. package/esm2020/catalog/price-list-pagination/sc-price-list-pagination.component.mjs +3 -3
  11. package/esm2020/contragents/sc-contragents.module.mjs +38 -20
  12. package/esm2020/directives/abstract-price-card/abstract-sc-price-card.directive.mjs +131 -0
  13. package/esm2020/directives/index.mjs +2 -3
  14. package/esm2020/helpers/sc-units-helper.mjs +11 -10
  15. package/esm2020/order/order-item-mobile/order-item-mobile.component.mjs +3 -3
  16. package/fesm2015/snabcentr-client-ui.mjs +301 -321
  17. package/fesm2015/snabcentr-client-ui.mjs.map +1 -1
  18. package/fesm2020/snabcentr-client-ui.mjs +299 -316
  19. package/fesm2020/snabcentr-client-ui.mjs.map +1 -1
  20. package/helpers/sc-units-helper.d.ts +6 -6
  21. package/order/order-item-mobile/order-item-mobile.component.d.ts +3 -3
  22. package/package.json +1 -1
  23. package/styles/tailwind/tailwind.scss +26 -37
  24. package/directives/carousel-item-hidden/sc-carousel-item-hidden.directive.d.ts +0 -24
  25. package/directives/carousel-item-hidden/sc-carousel-item-hidden.module.d.ts +0 -11
  26. package/esm2020/directives/carousel-item-hidden/sc-carousel-item-hidden.directive.mjs +0 -40
  27. package/esm2020/directives/carousel-item-hidden/sc-carousel-item-hidden.module.mjs +0 -21
@@ -3,10 +3,10 @@ import * as i0 from "@angular/core";
3
3
  /**
4
4
  * Класс хэлпер для работы со значениями единиц измерения товара.
5
5
  */
6
- export declare class UnitsHelper {
6
+ export declare class ScUnitsHelper {
7
7
  readonly linearValues: string[];
8
8
  /**
9
- * Инициирует экземпляр класса {@link UnitsHelper}.
9
+ * Инициирует экземпляр класса {@link ScUnitsHelper}.
10
10
  *
11
11
  * @param linearValues Единицы измерения линейной величины.
12
12
  */
@@ -14,15 +14,15 @@ export declare class UnitsHelper {
14
14
  /**
15
15
  * Возвращает признак возможности продажи товара на метраж.
16
16
  *
17
- * @param linearValues Товар для которого нужно проверить возможность продажи на метраж.
17
+ * @param product Товар для которого нужно проверить возможность продажи на метраж.
18
18
  */
19
19
  productIsMeasurable(product: ScProduct): boolean;
20
20
  /**
21
21
  * Возвращает кратность количества для товара.
22
22
  *
23
- * @param linearValues Товар для которого нужно вернуть кратность количества.
23
+ * @param product Товар для которого нужно вернуть кратность количества.
24
24
  */
25
25
  productMultiplicity(product: ScProduct): number;
26
- static ɵfac: i0.ɵɵFactoryDeclaration<UnitsHelper, never>;
27
- static ɵprov: i0.ɵɵInjectableDeclaration<UnitsHelper>;
26
+ static ɵfac: i0.ɵɵFactoryDeclaration<ScUnitsHelper, never>;
27
+ static ɵprov: i0.ɵɵInjectableDeclaration<ScUnitsHelper>;
28
28
  }
@@ -1,13 +1,13 @@
1
1
  import { EventEmitter } from '@angular/core';
2
2
  import { ScCartItem, ScIUrls, ScProduct } from '@snabcentr/client-core';
3
3
  import { TuiPreviewDialogService } from '@taiga-ui/addon-preview';
4
- import { UnitsHelper } from '../../helpers/sc-units-helper';
4
+ import { ScUnitsHelper } from '../../helpers/sc-units-helper';
5
5
  import * as i0 from "@angular/core";
6
6
  /**
7
7
  * Компонент карточки элемента заказа.
8
8
  */
9
9
  export declare class ScOrderItemMobileComponent {
10
- readonly unitsHelper: UnitsHelper;
10
+ readonly unitsHelper: ScUnitsHelper;
11
11
  private readonly previewDialogService;
12
12
  private readonly urls;
13
13
  private readonly pathImageNotFound;
@@ -35,7 +35,7 @@ export declare class ScOrderItemMobileComponent {
35
35
  * @param urls Список ссылок на разделы backend'a.
36
36
  * @param pathImageNotFound Путь до изображения 'Товар не найден'.
37
37
  */
38
- constructor(unitsHelper: UnitsHelper, previewDialogService: TuiPreviewDialogService, urls: ScIUrls, pathImageNotFound: string);
38
+ constructor(unitsHelper: ScUnitsHelper, previewDialogService: TuiPreviewDialogService, urls: ScIUrls, pathImageNotFound: string);
39
39
  /**
40
40
  * Продукт элемента заказа.
41
41
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@snabcentr/client-ui",
3
- "version": "0.27.0",
3
+ "version": "0.28.3",
4
4
  "author": "Snabcentr Ltd.",
5
5
  "repository": "https://gitlab.snabcentr.met/web/angular/snabcentr-client-ui-lib",
6
6
  "license": "Commercial",
@@ -648,10 +648,6 @@ video {
648
648
  bottom: 1rem;
649
649
  }
650
650
 
651
- .left-0 {
652
- left: 0px;
653
- }
654
-
655
651
  .left-1 {
656
652
  left: 0.25rem;
657
653
  }
@@ -680,12 +676,16 @@ video {
680
676
  top: 0.25rem;
681
677
  }
682
678
 
679
+ .top-2 {
680
+ top: 0.5rem;
681
+ }
682
+
683
683
  .isolate {
684
684
  isolation: isolate;
685
685
  }
686
686
 
687
- .m-0 {
688
- margin: 0px;
687
+ .m-1 {
688
+ margin: 0.25rem;
689
689
  }
690
690
 
691
691
  .my-2 {
@@ -726,10 +726,6 @@ video {
726
726
  margin-right: auto;
727
727
  }
728
728
 
729
- .mt-1 {
730
- margin-top: 0.25rem;
731
- }
732
-
733
729
  .mt-2 {
734
730
  margin-top: 0.5rem;
735
731
  }
@@ -777,6 +773,11 @@ video {
777
773
  display: none;
778
774
  }
779
775
 
776
+ .\!size-6 {
777
+ width: 1.5rem !important;
778
+ height: 1.5rem !important;
779
+ }
780
+
780
781
  .size-20 {
781
782
  width: 5rem;
782
783
  height: 5rem;
@@ -804,10 +805,6 @@ video {
804
805
  height: 1rem !important;
805
806
  }
806
807
 
807
- .\!h-5 {
808
- height: 1.25rem !important;
809
- }
810
-
811
808
  .\!h-8 {
812
809
  height: 2rem !important;
813
810
  }
@@ -848,10 +845,6 @@ video {
848
845
  height: 14rem;
849
846
  }
850
847
 
851
- .h-\[19rem\] {
852
- height: 19rem;
853
- }
854
-
855
848
  .h-full {
856
849
  height: 100%;
857
850
  }
@@ -864,10 +857,6 @@ video {
864
857
  max-height: 100%;
865
858
  }
866
859
 
867
- .\!w-5 {
868
- width: 1.25rem !important;
869
- }
870
-
871
860
  .\!w-8 {
872
861
  width: 2rem !important;
873
862
  }
@@ -1010,10 +999,6 @@ video {
1010
999
  justify-content: space-between;
1011
1000
  }
1012
1001
 
1013
- .justify-stretch {
1014
- justify-content: stretch;
1015
- }
1016
-
1017
1002
  .gap-1 {
1018
1003
  gap: 0.25rem;
1019
1004
  }
@@ -1103,8 +1088,8 @@ video {
1103
1088
  border-radius: 0.25rem;
1104
1089
  }
1105
1090
 
1106
- .rounded-md {
1107
- border-radius: 0.375rem;
1091
+ .rounded-lg {
1092
+ border-radius: 0.5rem;
1108
1093
  }
1109
1094
 
1110
1095
  .rounded-tui-radius-m {
@@ -1182,15 +1167,15 @@ video {
1182
1167
  background-repeat: no-repeat;
1183
1168
  }
1184
1169
 
1170
+ .\!fill-white {
1171
+ fill: #fff !important;
1172
+ }
1173
+
1185
1174
  .object-cover {
1186
1175
  -o-object-fit: cover;
1187
1176
  object-fit: cover;
1188
1177
  }
1189
1178
 
1190
- .p-0 {
1191
- padding: 0px;
1192
- }
1193
-
1194
1179
  .p-1 {
1195
1180
  padding: 0.25rem;
1196
1181
  }
@@ -1382,11 +1367,6 @@ video {
1382
1367
  color: rgb(0 0 0 / var(--tw-text-opacity));
1383
1368
  }
1384
1369
 
1385
- .text-red-700 {
1386
- --tw-text-opacity: 1;
1387
- color: rgb(185 28 28 / var(--tw-text-opacity));
1388
- }
1389
-
1390
1370
  .text-tui-base-04 {
1391
1371
  color: var(--tui-base-04);
1392
1372
  }
@@ -1407,6 +1387,10 @@ video {
1407
1387
  color: var(--tui-link);
1408
1388
  }
1409
1389
 
1390
+ .text-tui-negative {
1391
+ color: var(--tui-negative);
1392
+ }
1393
+
1410
1394
  .text-tui-primary {
1411
1395
  color: var(--tui-primary);
1412
1396
  }
@@ -1427,6 +1411,11 @@ video {
1427
1411
  color: var(--tui-text-03);
1428
1412
  }
1429
1413
 
1414
+ .text-white {
1415
+ --tw-text-opacity: 1;
1416
+ color: rgb(255 255 255 / var(--tw-text-opacity));
1417
+ }
1418
+
1430
1419
  .underline {
1431
1420
  text-decoration-line: underline;
1432
1421
  }
@@ -1,24 +0,0 @@
1
- import { TuiCarouselComponent } from '@taiga-ui/kit';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * Директива для скрытия элементов карусели тайги.
5
- */
6
- export declare class ScCarouselItemHiddenDirective {
7
- private readonly carouselComponent;
8
- /**
9
- * Индекс элемента в карусели.
10
- */
11
- index: number;
12
- /**
13
- * Инициализирует экземпляр класса {@link CarouselItemHiddenDirective}.
14
- *
15
- * @param carouselComponent Компонент карусели, взятый из DI.
16
- */
17
- constructor(carouselComponent: TuiCarouselComponent);
18
- /**
19
- * Свойство, от которого зависит наличие класса `!hidden` у `:host` компонента.
20
- */
21
- private get isHidden();
22
- static ɵfac: i0.ɵɵFactoryDeclaration<ScCarouselItemHiddenDirective, never>;
23
- static ɵdir: i0.ɵɵDirectiveDeclaration<ScCarouselItemHiddenDirective, "[tuiItem], [scCarouselItemHidden]", never, { "index": "index"; }, {}, never, never, false>;
24
- }
@@ -1,11 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- import * as i1 from "./sc-carousel-item-hidden.directive";
3
- import * as i2 from "@taiga-ui/kit";
4
- /**
5
- * Модуль директивы для скрытия элементов карусели тайги.
6
- */
7
- export declare class ScCarouselItemHiddenModule {
8
- static ɵfac: i0.ɵɵFactoryDeclaration<ScCarouselItemHiddenModule, never>;
9
- static ɵmod: i0.ɵɵNgModuleDeclaration<ScCarouselItemHiddenModule, [typeof i1.ScCarouselItemHiddenDirective], [typeof i2.TuiCarouselModule], [typeof i1.ScCarouselItemHiddenDirective]>;
10
- static ɵinj: i0.ɵɵInjectorDeclaration<ScCarouselItemHiddenModule>;
11
- }
@@ -1,40 +0,0 @@
1
- import { Directive, HostBinding, Inject, Input } from '@angular/core';
2
- import { TuiCarouselComponent } from '@taiga-ui/kit';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@taiga-ui/kit";
5
- /**
6
- * Директива для скрытия элементов карусели тайги.
7
- */
8
- export class ScCarouselItemHiddenDirective {
9
- /**
10
- * Инициализирует экземпляр класса {@link CarouselItemHiddenDirective}.
11
- *
12
- * @param carouselComponent Компонент карусели, взятый из DI.
13
- */
14
- constructor(carouselComponent) {
15
- this.carouselComponent = carouselComponent;
16
- }
17
- /**
18
- * Свойство, от которого зависит наличие класса `!hidden` у `:host` компонента.
19
- */
20
- get isHidden() {
21
- return this.index !== this.carouselComponent.index;
22
- }
23
- }
24
- ScCarouselItemHiddenDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScCarouselItemHiddenDirective, deps: [{ token: TuiCarouselComponent }], target: i0.ɵɵFactoryTarget.Directive });
25
- ScCarouselItemHiddenDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: ScCarouselItemHiddenDirective, selector: "[tuiItem], [scCarouselItemHidden]", inputs: { index: "index" }, host: { properties: { "class.!hidden": "this.isHidden" } }, ngImport: i0 });
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScCarouselItemHiddenDirective, decorators: [{
27
- type: Directive,
28
- args: [{
29
- selector: '[tuiItem], [scCarouselItemHidden]',
30
- }]
31
- }], ctorParameters: function () { return [{ type: i1.TuiCarouselComponent, decorators: [{
32
- type: Inject,
33
- args: [TuiCarouselComponent]
34
- }] }]; }, propDecorators: { index: [{
35
- type: Input
36
- }], isHidden: [{
37
- type: HostBinding,
38
- args: ['class.!hidden']
39
- }] } });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtY2Fyb3VzZWwtaXRlbS1oaWRkZW4uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2RpcmVjdGl2ZXMvY2Fyb3VzZWwtaXRlbS1oaWRkZW4vc2MtY2Fyb3VzZWwtaXRlbS1oaWRkZW4uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFFckQ7O0dBRUc7QUFJSCxNQUFNLE9BQU8sNkJBQTZCO0lBT3RDOzs7O09BSUc7SUFDSCxZQUVxQixpQkFBdUM7UUFBdkMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFzQjtJQUN6RCxDQUFDO0lBRUo7O09BRUc7SUFDSCxJQUNZLFFBQVE7UUFDaEIsT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUM7SUFDdkQsQ0FBQzs7MEhBdkJRLDZCQUE2QixrQkFhMUIsb0JBQW9COzhHQWJ2Qiw2QkFBNkI7MkZBQTdCLDZCQUE2QjtrQkFIekMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsbUNBQW1DO2lCQUNoRDs7MEJBY1EsTUFBTTsyQkFBQyxvQkFBb0I7NENBUnpCLEtBQUs7c0JBRFgsS0FBSztnQkFpQk0sUUFBUTtzQkFEbkIsV0FBVzt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0QmluZGluZywgSW5qZWN0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHVpQ2Fyb3VzZWxDb21wb25lbnQgfSBmcm9tICdAdGFpZ2EtdWkva2l0JztcblxuLyoqXG4gKiDQlNC40YDQtdC60YLQuNCy0LAg0LTQu9GPINGB0LrRgNGL0YLQuNGPINGN0LvQtdC80LXQvdGC0L7QsiDQutCw0YDRg9GB0LXQu9C4INGC0LDQudCz0LguXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3R1aUl0ZW1dLCBbc2NDYXJvdXNlbEl0ZW1IaWRkZW5dJyxcbn0pXG5leHBvcnQgY2xhc3MgU2NDYXJvdXNlbEl0ZW1IaWRkZW5EaXJlY3RpdmUge1xuICAgIC8qKlxuICAgICAqINCY0L3QtNC10LrRgSDRjdC70LXQvNC10L3RgtCwINCyINC60LDRgNGD0YHQtdC70LguXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaW5kZXg6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqINCY0L3QuNGG0LjQsNC70LjQt9C40YDRg9C10YIg0Y3QutC30LXQvNC/0LvRj9GAINC60LvQsNGB0YHQsCB7QGxpbmsgQ2Fyb3VzZWxJdGVtSGlkZGVuRGlyZWN0aXZlfS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjYXJvdXNlbENvbXBvbmVudCDQmtC+0LzQv9C+0L3QtdC90YIg0LrQsNGA0YPRgdC10LvQuCwg0LLQt9GP0YLRi9C5INC40LcgREkuXG4gICAgICovXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFR1aUNhcm91c2VsQ29tcG9uZW50KVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGNhcm91c2VsQ29tcG9uZW50OiBUdWlDYXJvdXNlbENvbXBvbmVudFxuICAgICkge31cblxuICAgIC8qKlxuICAgICAqINCh0LLQvtC50YHRgtCy0L4sINC+0YIg0LrQvtGC0L7RgNC+0LPQviDQt9Cw0LLQuNGB0LjRgiDQvdCw0LvQuNGH0LjQtSDQutC70LDRgdGB0LAgYCFoaWRkZW5gINGDIGA6aG9zdGAg0LrQvtC80L/QvtC90LXQvdGC0LAuXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy4haGlkZGVuJylcbiAgICBwcml2YXRlIGdldCBpc0hpZGRlbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5kZXggIT09IHRoaXMuY2Fyb3VzZWxDb21wb25lbnQuaW5kZXg7XG4gICAgfVxufVxuIl19
@@ -1,21 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { TuiCarouselModule } from '@taiga-ui/kit';
3
- import { ScCarouselItemHiddenDirective } from './sc-carousel-item-hidden.directive';
4
- import * as i0 from "@angular/core";
5
- /**
6
- * Модуль директивы для скрытия элементов карусели тайги.
7
- */
8
- export class ScCarouselItemHiddenModule {
9
- }
10
- ScCarouselItemHiddenModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScCarouselItemHiddenModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
- ScCarouselItemHiddenModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: ScCarouselItemHiddenModule, declarations: [ScCarouselItemHiddenDirective], imports: [TuiCarouselModule], exports: [ScCarouselItemHiddenDirective] });
12
- ScCarouselItemHiddenModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScCarouselItemHiddenModule, imports: [TuiCarouselModule] });
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScCarouselItemHiddenModule, decorators: [{
14
- type: NgModule,
15
- args: [{
16
- imports: [TuiCarouselModule],
17
- declarations: [ScCarouselItemHiddenDirective],
18
- exports: [ScCarouselItemHiddenDirective],
19
- }]
20
- }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtY2Fyb3VzZWwtaXRlbS1oaWRkZW4ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2RpcmVjdGl2ZXMvY2Fyb3VzZWwtaXRlbS1oaWRkZW4vc2MtY2Fyb3VzZWwtaXRlbS1oaWRkZW4ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWxELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOztBQUVwRjs7R0FFRztBQU1ILE1BQU0sT0FBTywwQkFBMEI7O3VIQUExQiwwQkFBMEI7d0hBQTFCLDBCQUEwQixpQkFIcEIsNkJBQTZCLGFBRGxDLGlCQUFpQixhQUVqQiw2QkFBNkI7d0hBRTlCLDBCQUEwQixZQUp6QixpQkFBaUI7MkZBSWxCLDBCQUEwQjtrQkFMdEMsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztvQkFDNUIsWUFBWSxFQUFFLENBQUMsNkJBQTZCLENBQUM7b0JBQzdDLE9BQU8sRUFBRSxDQUFDLDZCQUE2QixDQUFDO2lCQUMzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUdWlDYXJvdXNlbE1vZHVsZSB9IGZyb20gJ0B0YWlnYS11aS9raXQnO1xuXG5pbXBvcnQgeyBTY0Nhcm91c2VsSXRlbUhpZGRlbkRpcmVjdGl2ZSB9IGZyb20gJy4vc2MtY2Fyb3VzZWwtaXRlbS1oaWRkZW4uZGlyZWN0aXZlJztcblxuLyoqXG4gKiDQnNC+0LTRg9C70Ywg0LTQuNGA0LXQutGC0LjQstGLINC00LvRjyDRgdC60YDRi9GC0LjRjyDRjdC70LXQvNC10L3RgtC+0LIg0LrQsNGA0YPRgdC10LvQuCDRgtCw0LnQs9C4LlxuICovXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtUdWlDYXJvdXNlbE1vZHVsZV0sXG4gICAgZGVjbGFyYXRpb25zOiBbU2NDYXJvdXNlbEl0ZW1IaWRkZW5EaXJlY3RpdmVdLFxuICAgIGV4cG9ydHM6IFtTY0Nhcm91c2VsSXRlbUhpZGRlbkRpcmVjdGl2ZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNjQ2Fyb3VzZWxJdGVtSGlkZGVuTW9kdWxlIHt9XG4iXX0=