@lenne.tech/ng-base 14.0.3 → 14.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/base-components/base-components.module.d.ts +20 -17
  2. package/base-components/components/model-form/model-form.component.d.ts +9 -4
  3. package/base-components/components/model-form-sub/model-form-sub.component.d.ts +7 -3
  4. package/base-components/components/model-table/model-table.component.d.ts +14 -5
  5. package/base-components/components/refence-input/refence-input.component.d.ts +10 -4
  6. package/{shared → base-components}/directives/back-button.directive.d.ts +1 -1
  7. package/{src → base-components}/directives/context-menu.directive.d.ts +0 -0
  8. package/{shared → base-components}/directives/sort.directive.d.ts +2 -2
  9. package/base-components/public-api.d.ts +3 -0
  10. package/esm2020/base-components/base-components.module.mjs +16 -1
  11. package/esm2020/base-components/components/model-form/model-form.component.mjs +87 -58
  12. package/esm2020/base-components/components/model-form-sub/model-form-sub.component.mjs +9 -3
  13. package/esm2020/base-components/components/model-table/model-table.component.mjs +30 -13
  14. package/esm2020/base-components/components/refence-input/refence-input.component.mjs +28 -22
  15. package/esm2020/base-components/components/tags/tags.component.mjs +2 -2
  16. package/esm2020/base-components/components/upload-image/upload-image.component.mjs +3 -5
  17. package/esm2020/{shared → base-components}/directives/back-button.directive.mjs +2 -2
  18. package/esm2020/base-components/directives/context-menu.directive.mjs +108 -0
  19. package/esm2020/base-components/directives/sort.directive.mjs +54 -0
  20. package/esm2020/base-components/public-api.mjs +5 -1
  21. package/esm2020/public-api.mjs +1 -2
  22. package/esm2020/shared/classes/graphql-meta.class.mjs +52 -28
  23. package/esm2020/shared/classes/graphql-type.class.mjs +2 -1
  24. package/esm2020/shared/classes/sort.class.mjs +1 -8
  25. package/esm2020/shared/public-api.mjs +2 -4
  26. package/esm2020/shared/services/cms.service.mjs +75 -0
  27. package/esm2020/shared/services/graphql.service.mjs +30 -36
  28. package/esm2020/src/base.module.mjs +1 -5
  29. package/fesm2015/lenne.tech-ng-base-base-components.mjs +361 -114
  30. package/fesm2015/lenne.tech-ng-base-base-components.mjs.map +1 -1
  31. package/fesm2015/lenne.tech-ng-base-shared.mjs +203 -190
  32. package/fesm2015/lenne.tech-ng-base-shared.mjs.map +1 -1
  33. package/fesm2015/lenne.tech-ng-base.mjs +2 -113
  34. package/fesm2015/lenne.tech-ng-base.mjs.map +1 -1
  35. package/fesm2020/lenne.tech-ng-base-base-components.mjs +340 -99
  36. package/fesm2020/lenne.tech-ng-base-base-components.mjs.map +1 -1
  37. package/fesm2020/lenne.tech-ng-base-shared.mjs +201 -188
  38. package/fesm2020/lenne.tech-ng-base-shared.mjs.map +1 -1
  39. package/fesm2020/lenne.tech-ng-base.mjs +2 -112
  40. package/fesm2020/lenne.tech-ng-base.mjs.map +1 -1
  41. package/package.json +1 -1
  42. package/public-api.d.ts +0 -1
  43. package/shared/classes/graphql-meta.class.d.ts +7 -4
  44. package/shared/classes/graphql-type.class.d.ts +1 -0
  45. package/shared/classes/sort.class.d.ts +0 -7
  46. package/shared/public-api.d.ts +1 -2
  47. package/shared/services/cms.service.d.ts +23 -0
  48. package/shared/services/graphql.service.d.ts +4 -4
  49. package/src/base.module.d.ts +9 -10
  50. package/esm2020/shared/directives/sort.directive.mjs +0 -54
  51. package/esm2020/src/directives/context-menu.directive.mjs +0 -109
@@ -1,22 +1,25 @@
1
1
  import * as i0 from "@angular/core";
2
- import * as i1 from "./components/input/input.component";
3
- import * as i2 from "./components/select/select.component";
4
- import * as i3 from "./components/checkbox/checkbox.component";
5
- import * as i4 from "./components/textarea/textarea.component";
6
- import * as i5 from "./components/toast/toast.component";
7
- import * as i6 from "./components/tags/tags.component";
8
- import * as i7 from "./components/loading-bar/loading-bar.component";
9
- import * as i8 from "./components/skeleton-loader/skeleton-loader.component";
10
- import * as i9 from "./components/breadcrumb/breadcrumb.component";
11
- import * as i10 from "./components/model-form/model-form.component";
12
- import * as i11 from "./components/model-table/model-table.component";
13
- import * as i12 from "./components/model-form-sub/model-form-sub.component";
14
- import * as i13 from "./components/upload-image/upload-image.component";
15
- import * as i14 from "./components/refence-input/refence-input.component";
16
- import * as i15 from "@angular/forms";
17
- import * as i16 from "@angular/common";
2
+ import * as i1 from "./directives/sort.directive";
3
+ import * as i2 from "./directives/back-button.directive";
4
+ import * as i3 from "./directives/context-menu.directive";
5
+ import * as i4 from "./components/input/input.component";
6
+ import * as i5 from "./components/select/select.component";
7
+ import * as i6 from "./components/checkbox/checkbox.component";
8
+ import * as i7 from "./components/textarea/textarea.component";
9
+ import * as i8 from "./components/toast/toast.component";
10
+ import * as i9 from "./components/tags/tags.component";
11
+ import * as i10 from "./components/loading-bar/loading-bar.component";
12
+ import * as i11 from "./components/skeleton-loader/skeleton-loader.component";
13
+ import * as i12 from "./components/breadcrumb/breadcrumb.component";
14
+ import * as i13 from "./components/model-form/model-form.component";
15
+ import * as i14 from "./components/model-table/model-table.component";
16
+ import * as i15 from "./components/model-form-sub/model-form-sub.component";
17
+ import * as i16 from "./components/upload-image/upload-image.component";
18
+ import * as i17 from "./components/refence-input/refence-input.component";
19
+ import * as i18 from "@angular/forms";
20
+ import * as i19 from "@angular/common";
18
21
  export declare class BaseComponentsModule {
19
22
  static ɵfac: i0.ɵɵFactoryDeclaration<BaseComponentsModule, never>;
20
- static ɵmod: i0.ɵɵNgModuleDeclaration<BaseComponentsModule, [typeof i1.InputComponent, typeof i2.SelectComponent, typeof i3.CheckboxComponent, typeof i4.TextareaComponent, typeof i5.ToastComponent, typeof i6.TagsComponent, typeof i7.LoadingBarComponent, typeof i8.SkeletonLoaderComponent, typeof i9.BreadcrumbComponent, typeof i10.ModelFormComponent, typeof i11.ModelTableComponent, typeof i12.ModelFormSubComponent, typeof i13.UploadImageComponent, typeof i14.RefenceInputComponent], [typeof i15.FormsModule, typeof i15.ReactiveFormsModule, typeof i16.CommonModule], [typeof i1.InputComponent, typeof i2.SelectComponent, typeof i3.CheckboxComponent, typeof i4.TextareaComponent, typeof i5.ToastComponent, typeof i6.TagsComponent, typeof i7.LoadingBarComponent, typeof i8.SkeletonLoaderComponent, typeof i9.BreadcrumbComponent, typeof i10.ModelFormComponent, typeof i11.ModelTableComponent, typeof i12.ModelFormSubComponent, typeof i13.UploadImageComponent, typeof i14.RefenceInputComponent]>;
23
+ static ɵmod: i0.ɵɵNgModuleDeclaration<BaseComponentsModule, [typeof i1.SortDirective, typeof i2.BackButtonDirective, typeof i3.ContextMenuDirective, typeof i4.InputComponent, typeof i5.SelectComponent, typeof i6.CheckboxComponent, typeof i7.TextareaComponent, typeof i8.ToastComponent, typeof i9.TagsComponent, typeof i10.LoadingBarComponent, typeof i11.SkeletonLoaderComponent, typeof i12.BreadcrumbComponent, typeof i13.ModelFormComponent, typeof i14.ModelTableComponent, typeof i15.ModelFormSubComponent, typeof i16.UploadImageComponent, typeof i17.RefenceInputComponent], [typeof i18.FormsModule, typeof i18.ReactiveFormsModule, typeof i19.CommonModule], [typeof i1.SortDirective, typeof i2.BackButtonDirective, typeof i3.ContextMenuDirective, typeof i4.InputComponent, typeof i5.SelectComponent, typeof i6.CheckboxComponent, typeof i7.TextareaComponent, typeof i8.ToastComponent, typeof i9.TagsComponent, typeof i10.LoadingBarComponent, typeof i11.SkeletonLoaderComponent, typeof i12.BreadcrumbComponent, typeof i13.ModelFormComponent, typeof i14.ModelTableComponent, typeof i15.ModelFormSubComponent, typeof i16.UploadImageComponent, typeof i17.RefenceInputComponent]>;
21
24
  static ɵinj: i0.ɵɵInjectorDeclaration<BaseComponentsModule>;
22
25
  }
@@ -1,7 +1,6 @@
1
1
  import { EventEmitter, OnChanges, OnInit, SimpleChanges } from '@angular/core';
2
- import { AuthService, BasicUser, FormsService, GraphQLMeta, GraphQLMetaService, GraphQLService } from '@lenne.tech/ng-base/shared';
2
+ import { AuthService, BasicUser, FormsService, GraphQLMeta, GraphQLMetaService, GraphQLService, GraphQLType, CmsService, IGraphQLTypeCollection } from '@lenne.tech/ng-base/shared';
3
3
  import { AbstractControl, UntypedFormControl, UntypedFormGroup } from '@angular/forms';
4
- import { IGraphQLTypeCollection } from '@lenne.tech/ng-base/shared';
5
4
  import { ActivatedRoute, Router } from '@angular/router';
6
5
  import * as i0 from "@angular/core";
7
6
  export declare class ModelFormComponent implements OnInit, OnChanges {
@@ -11,6 +10,7 @@ export declare class ModelFormComponent implements OnInit, OnChanges {
11
10
  private authService;
12
11
  private router;
13
12
  private route;
13
+ private cmsService;
14
14
  modelName: string;
15
15
  label: string;
16
16
  id: string | null;
@@ -22,11 +22,11 @@ export declare class ModelFormComponent implements OnInit, OnChanges {
22
22
  meta: GraphQLMeta;
23
23
  form: UntypedFormGroup;
24
24
  loading: boolean;
25
- fields: any;
25
+ fields: Record<string, GraphQLType>;
26
26
  operation: string;
27
27
  keys: string[];
28
28
  user: BasicUser;
29
- constructor(graphQLMetaService: GraphQLMetaService, graphQLService: GraphQLService, formsService: FormsService, authService: AuthService, router: Router, route: ActivatedRoute);
29
+ constructor(graphQLMetaService: GraphQLMetaService, graphQLService: GraphQLService, formsService: FormsService, authService: AuthService, router: Router, route: ActivatedRoute, cmsService: CmsService);
30
30
  ngOnInit(): void;
31
31
  ngOnChanges(changes: SimpleChanges): void;
32
32
  /**
@@ -80,6 +80,11 @@ export declare class ModelFormComponent implements OnInit, OnChanges {
80
80
  * @returns A FormControl
81
81
  */
82
82
  transformToControl(control: AbstractControl | null | undefined): UntypedFormControl;
83
+ /**
84
+ * It takes the key of the form control that has changed, gets the value of that form control, creates an object with the
85
+ * key and value, and then sends that object to the GraphQL server to update the database
86
+ */
87
+ imageChanged(key: string): void;
83
88
  /**
84
89
  * It takes the form, validates it, and then sends it to the GraphQL server
85
90
  *
@@ -1,17 +1,21 @@
1
1
  import { EventEmitter, OnInit } from '@angular/core';
2
2
  import { AbstractControl, UntypedFormControl } from '@angular/forms';
3
- import { AuthService, BasicUser } from '@lenne.tech/ng-base/shared';
3
+ import { AuthService, BasicUser, GraphQLType } from '@lenne.tech/ng-base/shared';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class ModelFormSubComponent implements OnInit {
6
6
  private authService;
7
- fields: any;
7
+ fields: Record<string, GraphQLType>;
8
8
  form: any;
9
9
  config: any;
10
- imageChanged: EventEmitter<any>;
10
+ imageChanged: EventEmitter<string>;
11
11
  keys: string[];
12
12
  user: BasicUser;
13
13
  constructor(authService: AuthService);
14
14
  ngOnInit(): void;
15
+ /**
16
+ * If the field has fields, return true, otherwise return false.
17
+ */
18
+ checkFieldHasFields(field: GraphQLType): boolean;
15
19
  /**
16
20
  * It takes a string, capitalizes the first letter, and returns the new string
17
21
  *
@@ -1,9 +1,10 @@
1
1
  import { EventEmitter, OnChanges, OnInit, SimpleChanges } from '@angular/core';
2
- import { GraphQLMeta, GraphQLMetaService, GraphQLService } from '@lenne.tech/ng-base/shared';
2
+ import { GraphQLMeta, GraphQLMetaService, GraphQLService, CmsService } from '@lenne.tech/ng-base/shared';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class ModelTableComponent implements OnInit, OnChanges {
5
5
  private graphQLMetaService;
6
6
  private graphQLService;
7
+ private cmsService;
7
8
  modelName: string;
8
9
  objectId: string;
9
10
  createMode: boolean;
@@ -14,6 +15,7 @@ export declare class ModelTableComponent implements OnInit, OnChanges {
14
15
  duplicate: boolean;
15
16
  config: any;
16
17
  fieldConfig: any;
18
+ uniqueField: string;
17
19
  idSelected: EventEmitter<string>;
18
20
  createModeChanged: EventEmitter<boolean>;
19
21
  tableFields: {
@@ -46,7 +48,7 @@ export declare class ModelTableComponent implements OnInit, OnChanges {
46
48
  availableFields: string[];
47
49
  selectedId: string;
48
50
  queryName: any;
49
- constructor(graphQLMetaService: GraphQLMetaService, graphQLService: GraphQLService);
51
+ constructor(graphQLMetaService: GraphQLMetaService, graphQLService: GraphQLService, cmsService: CmsService);
50
52
  ngOnInit(): void;
51
53
  ngOnChanges(changes: SimpleChanges): void;
52
54
  /**
@@ -70,11 +72,18 @@ export declare class ModelTableComponent implements OnInit, OnChanges {
70
72
  * selectedId property
71
73
  */
72
74
  selectId(object: any): void;
75
+ /**
76
+ * It calls the duplicateObject function in the cmsService, passing in the id of the object to be duplicated and the
77
+ * modelName of the object
78
+ */
79
+ duplicateObject(id: string): Promise<void>;
80
+ /**
81
+ * It calls the deleteObject function in the cmsService, passing in the id of the object to delete and the name of the
82
+ * model
83
+ */
84
+ deleteObject(id: string): Promise<void>;
73
85
  /**
74
86
  * It takes a string, capitalizes the first letter, and returns the modified string
75
- *
76
- * @param value - The string to capitalize.
77
- * @returns The first letter of the string is being capitalized and the rest of the string is being returned.
78
87
  */
79
88
  capitalizeFirstLetter(value: string): string;
80
89
  static ɵfac: i0.ɵɵFactoryDeclaration<ModelTableComponent, never>;
@@ -1,7 +1,8 @@
1
- import { OnChanges, OnInit, SimpleChanges } from '@angular/core';
1
+ import { OnDestroy, OnInit } from '@angular/core';
2
2
  import { GraphQLService } from '@lenne.tech/ng-base/shared';
3
+ import { Subscription } from 'rxjs';
3
4
  import * as i0 from "@angular/core";
4
- export declare class RefenceInputComponent implements OnInit, OnChanges {
5
+ export declare class RefenceInputComponent implements OnInit, OnDestroy {
5
6
  private graphQLService;
6
7
  id: string;
7
8
  name: string;
@@ -20,9 +21,14 @@ export declare class RefenceInputComponent implements OnInit, OnChanges {
20
21
  currentValue: any;
21
22
  optionsForTagInput: any[];
22
23
  selectedElement: HTMLElement;
24
+ subscription: Subscription;
23
25
  constructor(graphQLService: GraphQLService);
24
26
  ngOnInit(): Promise<void>;
25
- ngOnChanges(changes: SimpleChanges): Promise<void>;
27
+ ngOnDestroy(): void;
28
+ /**
29
+ * It gets the references from the GraphQL server and sets the value of the select
30
+ */
31
+ getReferences(): void;
26
32
  /**
27
33
  * If the current value is not valid, set the control to an invalid state
28
34
  */
@@ -36,7 +42,7 @@ export declare class RefenceInputComponent implements OnInit, OnChanges {
36
42
  * value as the control's value and set the currentValue to the textField of that object. If the control has a value but
37
43
  * the objects array is empty, then set the currentValue to the control's value
38
44
  */
39
- setValue(): Promise<unknown>;
45
+ setValue(): void;
40
46
  /**
41
47
  * It sets the value of the control to the id of the selected option
42
48
  */
@@ -1,4 +1,4 @@
1
- import { NavigationService } from '../services/navigation.service';
1
+ import { NavigationService } from '@lenne.tech/ng-base/shared';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class BackButtonDirective {
4
4
  private navigation;
@@ -3,12 +3,12 @@ import * as i0 from "@angular/core";
3
3
  export declare class SortDirective {
4
4
  private renderer;
5
5
  private targetElem;
6
- lcSort: Array<any>;
6
+ baseSort: Array<any>;
7
7
  constructor(renderer: Renderer2, targetElem: ElementRef, document: Document);
8
8
  /**
9
9
  * Sorts columns on click
10
10
  */
11
11
  sortColumn(): void;
12
12
  static ɵfac: i0.ɵɵFactoryDeclaration<SortDirective, never>;
13
- static ɵdir: i0.ɵɵDirectiveDeclaration<SortDirective, "[baseSort]", never, { "lcSort": "lcSort"; }, {}, never, never, false>;
13
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SortDirective, "[baseSort]", never, { "baseSort": "baseSort"; }, {}, never, never, false>;
14
14
  }
@@ -2,6 +2,9 @@
2
2
  * Exports for public API
3
3
  */
4
4
  export * from './base-components.module';
5
+ export * from './directives/sort.directive';
6
+ export * from './directives/back-button.directive';
7
+ export * from './directives/context-menu.directive';
5
8
  export * from './components/input/input.component';
6
9
  export * from './components/select/select.component';
7
10
  export * from './components/checkbox/checkbox.component';
@@ -15,11 +15,18 @@ import { ModelFormComponent } from './components/model-form/model-form.component
15
15
  import { ModelFormSubComponent } from './components/model-form-sub/model-form-sub.component';
16
16
  import { UploadImageComponent } from './components/upload-image/upload-image.component';
17
17
  import { RefenceInputComponent } from './components/refence-input/refence-input.component';
18
+ import { BackButtonDirective } from './directives/back-button.directive';
19
+ import { SortDirective } from './directives/sort.directive';
20
+ import { ContextMenuDirective } from './directives/context-menu.directive';
18
21
  import * as i0 from "@angular/core";
19
22
  // Modules
20
23
  const imports = [FormsModule, ReactiveFormsModule, CommonModule];
21
24
  // Imported and exported elements
22
25
  const elements = [
26
+ // Directives
27
+ SortDirective,
28
+ BackButtonDirective,
29
+ ContextMenuDirective,
23
30
  // Components
24
31
  InputComponent,
25
32
  SelectComponent,
@@ -40,6 +47,10 @@ export class BaseComponentsModule {
40
47
  }
41
48
  BaseComponentsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: BaseComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
42
49
  BaseComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.0", ngImport: i0, type: BaseComponentsModule, declarations: [
50
+ // Directives
51
+ SortDirective,
52
+ BackButtonDirective,
53
+ ContextMenuDirective,
43
54
  // Components
44
55
  InputComponent,
45
56
  SelectComponent,
@@ -55,6 +66,10 @@ BaseComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", ve
55
66
  ModelFormSubComponent,
56
67
  UploadImageComponent,
57
68
  RefenceInputComponent], imports: [FormsModule, ReactiveFormsModule, CommonModule], exports: [
69
+ // Directives
70
+ SortDirective,
71
+ BackButtonDirective,
72
+ ContextMenuDirective,
58
73
  // Components
59
74
  InputComponent,
60
75
  SelectComponent,
@@ -79,4 +94,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImpor
79
94
  exports: elements,
80
95
  }]
81
96
  }] });
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb21wb25lbnRzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWJhc2UvYmFzZS1jb21wb25lbnRzL2Jhc2UtY29tcG9uZW50cy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNyRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNqRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNyRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNsRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUM3RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN4RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQzs7QUFFM0YsVUFBVTtBQUNWLE1BQU0sT0FBTyxHQUFHLENBQUMsV0FBVyxFQUFFLG1CQUFtQixFQUFFLFlBQVksQ0FBQyxDQUFDO0FBRWpFLGlDQUFpQztBQUNqQyxNQUFNLFFBQVEsR0FBRztJQUNmLGFBQWE7SUFDYixjQUFjO0lBQ2QsZUFBZTtJQUNmLGlCQUFpQjtJQUNqQixpQkFBaUI7SUFDakIsY0FBYztJQUNkLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLG1CQUFtQjtJQUNuQixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLHFCQUFxQjtJQUNyQixvQkFBb0I7SUFDcEIscUJBQXFCO0NBQ3RCLENBQUM7QUFPRixNQUFNLE9BQU8sb0JBQW9COztpSEFBcEIsb0JBQW9CO2tIQUFwQixvQkFBb0I7UUF0Qi9CLGFBQWE7UUFDYixjQUFjO1FBQ2QsZUFBZTtRQUNmLGlCQUFpQjtRQUNqQixpQkFBaUI7UUFDakIsY0FBYztRQUNkLGFBQWE7UUFDYixtQkFBbUI7UUFDbkIsdUJBQXVCO1FBQ3ZCLG1CQUFtQjtRQUNuQixrQkFBa0I7UUFDbEIsbUJBQW1CO1FBQ25CLHFCQUFxQjtRQUNyQixvQkFBb0I7UUFDcEIscUJBQXFCLGFBbEJOLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxZQUFZO1FBSTdELGFBQWE7UUFDYixjQUFjO1FBQ2QsZUFBZTtRQUNmLGlCQUFpQjtRQUNqQixpQkFBaUI7UUFDakIsY0FBYztRQUNkLGFBQWE7UUFDYixtQkFBbUI7UUFDbkIsdUJBQXVCO1FBQ3ZCLG1CQUFtQjtRQUNuQixrQkFBa0I7UUFDbEIsbUJBQW1CO1FBQ25CLHFCQUFxQjtRQUNyQixvQkFBb0I7UUFDcEIscUJBQXFCO2tIQVFWLG9CQUFvQixZQUgvQixPQUFPOzJGQUdJLG9CQUFvQjtrQkFMaEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsUUFBUTtvQkFDdEIsT0FBTztvQkFDUCxPQUFPLEVBQUUsUUFBUTtpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9pbnB1dC9pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IENoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZXh0YXJlYUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90ZXh0YXJlYS90ZXh0YXJlYS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVG9hc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdG9hc3QvdG9hc3QuY29tcG9uZW50JztcbmltcG9ydCB7IFRhZ3NDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGFncy90YWdzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMb2FkaW5nQmFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2xvYWRpbmctYmFyL2xvYWRpbmctYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa2VsZXRvbkxvYWRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9za2VsZXRvbi1sb2FkZXIvc2tlbGV0b24tbG9hZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCcmVhZGNydW1iQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTW9kZWxUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9tb2RlbC10YWJsZS9tb2RlbC10YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTW9kZWxGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL21vZGVsLWZvcm0vbW9kZWwtZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTW9kZWxGb3JtU3ViQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL21vZGVsLWZvcm0tc3ViL21vZGVsLWZvcm0tc3ViLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVcGxvYWRJbWFnZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy91cGxvYWQtaW1hZ2UvdXBsb2FkLWltYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZWZlbmNlSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcmVmZW5jZS1pbnB1dC9yZWZlbmNlLWlucHV0LmNvbXBvbmVudCc7XG5cbi8vIE1vZHVsZXNcbmNvbnN0IGltcG9ydHMgPSBbRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIENvbW1vbk1vZHVsZV07XG5cbi8vIEltcG9ydGVkIGFuZCBleHBvcnRlZCBlbGVtZW50c1xuY29uc3QgZWxlbWVudHMgPSBbXG4gIC8vIENvbXBvbmVudHNcbiAgSW5wdXRDb21wb25lbnQsXG4gIFNlbGVjdENvbXBvbmVudCxcbiAgQ2hlY2tib3hDb21wb25lbnQsXG4gIFRleHRhcmVhQ29tcG9uZW50LFxuICBUb2FzdENvbXBvbmVudCxcbiAgVGFnc0NvbXBvbmVudCxcbiAgTG9hZGluZ0JhckNvbXBvbmVudCxcbiAgU2tlbGV0b25Mb2FkZXJDb21wb25lbnQsXG4gIEJyZWFkY3J1bWJDb21wb25lbnQsXG4gIE1vZGVsRm9ybUNvbXBvbmVudCxcbiAgTW9kZWxUYWJsZUNvbXBvbmVudCxcbiAgTW9kZWxGb3JtU3ViQ29tcG9uZW50LFxuICBVcGxvYWRJbWFnZUNvbXBvbmVudCxcbiAgUmVmZW5jZUlucHV0Q29tcG9uZW50LFxuXTtcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBlbGVtZW50cyxcbiAgaW1wb3J0cyxcbiAgZXhwb3J0czogZWxlbWVudHMsXG59KVxuZXhwb3J0IGNsYXNzIEJhc2VDb21wb25lbnRzTW9kdWxlIHt9XG4iXX0=
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb21wb25lbnRzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWJhc2UvYmFzZS1jb21wb25lbnRzL2Jhc2UtY29tcG9uZW50cy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNyRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNqRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNyRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNsRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUM3RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN4RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUMzRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUNBQXFDLENBQUM7O0FBRTNFLFVBQVU7QUFDVixNQUFNLE9BQU8sR0FBRyxDQUFDLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxZQUFZLENBQUMsQ0FBQztBQUVqRSxpQ0FBaUM7QUFDakMsTUFBTSxRQUFRLEdBQUc7SUFDZixhQUFhO0lBQ2IsYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixvQkFBb0I7SUFFcEIsYUFBYTtJQUNiLGNBQWM7SUFDZCxlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLGlCQUFpQjtJQUNqQixjQUFjO0lBQ2QsYUFBYTtJQUNiLG1CQUFtQjtJQUNuQix1QkFBdUI7SUFDdkIsbUJBQW1CO0lBQ25CLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIscUJBQXFCO0lBQ3JCLG9CQUFvQjtJQUNwQixxQkFBcUI7Q0FDdEIsQ0FBQztBQU9GLE1BQU0sT0FBTyxvQkFBb0I7O2lIQUFwQixvQkFBb0I7a0hBQXBCLG9CQUFvQjtRQTNCL0IsYUFBYTtRQUNiLGFBQWE7UUFDYixtQkFBbUI7UUFDbkIsb0JBQW9CO1FBRXBCLGFBQWE7UUFDYixjQUFjO1FBQ2QsZUFBZTtRQUNmLGlCQUFpQjtRQUNqQixpQkFBaUI7UUFDakIsY0FBYztRQUNkLGFBQWE7UUFDYixtQkFBbUI7UUFDbkIsdUJBQXVCO1FBQ3ZCLG1CQUFtQjtRQUNuQixrQkFBa0I7UUFDbEIsbUJBQW1CO1FBQ25CLHFCQUFxQjtRQUNyQixvQkFBb0I7UUFDcEIscUJBQXFCLGFBdkJOLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxZQUFZO1FBSTdELGFBQWE7UUFDYixhQUFhO1FBQ2IsbUJBQW1CO1FBQ25CLG9CQUFvQjtRQUVwQixhQUFhO1FBQ2IsY0FBYztRQUNkLGVBQWU7UUFDZixpQkFBaUI7UUFDakIsaUJBQWlCO1FBQ2pCLGNBQWM7UUFDZCxhQUFhO1FBQ2IsbUJBQW1CO1FBQ25CLHVCQUF1QjtRQUN2QixtQkFBbUI7UUFDbkIsa0JBQWtCO1FBQ2xCLG1CQUFtQjtRQUNuQixxQkFBcUI7UUFDckIsb0JBQW9CO1FBQ3BCLHFCQUFxQjtrSEFRVixvQkFBb0IsWUFIL0IsT0FBTzsyRkFHSSxvQkFBb0I7a0JBTGhDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLFFBQVE7b0JBQ3RCLE9BQU87b0JBQ1AsT0FBTyxFQUFFLFFBQVE7aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvaW5wdXQvaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IFNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dGFyZWFDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGV4dGFyZWEvdGV4dGFyZWEuY29tcG9uZW50JztcbmltcG9ydCB7IFRvYXN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RvYXN0L3RvYXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUYWdzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RhZ3MvdGFncy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTG9hZGluZ0JhckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9sb2FkaW5nLWJhci9sb2FkaW5nLWJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2tlbGV0b25Mb2FkZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2tlbGV0b24tbG9hZGVyL3NrZWxldG9uLWxvYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnJlYWRjcnVtYkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9icmVhZGNydW1iL2JyZWFkY3J1bWIuY29tcG9uZW50JztcbmltcG9ydCB7IE1vZGVsVGFibGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbW9kZWwtdGFibGUvbW9kZWwtdGFibGUuY29tcG9uZW50JztcbmltcG9ydCB7IE1vZGVsRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9tb2RlbC1mb3JtL21vZGVsLWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IE1vZGVsRm9ybVN1YkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9tb2RlbC1mb3JtLXN1Yi9tb2RlbC1mb3JtLXN1Yi5jb21wb25lbnQnO1xuaW1wb3J0IHsgVXBsb2FkSW1hZ2VDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdXBsb2FkLWltYWdlL3VwbG9hZC1pbWFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVmZW5jZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3JlZmVuY2UtaW5wdXQvcmVmZW5jZS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFja0J1dHRvbkRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9iYWNrLWJ1dHRvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU29ydERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9zb3J0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDb250ZXh0TWVudURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9jb250ZXh0LW1lbnUuZGlyZWN0aXZlJztcblxuLy8gTW9kdWxlc1xuY29uc3QgaW1wb3J0cyA9IFtGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgQ29tbW9uTW9kdWxlXTtcblxuLy8gSW1wb3J0ZWQgYW5kIGV4cG9ydGVkIGVsZW1lbnRzXG5jb25zdCBlbGVtZW50cyA9IFtcbiAgLy8gRGlyZWN0aXZlc1xuICBTb3J0RGlyZWN0aXZlLFxuICBCYWNrQnV0dG9uRGlyZWN0aXZlLFxuICBDb250ZXh0TWVudURpcmVjdGl2ZSxcblxuICAvLyBDb21wb25lbnRzXG4gIElucHV0Q29tcG9uZW50LFxuICBTZWxlY3RDb21wb25lbnQsXG4gIENoZWNrYm94Q29tcG9uZW50LFxuICBUZXh0YXJlYUNvbXBvbmVudCxcbiAgVG9hc3RDb21wb25lbnQsXG4gIFRhZ3NDb21wb25lbnQsXG4gIExvYWRpbmdCYXJDb21wb25lbnQsXG4gIFNrZWxldG9uTG9hZGVyQ29tcG9uZW50LFxuICBCcmVhZGNydW1iQ29tcG9uZW50LFxuICBNb2RlbEZvcm1Db21wb25lbnQsXG4gIE1vZGVsVGFibGVDb21wb25lbnQsXG4gIE1vZGVsRm9ybVN1YkNvbXBvbmVudCxcbiAgVXBsb2FkSW1hZ2VDb21wb25lbnQsXG4gIFJlZmVuY2VJbnB1dENvbXBvbmVudCxcbl07XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogZWxlbWVudHMsXG4gIGltcG9ydHMsXG4gIGV4cG9ydHM6IGVsZW1lbnRzLFxufSlcbmV4cG9ydCBjbGFzcyBCYXNlQ29tcG9uZW50c01vZHVsZSB7fVxuIl19