@wemake4u/form-player-se 1.0.1 → 1.0.3

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.
@@ -8,6 +8,10 @@ export const Texts = {
8
8
  PreviousSection: "Sezione precedente",
9
9
  NextSection: "Sezione successiva",
10
10
  Show: "Visualizza",
11
- Close: "Chiudi"
11
+ Close: "Chiudi",
12
+ Name: "Nome",
13
+ Size: "Dimensione",
14
+ Type: "Tipo",
15
+ Actions: "Azioni"
12
16
  };
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxlLWl0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpcmlvL3NyYy9saWIvbG9jYWxlL2xvY2FsZS1pdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUc7SUFDbkIsWUFBWSxFQUFFLHVCQUF1QjtJQUNyQyxNQUFNLEVBQUUsUUFBUTtJQUNoQixVQUFVLEVBQUUsbUJBQW1CO0lBQy9CLFdBQVcsRUFBRSxpQkFBaUI7SUFDOUIsT0FBTyxFQUFFLFVBQVU7SUFDbkIsVUFBVSxFQUFFLFNBQVM7SUFDckIsZUFBZSxFQUFFLG9CQUFvQjtJQUNyQyxXQUFXLEVBQUUsb0JBQW9CO0lBQ2pDLElBQUksRUFBRSxZQUFZO0lBQ2xCLEtBQUssRUFBRSxRQUFRO0NBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgVGV4dHMgPSB7XHJcbiAgVHlwZVRvU2VhcmNoOiBcIkRpZ2l0YSBwZXIgY2VyY2FyZS4uLlwiLFxyXG4gIFVwbG9hZDogXCJVcGxvYWRcIixcclxuICBTY3JvbGxMZWZ0OiBcIlNjb3JyaSBhIHNpbmlzdHJhXCIsXHJcbiAgU2Nyb2xsUmlnaHQ6IFwiU2NvcnJpIGEgZGVzdHJhXCIsXHJcbiAgQWRkSXRlbTogXCJBZ2dpdW5naVwiLFxyXG4gIFJlbW92ZUl0ZW06IFwiUmltdW92aVwiLFxyXG4gIFByZXZpb3VzU2VjdGlvbjogXCJTZXppb25lIHByZWNlZGVudGVcIixcclxuICBOZXh0U2VjdGlvbjogXCJTZXppb25lIHN1Y2Nlc3NpdmFcIixcclxuICBTaG93OiBcIlZpc3VhbGl6emFcIixcclxuICBDbG9zZTogXCJDaGl1ZGlcIlxyXG59O1xyXG4iXX0=
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxlLWl0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpcmlvL3NyYy9saWIvbG9jYWxlL2xvY2FsZS1pdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUc7SUFDbkIsWUFBWSxFQUFFLHVCQUF1QjtJQUNyQyxNQUFNLEVBQUUsUUFBUTtJQUNoQixVQUFVLEVBQUUsbUJBQW1CO0lBQy9CLFdBQVcsRUFBRSxpQkFBaUI7SUFDOUIsT0FBTyxFQUFFLFVBQVU7SUFDbkIsVUFBVSxFQUFFLFNBQVM7SUFDckIsZUFBZSxFQUFFLG9CQUFvQjtJQUNyQyxXQUFXLEVBQUUsb0JBQW9CO0lBQ2pDLElBQUksRUFBRSxZQUFZO0lBQ2xCLEtBQUssRUFBRSxRQUFRO0lBQ2YsSUFBSSxFQUFFLE1BQU07SUFDWixJQUFJLEVBQUUsWUFBWTtJQUNsQixJQUFJLEVBQUUsTUFBTTtJQUNaLE9BQU8sRUFBRSxRQUFRO0NBQ2xCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgVGV4dHMgPSB7XHJcbiAgVHlwZVRvU2VhcmNoOiBcIkRpZ2l0YSBwZXIgY2VyY2FyZS4uLlwiLFxyXG4gIFVwbG9hZDogXCJVcGxvYWRcIixcclxuICBTY3JvbGxMZWZ0OiBcIlNjb3JyaSBhIHNpbmlzdHJhXCIsXHJcbiAgU2Nyb2xsUmlnaHQ6IFwiU2NvcnJpIGEgZGVzdHJhXCIsXHJcbiAgQWRkSXRlbTogXCJBZ2dpdW5naVwiLFxyXG4gIFJlbW92ZUl0ZW06IFwiUmltdW92aVwiLFxyXG4gIFByZXZpb3VzU2VjdGlvbjogXCJTZXppb25lIHByZWNlZGVudGVcIixcclxuICBOZXh0U2VjdGlvbjogXCJTZXppb25lIHN1Y2Nlc3NpdmFcIixcclxuICBTaG93OiBcIlZpc3VhbGl6emFcIixcclxuICBDbG9zZTogXCJDaGl1ZGlcIixcclxuICBOYW1lOiBcIk5vbWVcIixcclxuICBTaXplOiBcIkRpbWVuc2lvbmVcIixcclxuICBUeXBlOiBcIlRpcG9cIixcclxuICBBY3Rpb25zOiBcIkF6aW9uaVwiXHJcbn07XHJcbiJdfQ==
@@ -1,13 +1,19 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import { marked } from 'marked';
3
3
  import * as i0 from "@angular/core";
4
- marked.use({
5
- async: false,
6
- gfm: true,
7
- breaks: true
8
- });
9
4
  export class MarkdownService {
10
- constructor() { }
5
+ constructor() {
6
+ marked.use({
7
+ async: false,
8
+ gfm: true,
9
+ breaks: true
10
+ });
11
+ const renderer = new marked.Renderer();
12
+ renderer.link = function (args) {
13
+ return `<a href="${args.href}" target="_blank">${args.text}</a>`;
14
+ };
15
+ marked.setOptions({ renderer });
16
+ }
11
17
  toHtml(text) {
12
18
  return marked.parse(text ?? "");
13
19
  }
@@ -21,4 +27,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
21
27
  providedIn: 'root'
22
28
  }]
23
29
  }], ctorParameters: () => [] });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zaXJpby9zcmMvbGliL3NlcnZpY2VzL21hcmtkb3duLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDOztBQUVoQyxNQUFNLENBQUMsR0FBRyxDQUFDO0lBQ1QsS0FBSyxFQUFFLEtBQUs7SUFDWixHQUFHLEVBQUUsSUFBSTtJQUNULE1BQU0sRUFBRSxJQUFJO0NBQ2IsQ0FBQyxDQUFDO0FBS0gsTUFBTSxPQUFPLGVBQWU7SUFFMUIsZ0JBQWdCLENBQUM7SUFFakIsTUFBTSxDQUFDLElBQVk7UUFDakIsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxFQUFFLENBQVcsQ0FBQztJQUM1QyxDQUFDO0lBQUEsQ0FBQzt3R0FOUyxlQUFlOzRHQUFmLGVBQWUsY0FGZCxNQUFNOzs0RkFFUCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgbWFya2VkIH0gZnJvbSAnbWFya2VkJztcclxuXHJcbm1hcmtlZC51c2Uoe1xyXG4gIGFzeW5jOiBmYWxzZSxcclxuICBnZm06IHRydWUsXHJcbiAgYnJlYWtzOiB0cnVlXHJcbn0pO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTWFya2Rvd25TZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgdG9IdG1sKHRleHQ6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gbWFya2VkLnBhcnNlKHRleHQgPz8gXCJcIikgYXMgc3RyaW5nO1xyXG4gIH07XHJcbn1cclxuIl19
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zaXJpby9zcmMvbGliL3NlcnZpY2VzL21hcmtkb3duLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDOztBQUtoQyxNQUFNLE9BQU8sZUFBZTtJQUUxQjtRQUVFLE1BQU0sQ0FBQyxHQUFHLENBQUM7WUFDVCxLQUFLLEVBQUUsS0FBSztZQUNaLEdBQUcsRUFBRSxJQUFJO1lBQ1QsTUFBTSxFQUFFLElBQUk7U0FDYixDQUFDLENBQUM7UUFFSCxNQUFNLFFBQVEsR0FBRyxJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUV2QyxRQUFRLENBQUMsSUFBSSxHQUFHLFVBQVUsSUFBSTtZQUM1QixPQUFPLFlBQVksSUFBSSxDQUFDLElBQUkscUJBQXFCLElBQUksQ0FBQyxJQUFJLE1BQU0sQ0FBQztRQUNuRSxDQUFDLENBQUM7UUFFRixNQUFNLENBQUMsVUFBVSxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsTUFBTSxDQUFDLElBQVk7UUFDakIsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxFQUFFLENBQVcsQ0FBQztJQUM1QyxDQUFDO0lBQUEsQ0FBQzt3R0FyQlMsZUFBZTs0R0FBZixlQUFlLGNBRmQsTUFBTTs7NEZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IG1hcmtlZCB9IGZyb20gJ21hcmtlZCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNYXJrZG93blNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuXHJcbiAgICBtYXJrZWQudXNlKHtcclxuICAgICAgYXN5bmM6IGZhbHNlLFxyXG4gICAgICBnZm06IHRydWUsXHJcbiAgICAgIGJyZWFrczogdHJ1ZVxyXG4gICAgfSk7XHJcblxyXG4gICAgY29uc3QgcmVuZGVyZXIgPSBuZXcgbWFya2VkLlJlbmRlcmVyKCk7XHJcblxyXG4gICAgcmVuZGVyZXIubGluayA9IGZ1bmN0aW9uIChhcmdzKSB7XHJcbiAgICAgIHJldHVybiBgPGEgaHJlZj1cIiR7YXJncy5ocmVmfVwiIHRhcmdldD1cIl9ibGFua1wiPiR7YXJncy50ZXh0fTwvYT5gOyAgICAgIFxyXG4gICAgfTtcclxuXHJcbiAgICBtYXJrZWQuc2V0T3B0aW9ucyh7IHJlbmRlcmVyIH0pO1xyXG4gIH1cclxuXHJcbiAgdG9IdG1sKHRleHQ6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gbWFya2VkLnBhcnNlKHRleHQgPz8gXCJcIikgYXMgc3RyaW5nO1xyXG4gIH07XHJcbn1cclxuIl19
@@ -45,14 +45,14 @@ export class ProgrammabilityService {
45
45
  }
46
46
  return value ?? "";
47
47
  }
48
- evaluateBoolean(formGroup, value) {
48
+ evaluateBoolean(formGroup, value, options = {}) {
49
49
  if (typeof value === 'boolean') {
50
50
  return value;
51
51
  }
52
52
  else if (typeof value === 'string') {
53
53
  const strValue = value;
54
54
  if (this.isExpression(strValue)) {
55
- return this.evalExpression(formGroup, this.getExpression(strValue));
55
+ return this.evalExpression(formGroup, this.getExpression(strValue), options);
56
56
  }
57
57
  }
58
58
  return null;
@@ -69,9 +69,9 @@ export class ProgrammabilityService {
69
69
  }
70
70
  return null;
71
71
  }
72
- evaluate(formGroup, value, cacheable = this.cacheable) {
72
+ evaluate(formGroup, value, options = {}) {
73
73
  if (this.isExpression(value)) {
74
- return this.evalExpression(formGroup, this.getExpression(value), cacheable);
74
+ return this.evalExpression(formGroup, this.getExpression(value), options);
75
75
  }
76
76
  return null;
77
77
  }
@@ -100,23 +100,24 @@ export class ProgrammabilityService {
100
100
  return null;
101
101
  }
102
102
  }
103
- evalExpression(formGroup, expression, cacheable = this.cacheable) {
103
+ evalExpression(formGroup, expression, options = {}) {
104
104
  const evaluate = () => {
105
105
  try {
106
- return this.feelService.evalExpression(expression, this.getContext(formGroup));
106
+ return this.feelService.evalExpression(expression, this.getContext(formGroup, options));
107
107
  }
108
108
  catch (e) {
109
109
  console.log(expression, e);
110
110
  return null;
111
111
  }
112
112
  };
113
+ const cacheable = options.cacheable ?? this.cacheable;
113
114
  if (cacheable) {
114
115
  const watchKey = `:watch(${expression})`;
115
- this.weakService.call(formGroup, watchKey, () => {
116
- this.watchExpression(formGroup, expression, () => this.weakService.invalidate(formGroup, expression));
116
+ this.weakService.call(this, watchKey, () => {
117
+ this.watchExpression(formGroup, expression, () => this.weakService.invalidate(this, expression));
117
118
  return true;
118
119
  });
119
- return this.weakService.call(formGroup, expression, evaluate);
120
+ return this.weakService.call(this, expression, evaluate);
120
121
  }
121
122
  else {
122
123
  return evaluate();
@@ -130,7 +131,7 @@ export class ProgrammabilityService {
130
131
  return null;
131
132
  }
132
133
  }
133
- createProxy(formGroup) {
134
+ createProxy(formGroup, proxyFn = null) {
134
135
  if (!formGroup) {
135
136
  return null;
136
137
  }
@@ -145,6 +146,8 @@ export class ProgrammabilityService {
145
146
  notifyWarning: (message, delay) => this.toastService.notifyWarning(message, delay),
146
147
  notifyError: (message, delay) => this.toastService.notifyError(message, delay)
147
148
  };
149
+ if (proxyFn)
150
+ proxyFn(options);
148
151
  return this.proxyService.getProxy(formGroup.value, options);
149
152
  }
150
153
  getParent(formGroup) {
@@ -154,9 +157,9 @@ export class ProgrammabilityService {
154
157
  }
155
158
  return parent;
156
159
  }
157
- getContext(control) {
160
+ getContext(control, options = {}) {
158
161
  const formGroup = control;
159
- const context = this.createProxy(formGroup);
162
+ const context = this.createProxy(formGroup, options.proxyFn);
160
163
  return context;
161
164
  }
162
165
  watchExpression(formGroup, expression, callback) {
@@ -166,22 +169,18 @@ export class ProgrammabilityService {
166
169
  }
167
170
  ;
168
171
  watchDependencies(formGroup, dependencies, callback) {
169
- const subscriptions = [];
170
- const scopeName = "scope";
171
172
  const parentName = "parent";
172
- const invokeCallback = (control) => {
173
- subscriptions.push(control.valueChanges
173
+ const subscribe = (control) => {
174
+ control.valueChanges
174
175
  .pipe(takeUntil(this.destroy$))
175
176
  .subscribe(() => {
176
177
  setTimeout(() => {
177
178
  callback();
178
179
  });
179
- }));
180
+ });
180
181
  };
181
182
  for (const dependence of dependencies) {
182
183
  if (Array.isArray(dependence)) {
183
- if (dependence[0] === scopeName)
184
- continue;
185
184
  let targetForm = formGroup;
186
185
  let controlPath = dependence;
187
186
  while (controlPath.length > 0 && controlPath[0] === parentName) {
@@ -193,20 +192,17 @@ export class ProgrammabilityService {
193
192
  if (controlPath.length > 0 && targetForm) {
194
193
  const control = targetForm.get(controlPath);
195
194
  if (control) {
196
- invokeCallback(control);
195
+ subscribe(control);
197
196
  }
198
197
  }
199
198
  }
200
199
  else {
201
- if (dependence === scopeName)
202
- continue;
203
200
  const control = formGroup.get(dependence);
204
201
  if (control) {
205
- invokeCallback(control);
202
+ subscribe(control);
206
203
  }
207
204
  }
208
205
  }
209
- return subscriptions;
210
206
  }
211
207
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProgrammabilityService, deps: [{ token: i1.FeelService }, { token: i2.WeakService }, { token: i3.ProxyService }, { token: i4.ToastService }, { token: i5.RegisterService, optional: true }, { token: i6.ScopeService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
212
208
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProgrammabilityService });
@@ -218,4 +214,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
218
214
  }] }, { type: i6.ScopeService, decorators: [{
219
215
  type: Optional
220
216
  }] }] });
221
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3JhbW1hYmlsaXR5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2lyaW8vc3JjL2xpYi9zZXJ2aWNlcy9wcm9ncmFtbWFiaWxpdHkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRSxPQUFPLEVBQW1CLFNBQVMsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBR3ZFLE9BQU8sRUFBZ0IsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFJdkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQWdCLE1BQU0sTUFBTSxDQUFDOzs7Ozs7OztBQUd4RCxNQUFNLE9BQU8sc0JBQXNCO0lBRWI7SUFDUjtJQUNBO0lBQ0E7SUFDWTtJQUNBO0lBTHhCLFlBQW9CLFdBQXdCLEVBQ2hDLFdBQXdCLEVBQ3hCLFlBQTBCLEVBQzFCLFlBQTBCLEVBQ2QsUUFBeUIsRUFDekIsS0FBbUI7UUFMdkIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDaEMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDZCxhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUN6QixVQUFLLEdBQUwsS0FBSyxDQUFjO0lBQ3ZDLENBQUM7SUFFRyxRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUV2QyxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxZQUFZLENBQUMsSUFBbUI7UUFDOUIsT0FBTyxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENB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QUFLLFVBQVUsRUFBRSxDQUFDO29CQUMvRCxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU07d0JBQ3BCLE1BQU07b0JBQ1IsVUFBVSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUM7b0JBQy9CLFdBQVcsR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNyQyxDQUFDO2dCQUVELElBQUksV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksVUFBVSxFQUFFLENBQUM7b0JBQ3pDLE1BQU0sT0FBTyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7b0JBQzVDLElBQUksT0FBTyxFQUFFLENBQUM7d0JBQ1osY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUMxQixDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxVQUFVLEtBQUssU0FBUztvQkFDMUIsU0FBUztnQkFFWCxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUMxQyxJQUFJLE9BQU8sRUFBRSxDQUFDO29CQUNaLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDMUIsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQzt3R0F2T1Usc0JBQXNCOzRHQUF0QixzQkFBc0I7OzRGQUF0QixzQkFBc0I7a0JBRGxDLFVBQVU7OzBCQU9KLFFBQVE7OzBCQUNSLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3ksIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUFycmF5LCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEZlZWxTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZmVlbC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2NvcGVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvc2NvcGUuc2VydmljZSc7XHJcbmltcG9ydCB7IFByb3h5U2VydmljZSwgUHJveHlPcHRpb25zIH0gZnJvbSAnLi4vc2VydmljZXMvcHJveHkuc2VydmljZSc7XHJcbmltcG9ydCB7IFJlZ2lzdGVyU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3JlZ2lzdGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy90b2FzdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgV2Vha1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy93ZWFrLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwsIFN1YnNjcmlwdGlvbiB9IGZyb20gXCJyeGpzXCI7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBQcm9ncmFtbWFiaWxpdHlTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmZWVsU2VydmljZTogRmVlbFNlcnZpY2VcclxuICAgICwgcHJpdmF0ZSB3ZWFrU2VydmljZTogV2Vha1NlcnZpY2VcclxuICAgICwgcHJpdmF0ZSBwcm94eVNlcnZpY2U6IFByb3h5U2VydmljZVxyXG4gICAgLCBwcml2YXRlIHRvYXN0U2VydmljZTogVG9hc3RTZXJ2aWNlXHJcbiAgICAsIEBPcHRpb25hbCgpIHByaXZhdGUgcmVnaXN0ZXI6IFJlZ2lzdGVyU2VydmljZVxyXG4gICAgLCBAT3B0aW9uYWwoKSBwcml2YXRlIHNjb3BlOiBTY29wZVNlcnZpY2VcclxuICApIHsgfVxyXG5cclxuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcclxuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIGlzRXhwcmVzc2lvbih0ZXh0OiBzdHJpbmcgfCBudWxsKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGV4dCAhPSBudWxsICYmIHRleHQuc3RhcnRzV2l0aChcIj1cIik7XHJcbiAgfTtcclxuXHJcbiAgZ2V0RXhwcmVzc2lvbih0ZXh0OiBzdHJpbmcgfCBudWxsKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLmlzRXhwcmVzc2lvbih0ZXh0KSlcclxuICAgICAgcmV0dXJuIHRleHQhLnN1YnN0cmluZygxKTtcclxuICAgIHJldHVybiBcIlwiO1xyXG4gIH07XHJcblxyXG4gIGV2YWx1YXRlU3RyaW5nKGZvcm1Hcm91cDogRm9ybUdyb3VwLCB2YWx1ZTogc3RyaW5nIHwgbnVsbCk6IHN0cmluZyB7XHJcbiAgICBpZiAodGhpcy5pc0V4cHJlc3Npb24odmFsdWUpKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmV2YWxFeHByZXNzaW9uKGZvcm1Hcm91cCwgdGhpcy5nZXRFeHByZXNzaW9uKHZhbHVlKSkgYXMgc3RyaW5nO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHZhbHVlID8/IFwiXCI7XHJcbiAgfVxyXG5cclxuICBldmFsdWF0ZUJvb2xlYW4oZm9ybUdyb3VwOiBGb3JtR3JvdXAsIHZhbHVlOiBib29sZWFuIHwgc3RyaW5nIHwgbnVsbCk6IGJvb2xlYW4gfCBudWxsIHtcclxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJykge1xyXG4gICAgICByZXR1cm4gdmFsdWU7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIGNvbnN0IHN0clZhbHVlOiBzdHJpbmcgPSB2YWx1ZTtcclxuICAgICAgaWYgKHRoaXMuaXNFeHByZXNzaW9uKHN0clZhbHVlKSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmV2YWxFeHByZXNzaW9uKGZvcm1Hcm91cCwgdGhpcy5nZXRFeHByZXNzaW9uKHN0clZhbHVlKSkgYXMgYm9vbGVhbjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICBldmFsdWF0ZU51bWJlcihmb3JtR3JvdXA6IEZvcm1Hcm91cCwgdmFsdWU6IG51bWJlciB8IHN0cmluZyB8IG51bGwpOiBudW1iZXIgfCBudWxsIHtcclxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XHJcbiAgICAgIHJldHVybiB2YWx1ZTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgY29uc3Qgc3RyVmFsdWU6IHN0cmluZyA9IHZhbHVlO1xyXG4gICAgICBpZiAodGhpcy5pc0V4cHJlc3Npb24oc3RyVmFsdWUpKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZXZhbEV4cHJlc3Npb24oZm9ybUdyb3VwLCB0aGlzLmdldEV4cHJlc3Npb24oc3RyVmFsdWUpKSBhcyBudW1iZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgZXZhbHVhdGUoZm9ybUdyb3VwOiBGb3JtR3JvdXAsIHZhbHVlOiBzdHJpbmcgfCBudWxsLCBjYWNoZWFibGU6Ym9vbGVhbiA9IHRoaXMuY2FjaGVhYmxlKTogYW55IHtcclxuICAgIGlmICh0aGlzLmlzRXhwcmVzc2lvbih2YWx1ZSkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZXZhbEV4cHJlc3Npb24oZm9ybUdyb3VwLCB0aGlzLmdldEV4cHJlc3Npb24odmFsdWUpLCBjYWNoZWFibGUpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICBldmFsdWF0ZVRlbXBsYXRlKGZvcm1Hcm91cDogRm9ybUdyb3VwLCB2YWx1ZTogc3RyaW5nIHwgbnVsbCk6IGFueSB7XHJcblxyXG4gICAgbGV0IHRlbXBsYXRlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgICBpZiAodGhpcy5pc0V4cHJlc3Npb24odmFsdWUpKSB7XHJcbiAgICAgIHRlbXBsYXRlID0gdGhpcy5ldmFsRXhwcmVzc2lvbihmb3JtR3JvdXAsIHRoaXMuZ2V0RXhwcmVzc2lvbih2YWx1ZSkpIGFzIHN0cmluZztcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0ZW1wbGF0ZSA9IHZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLmV2YWxUZW1wbGF0ZShmb3JtR3JvdXAsIHRlbXBsYXRlID8/IFwiXCIpO1xyXG4gIH1cclxuXHJcbiAgZXZhbHVhdGVVbmFyeShmb3JtR3JvdXA6IEZvcm1Hcm91cCwgdmFsdWU6IHN0cmluZyB8IG51bGwsIGlucHV0OiBhbnkpOiBhbnkge1xyXG4gICAgaWYgKHRoaXMuaXNFeHByZXNzaW9uKHZhbHVlKSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5ldmFsVW5hcnlUZXN0KGZvcm1Hcm91cCwgdGhpcy5nZXRFeHByZXNzaW9uKHZhbHVlKSwgaW5wdXQpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNhY2hlYWJsZTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIHByaXZhdGUgZXZhbFVuYXJ5VGVzdChmb3JtR3JvdXA6IEZvcm1Hcm91cCwgZXhwcmVzc2lvbjogc3RyaW5nLCBpbnB1dDogYW55KSB7XHJcbiAgICB0cnkge1xyXG4gICAgICByZXR1cm4gdGhpcy5mZWVsU2VydmljZS5ldmFsVW5hcnlUZXN0KGV4cHJlc3Npb25cclxuICAgICAgICAsIHRoaXMuZ2V0Q29udGV4dChmb3JtR3JvdXApXHJcbiAgICAgICAgLCBpbnB1dCk7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBldmFsRXhwcmVzc2lvbihmb3JtR3JvdXA6IEZvcm1Hcm91cCwgZXhwcmVzc2lvbjogc3RyaW5nLCBjYWNoZWFibGU6IGJvb2xlYW4gPSB0aGlzLmNhY2hlYWJsZSk6IGFueSB7XHJcbiAgICBjb25zdCBldmFsdWF0ZSA9ICgpID0+IHtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5mZWVsU2VydmljZS5ldmFsRXhwcmVzc2lvbihleHByZXNzaW9uXHJcbiAgICAgICAgICAsIHRoaXMuZ2V0Q29udGV4dChmb3JtR3JvdXApKVxyXG4gICAgICB9XHJcbiAgICAgIGNhdGNoIChlKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXhwcmVzc2lvbiwgZSk7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgIH1cclxuICAgIH07XHJcblxyXG4gICAgaWYgKGNhY2hlYWJsZSkge1xyXG4gICAgICBjb25zdCB3YXRjaEtleSA9IGA6d2F0Y2goJHtleHByZXNzaW9ufSlgO1xyXG5cclxuICAgICAgdGhpcy53ZWFrU2VydmljZS5jYWxsKGZvcm1Hcm91cCwgd2F0Y2hLZXksICgpID0+IHtcclxuICAgICAgICB0aGlzLndhdGNoRXhwcmVzc2lvbihmb3JtR3JvdXAsIGV4cHJlc3Npb25cclxuICAgICAgICAgICwgKCkgPT4gdGhpcy53ZWFrU2VydmljZS5pbnZhbGlkYXRlKGZvcm1Hcm91cCwgZXhwcmVzc2lvbikpO1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHJldHVybiB0aGlzLndlYWtTZXJ2aWNlLmNhbGwoZm9ybUdyb3VwLCBleHByZXNzaW9uLCBldmFsdWF0ZSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgcmV0dXJuIGV2YWx1YXRlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGV2YWxUZW1wbGF0ZShmb3JtR3JvdXA6IEZvcm1Hcm91cCwgZXhwcmVzc2lvbjogc3RyaW5nKTogYW55IHtcclxuICAgIHRyeSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmZlZWxTZXJ2aWNlLmV2YWxUZW1wbGF0ZShleHByZXNzaW9uXHJcbiAgICAgICAgLCB0aGlzLmdldENvbnRleHQoZm9ybUdyb3VwKSk7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVQcm94eShmb3JtR3JvdXA6IEZvcm1Hcm91cCB8IG51bGwpOiBhbnkge1xyXG5cclxuICAgIGlmICghZm9ybUdyb3VwKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IG9wdGlvbnMgPSBuZXcgUHJveHlPcHRpb25zKCk7XHJcblxyXG4gICAgb3B0aW9ucy5leHRlbmQgPSB7XHJcbiAgICAgIHBhcmVudDogdGhpcy5nZXRQYXJlbnQoZm9ybUdyb3VwKSxcclxuICAgICAgZ2V0Rm9ybUdyb3VwOiAoKSA9PiB0aGlzLnByb3h5U2VydmljZS5nZXRQcm94eShmb3JtR3JvdXApLFxyXG4gICAgICBnZXRTY29wZTogKCkgPT4gdGhpcy5zY29wZSA/IHRoaXMuc2NvcGUucHJveHkoKSA6IG51bGwsXHJcbiAgICAgIGNvbnRyb2xzOiAoKSA9PiB0aGlzLnJlZ2lzdGVyID8gdGhpcy5yZWdpc3Rlci5wcm94eSgpIDogbnVsbCxcclxuICAgICAgbm90aWZ5SW5mbzogKG1lc3NhZ2U6IHN0cmluZywgZGVsYXk/OiBudW1iZXIpID0+IHRoaXMudG9hc3RTZXJ2aWNlLm5vdGlmeUluZm8obWVzc2FnZSwgZGVsYXkpLFxyXG4gICAgICBub3RpZnlTdWNjZXNzOiAobWVzc2FnZTogc3RyaW5nLCBkZWxheT86IG51bWJlcikgPT4gdGhpcy50b2FzdFNlcnZpY2Uubm90aWZ5U3VjY2VzcyhtZXNzYWdlLCBkZWxheSksXHJcbiAgICAgIG5vdGlmeVdhcm5pbmc6IChtZXNzYWdlOiBzdHJpbmcsIGRlbGF5PzogbnVtYmVyKSA9PiB0aGlzLnRvYXN0U2VydmljZS5ub3RpZnlXYXJuaW5nKG1lc3NhZ2UsIGRlbGF5KSxcclxuICAgICAgbm90aWZ5RXJyb3I6IChtZXNzYWdlOiBzdHJpbmcsIGRlbGF5PzogbnVtYmVyKSA9PiB0aGlzLnRvYXN0U2VydmljZS5ub3RpZnlFcnJvcihtZXNzYWdlLCBkZWxheSlcclxuICAgIH07XHJcblxyXG4gICAgcmV0dXJuIHRoaXMucHJveHlTZXJ2aWNlLmdldFByb3h5KGZvcm1Hcm91cC52YWx1ZSwgb3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFBhcmVudChmb3JtR3JvdXA6IEZvcm1Hcm91cCkgOiBGb3JtR3JvdXAgfCBudWxsIHtcclxuICAgIGxldCBwYXJlbnQgPSBmb3JtR3JvdXAucGFyZW50O1xyXG5cclxuICAgIHdoaWxlIChwYXJlbnQgaW5zdGFuY2VvZiBGb3JtQXJyYXkpIHtcclxuICAgICAgcGFyZW50ID0gcGFyZW50Py5wYXJlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHBhcmVudCBhcyBGb3JtR3JvdXAgfCBudWxsO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRDb250ZXh0KGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xyXG5cclxuICAgIGNvbnN0IGZvcm1Hcm91cCA9IGNvbnRyb2wgYXMgRm9ybUdyb3VwIHwgbnVsbDtcclxuICAgIFxyXG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMuY3JlYXRlUHJveHkoZm9ybUdyb3VwKSBhcyBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xyXG5cclxuICAgIHJldHVybiBjb250ZXh0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB3YXRjaEV4cHJlc3Npb24oZm9ybUdyb3VwOiBGb3JtR3JvdXAsIGV4cHJlc3Npb246IHN0cmluZywgY2FsbGJhY2s6ICgpID0+IHZvaWQpOiB2b2lkIHtcclxuICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLmdldENvbnRleHQoZm9ybUdyb3VwKTtcclxuICAgIGNvbnN0IGRlcGVuZGVuY2llcyA9IHRoaXMuZmVlbFNlcnZpY2UuZ2V0RGVwZW5kZW5jaWVzKGV4cHJlc3Npb24sIGNvbnRleHQpO1xyXG4gICAgdGhpcy53YXRjaERlcGVuZGVuY2llcyhmb3JtR3JvdXAsIGRlcGVuZGVuY2llcywgY2FsbGJhY2spO1xyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgd2F0Y2hEZXBlbmRlbmNpZXMoZm9ybUdyb3VwOiBGb3JtR3JvdXAsIGRlcGVuZGVuY2llczogKHN0cmluZyB8IHN0cmluZ1tdKVtdLCBjYWxsYmFjazogKCkgPT4gdm9pZCk6IFN1YnNjcmlwdGlvbltdIHtcclxuICAgIGNvbnN0IHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcbiAgICBjb25zdCBzY29wZU5hbWU6IHN0cmluZyA9IFwic2NvcGVcIjtcclxuICAgIGNvbnN0IHBhcmVudE5hbWU6IHN0cmluZyA9IFwicGFyZW50XCI7XHJcblxyXG4gICAgY29uc3QgaW52b2tlQ2FsbGJhY2sgPSAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKSA9PiB7XHJcbiAgICAgIHN1YnNjcmlwdGlvbnMucHVzaChjb250cm9sLnZhbHVlQ2hhbmdlc1xyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICBjYWxsYmFjaygpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSkpXHJcbiAgICB9XHJcblxyXG4gICAgZm9yIChjb25zdCBkZXBlbmRlbmNlIG9mIGRlcGVuZGVuY2llcykge1xyXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShkZXBlbmRlbmNlKSkge1xyXG4gICAgICAgIGlmIChkZXBlbmRlbmNlWzBdID09PSBzY29wZU5hbWUpXHJcbiAgICAgICAgICBjb250aW51ZTtcclxuXHJcbiAgICAgICAgbGV0IHRhcmdldEZvcm06IEFic3RyYWN0Q29udHJvbCB8IG51bGwgPSBmb3JtR3JvdXA7XHJcbiAgICAgICAgbGV0IGNvbnRyb2xQYXRoID0gZGVwZW5kZW5jZTtcclxuXHJcbiAgICAgICAgd2hpbGUgKGNvbnRyb2xQYXRoLmxlbmd0aCA+IDAgJiYgY29udHJvbFBhdGhbMF0gPT09IHBhcmVudE5hbWUpIHtcclxuICAgICAgICAgIGlmICghdGFyZ2V0Rm9ybS5wYXJlbnQpXHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgdGFyZ2V0Rm9ybSA9IHRhcmdldEZvcm0ucGFyZW50O1xyXG4gICAgICAgICAgY29udHJvbFBhdGggPSBjb250cm9sUGF0aC5zbGljZSgxKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChjb250cm9sUGF0aC5sZW5ndGggPiAwICYmIHRhcmdldEZvcm0pIHtcclxuICAgICAgICAgIGNvbnN0IGNvbnRyb2wgPSB0YXJnZXRGb3JtLmdldChjb250cm9sUGF0aCk7XHJcbiAgICAgICAgICBpZiAoY29udHJvbCkge1xyXG4gICAgICAgICAgICBpbnZva2VDYWxsYmFjayhjb250cm9sKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKGRlcGVuZGVuY2UgPT09IHNjb3BlTmFtZSlcclxuICAgICAgICAgIGNvbnRpbnVlO1xyXG5cclxuICAgICAgICBjb25zdCBjb250cm9sID0gZm9ybUdyb3VwLmdldChkZXBlbmRlbmNlKTtcclxuICAgICAgICBpZiAoY29udHJvbCkge1xyXG4gICAgICAgICAgaW52b2tlQ2FsbGJhY2soY29udHJvbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gc3Vic2NyaXB0aW9ucztcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
217
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3JhbW1hYmlsaXR5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2lyaW8vc3JjL2xpYi9zZXJ2aWNlcy9wcm9ncmFtbWFiaWxpdHkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRSxPQUFPLEVBQW1CLFNBQVMsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBR3ZFLE9BQU8sRUFBZ0IsWUFBWSxFQUFpQixNQUFNLDJCQUEyQixDQUFDO0FBSXRGLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7OztBQUcxQyxNQUFNLE9BQU8sc0JBQXNCO0lBRWI7SUFDUjtJQUNBO0lBQ0E7SUFDWTtJQUNBO0lBTHhCLFlBQW9CLFdBQXdCLEVBQ2hDLFdBQXdCLEVBQ3hCLFlBQTBCLEVBQzFCLFlBQTBCLEVBQ2QsUUFBeUIsRUFDekIsS0FBbUI7UUFMdkIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDaEMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDZCxhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUN6QixVQUFLLEdBQUwsS0FBSyxDQUFjO0lBQ3ZDLENBQUM7SUFFRyxRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUV2QyxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxZQUFZLENBQUMsSUFBbUI7UUFDOUIsT0FBTyxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENB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QUFHLENBQUMsSUFBSSxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssVUFBVSxFQUFFLENBQUM7b0JBQy9ELElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTTt3QkFDcEIsTUFBTTtvQkFDUixVQUFVLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQztvQkFDL0IsV0FBVyxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3JDLENBQUM7Z0JBRUQsSUFBSSxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxVQUFVLEVBQUUsQ0FBQztvQkFDekMsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztvQkFDNUMsSUFBSSxPQUFPLEVBQUUsQ0FBQzt3QkFDWixTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBQ3JCLENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUM7aUJBQU0sQ0FBQztnQkFDTixNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUMxQyxJQUFJLE9BQU8sRUFBRSxDQUFDO29CQUNaLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDckIsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQzt3R0FyT1Usc0JBQXNCOzRHQUF0QixzQkFBc0I7OzRGQUF0QixzQkFBc0I7a0JBRGxDLFVBQVU7OzBCQU9KLFFBQVE7OzBCQUNSLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3ksIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUFycmF5LCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEZlZWxTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZmVlbC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2NvcGVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvc2NvcGUuc2VydmljZSc7XHJcbmltcG9ydCB7IFByb3h5U2VydmljZSwgUHJveHlPcHRpb25zLCBQcm94eUNvbmZpZ0ZuIH0gZnJvbSAnLi4vc2VydmljZXMvcHJveHkuc2VydmljZSc7XHJcbmltcG9ydCB7IFJlZ2lzdGVyU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3JlZ2lzdGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy90b2FzdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgV2Vha1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy93ZWFrLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tIFwicnhqc1wiO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgUHJvZ3JhbW1hYmlsaXR5U2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmVlbFNlcnZpY2U6IEZlZWxTZXJ2aWNlXHJcbiAgICAsIHByaXZhdGUgd2Vha1NlcnZpY2U6IFdlYWtTZXJ2aWNlXHJcbiAgICAsIHByaXZhdGUgcHJveHlTZXJ2aWNlOiBQcm94eVNlcnZpY2VcclxuICAgICwgcHJpdmF0ZSB0b2FzdFNlcnZpY2U6IFRvYXN0U2VydmljZVxyXG4gICAgLCBAT3B0aW9uYWwoKSBwcml2YXRlIHJlZ2lzdGVyOiBSZWdpc3RlclNlcnZpY2VcclxuICAgICwgQE9wdGlvbmFsKCkgcHJpdmF0ZSBzY29wZTogU2NvcGVTZXJ2aWNlXHJcbiAgKSB7IH1cclxuXHJcbiAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBpc0V4cHJlc3Npb24odGV4dDogc3RyaW5nIHwgbnVsbCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRleHQgIT0gbnVsbCAmJiB0ZXh0LnN0YXJ0c1dpdGgoXCI9XCIpO1xyXG4gIH07XHJcblxyXG4gIGdldEV4cHJlc3Npb24odGV4dDogc3RyaW5nIHwgbnVsbCk6IHN0cmluZyB7XHJcbiAgICBpZiAodGhpcy5pc0V4cHJlc3Npb24odGV4dCkpXHJcbiAgICAgIHJldHVybiB0ZXh0IS5zdWJzdHJpbmcoMSk7XHJcbiAgICByZXR1cm4gXCJcIjtcclxuICB9O1xyXG5cclxuICBldmFsdWF0ZVN0cmluZyhmb3JtR3JvdXA6IEZvcm1Hcm91cCwgdmFsdWU6IHN0cmluZyB8IG51bGwpOiBzdHJpbmcge1xyXG4gICAgaWYgKHRoaXMuaXNFeHByZXNzaW9uKHZhbHVlKSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5ldmFsRXhwcmVzc2lvbihmb3JtR3JvdXAsIHRoaXMuZ2V0RXhwcmVzc2lvbih2YWx1ZSkpIGFzIHN0cmluZztcclxuICAgIH1cclxuICAgIHJldHVybiB2YWx1ZSA/PyBcIlwiO1xyXG4gIH1cclxuXHJcbiAgZXZhbHVhdGVCb29sZWFuKGZvcm1Hcm91cDogRm9ybUdyb3VwLCB2YWx1ZTogYm9vbGVhbiB8IHN0cmluZyB8IG51bGwsIG9wdGlvbnM6IEV2YWx1YXRlT3B0aW9ucyA9IHt9KTogYm9vbGVhbiB8IG51bGwge1xyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ2Jvb2xlYW4nKSB7XHJcbiAgICAgIHJldHVybiB2YWx1ZTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgY29uc3Qgc3RyVmFsdWU6IHN0cmluZyA9IHZhbHVlO1xyXG4gICAgICBpZiAodGhpcy5pc0V4cHJlc3Npb24oc3RyVmFsdWUpKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZXZhbEV4cHJlc3Npb24oZm9ybUdyb3VwLCB0aGlzLmdldEV4cHJlc3Npb24oc3RyVmFsdWUpLCBvcHRpb25zKSBhcyBib29sZWFuO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIGV2YWx1YXRlTnVtYmVyKGZvcm1Hcm91cDogRm9ybUdyb3VwLCB2YWx1ZTogbnVtYmVyIHwgc3RyaW5nIHwgbnVsbCk6IG51bWJlciB8IG51bGwge1xyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcclxuICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xyXG4gICAgICBjb25zdCBzdHJWYWx1ZTogc3RyaW5nID0gdmFsdWU7XHJcbiAgICAgIGlmICh0aGlzLmlzRXhwcmVzc2lvbihzdHJWYWx1ZSkpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5ldmFsRXhwcmVzc2lvbihmb3JtR3JvdXAsIHRoaXMuZ2V0RXhwcmVzc2lvbihzdHJWYWx1ZSkpIGFzIG51bWJlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICBldmFsdWF0ZShmb3JtR3JvdXA6IEZvcm1Hcm91cCwgdmFsdWU6IHN0cmluZyB8IG51bGwsIG9wdGlvbnM6IEV2YWx1YXRlT3B0aW9ucyA9IHsgfSk6IGFueSB7XHJcbiAgICBpZiAodGhpcy5pc0V4cHJlc3Npb24odmFsdWUpKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmV2YWxFeHByZXNzaW9uKGZvcm1Hcm91cCwgdGhpcy5nZXRFeHByZXNzaW9uKHZhbHVlKSwgb3B0aW9ucyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIGV2YWx1YXRlVGVtcGxhdGUoZm9ybUdyb3VwOiBGb3JtR3JvdXAsIHZhbHVlOiBzdHJpbmcgfCBudWxsKTogYW55IHtcclxuXHJcbiAgICBsZXQgdGVtcGxhdGU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG5cclxuICAgIGlmICh0aGlzLmlzRXhwcmVzc2lvbih2YWx1ZSkpIHtcclxuICAgICAgdGVtcGxhdGUgPSB0aGlzLmV2YWxFeHByZXNzaW9uKGZvcm1Hcm91cCwgdGhpcy5nZXRFeHByZXNzaW9uKHZhbHVlKSkgYXMgc3RyaW5nO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRlbXBsYXRlID0gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuZXZhbFRlbXBsYXRlKGZvcm1Hcm91cCwgdGVtcGxhdGUgPz8gXCJcIik7XHJcbiAgfVxyXG5cclxuICBldmFsdWF0ZVVuYXJ5KGZvcm1Hcm91cDogRm9ybUdyb3VwLCB2YWx1ZTogc3RyaW5nIHwgbnVsbCwgaW5wdXQ6IGFueSk6IGFueSB7XHJcbiAgICBpZiAodGhpcy5pc0V4cHJlc3Npb24odmFsdWUpKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmV2YWxVbmFyeVRlc3QoZm9ybUdyb3VwLCB0aGlzLmdldEV4cHJlc3Npb24odmFsdWUpLCBpbnB1dCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2FjaGVhYmxlOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgcHJpdmF0ZSBldmFsVW5hcnlUZXN0KGZvcm1Hcm91cDogRm9ybUdyb3VwLCBleHByZXNzaW9uOiBzdHJpbmcsIGlucHV0OiBhbnkpIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmZlZWxTZXJ2aWNlLmV2YWxVbmFyeVRlc3QoZXhwcmVzc2lvblxyXG4gICAgICAgICwgdGhpcy5nZXRDb250ZXh0KGZvcm1Hcm91cClcclxuICAgICAgICAsIGlucHV0KTtcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGV2YWxFeHByZXNzaW9uKGZvcm1Hcm91cDogRm9ybUdyb3VwLCBleHByZXNzaW9uOiBzdHJpbmcsIG9wdGlvbnM6IEV2YWx1YXRlT3B0aW9ucyA9IHt9KTogYW55IHtcclxuICAgIGNvbnN0IGV2YWx1YXRlID0gKCkgPT4ge1xyXG4gICAgICB0cnkge1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5mZWVsU2VydmljZS5ldmFsRXhwcmVzc2lvbihleHByZXNzaW9uXHJcbiAgICAgICAgICAsIHRoaXMuZ2V0Q29udGV4dChmb3JtR3JvdXAsIG9wdGlvbnMpKVxyXG4gICAgICB9XHJcbiAgICAgIGNhdGNoIChlKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXhwcmVzc2lvbiwgZSk7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgIH1cclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgY2FjaGVhYmxlID0gb3B0aW9ucy5jYWNoZWFibGUgPz8gdGhpcy5jYWNoZWFibGU7XHJcblxyXG4gICAgaWYgKGNhY2hlYWJsZSkge1xyXG4gICAgICBjb25zdCB3YXRjaEtleSA9IGA6d2F0Y2goJHtleHByZXNzaW9ufSlgO1xyXG5cclxuICAgICAgdGhpcy53ZWFrU2VydmljZS5jYWxsKHRoaXMsIHdhdGNoS2V5LCAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy53YXRjaEV4cHJlc3Npb24oZm9ybUdyb3VwLCBleHByZXNzaW9uXHJcbiAgICAgICAgICAsICgpID0+IHRoaXMud2Vha1NlcnZpY2UuaW52YWxpZGF0ZSh0aGlzLCBleHByZXNzaW9uKSk7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgcmV0dXJuIHRoaXMud2Vha1NlcnZpY2UuY2FsbCh0aGlzLCBleHByZXNzaW9uLCBldmFsdWF0ZSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgcmV0dXJuIGV2YWx1YXRlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGV2YWxUZW1wbGF0ZShmb3JtR3JvdXA6IEZvcm1Hcm91cCwgZXhwcmVzc2lvbjogc3RyaW5nKTogYW55IHtcclxuICAgIHRyeSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmZlZWxTZXJ2aWNlLmV2YWxUZW1wbGF0ZShleHByZXNzaW9uXHJcbiAgICAgICAgLCB0aGlzLmdldENvbnRleHQoZm9ybUdyb3VwKSk7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVQcm94eShmb3JtR3JvdXA6IEZvcm1Hcm91cCB8IG51bGxcclxuICAgICwgcHJveHlGbjogKChvcHRpb25zOiBQcm94eU9wdGlvbnMpID0+IHZvaWQpIHwgbnVsbCA9IG51bGwpOiBhbnkge1xyXG5cclxuICAgIGlmICghZm9ybUdyb3VwKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IG9wdGlvbnMgPSBuZXcgUHJveHlPcHRpb25zKCk7XHJcblxyXG4gICAgb3B0aW9ucy5leHRlbmQgPSB7XHJcbiAgICAgIHBhcmVudDogdGhpcy5nZXRQYXJlbnQoZm9ybUdyb3VwKSxcclxuICAgICAgZ2V0Rm9ybUdyb3VwOiAoKSA9PiB0aGlzLnByb3h5U2VydmljZS5nZXRQcm94eShmb3JtR3JvdXApLFxyXG4gICAgICBnZXRTY29wZTogKCkgPT4gdGhpcy5zY29wZSA/IHRoaXMuc2NvcGUucHJveHkoKSA6IG51bGwsXHJcbiAgICAgIGNvbnRyb2xzOiAoKSA9PiB0aGlzLnJlZ2lzdGVyID8gdGhpcy5yZWdpc3Rlci5wcm94eSgpIDogbnVsbCxcclxuICAgICAgbm90aWZ5SW5mbzogKG1lc3NhZ2U6IHN0cmluZywgZGVsYXk/OiBudW1iZXIpID0+IHRoaXMudG9hc3RTZXJ2aWNlLm5vdGlmeUluZm8obWVzc2FnZSwgZGVsYXkpLFxyXG4gICAgICBub3RpZnlTdWNjZXNzOiAobWVzc2FnZTogc3RyaW5nLCBkZWxheT86IG51bWJlcikgPT4gdGhpcy50b2FzdFNlcnZpY2Uubm90aWZ5U3VjY2VzcyhtZXNzYWdlLCBkZWxheSksXHJcbiAgICAgIG5vdGlmeVdhcm5pbmc6IChtZXNzYWdlOiBzdHJpbmcsIGRlbGF5PzogbnVtYmVyKSA9PiB0aGlzLnRvYXN0U2VydmljZS5ub3RpZnlXYXJuaW5nKG1lc3NhZ2UsIGRlbGF5KSxcclxuICAgICAgbm90aWZ5RXJyb3I6IChtZXNzYWdlOiBzdHJpbmcsIGRlbGF5PzogbnVtYmVyKSA9PiB0aGlzLnRvYXN0U2VydmljZS5ub3RpZnlFcnJvcihtZXNzYWdlLCBkZWxheSlcclxuICAgIH07XHJcblxyXG4gICAgaWYgKHByb3h5Rm4pXHJcbiAgICAgIHByb3h5Rm4ob3B0aW9ucyk7XHJcbiAgICBcclxuICAgIHJldHVybiB0aGlzLnByb3h5U2VydmljZS5nZXRQcm94eShmb3JtR3JvdXAudmFsdWUsIG9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRQYXJlbnQoZm9ybUdyb3VwOiBGb3JtR3JvdXApIDogRm9ybUdyb3VwIHwgbnVsbCB7XHJcbiAgICBsZXQgcGFyZW50ID0gZm9ybUdyb3VwLnBhcmVudDtcclxuXHJcbiAgICB3aGlsZSAocGFyZW50IGluc3RhbmNlb2YgRm9ybUFycmF5KSB7XHJcbiAgICAgIHBhcmVudCA9IHBhcmVudD8ucGFyZW50O1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBwYXJlbnQgYXMgRm9ybUdyb3VwIHwgbnVsbDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0Q29udGV4dChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wsIG9wdGlvbnM6IEV2YWx1YXRlT3B0aW9ucyA9IHt9KTogUmVjb3JkPHN0cmluZywgYW55PiB7XHJcblxyXG4gICAgY29uc3QgZm9ybUdyb3VwID0gY29udHJvbCBhcyBGb3JtR3JvdXAgfCBudWxsO1xyXG4gICAgXHJcbiAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5jcmVhdGVQcm94eShmb3JtR3JvdXAsIG9wdGlvbnMucHJveHlGbikgYXMgUmVjb3JkPHN0cmluZywgYW55PjtcclxuXHJcbiAgICByZXR1cm4gY29udGV4dDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgd2F0Y2hFeHByZXNzaW9uKGZvcm1Hcm91cDogRm9ybUdyb3VwLCBleHByZXNzaW9uOiBzdHJpbmcsIGNhbGxiYWNrOiAoKSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5nZXRDb250ZXh0KGZvcm1Hcm91cCk7XHJcbiAgICBjb25zdCBkZXBlbmRlbmNpZXMgPSB0aGlzLmZlZWxTZXJ2aWNlLmdldERlcGVuZGVuY2llcyhleHByZXNzaW9uLCBjb250ZXh0KTtcclxuICAgIHRoaXMud2F0Y2hEZXBlbmRlbmNpZXMoZm9ybUdyb3VwLCBkZXBlbmRlbmNpZXMsIGNhbGxiYWNrKTtcclxuICB9O1xyXG5cclxuICBwcml2YXRlIHdhdGNoRGVwZW5kZW5jaWVzKGZvcm1Hcm91cDogRm9ybUdyb3VwLCBkZXBlbmRlbmNpZXM6IChzdHJpbmcgfCBzdHJpbmdbXSlbXSwgY2FsbGJhY2s6ICgpID0+IHZvaWQpOiB2b2lkIHtcclxuICAgIGNvbnN0IHBhcmVudE5hbWU6IHN0cmluZyA9IFwicGFyZW50XCI7XHJcblxyXG4gICAgY29uc3Qgc3Vic2NyaWJlID0gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkgPT4ge1xyXG4gICAgICBjb250cm9sLnZhbHVlQ2hhbmdlc1xyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICBjYWxsYmFjaygpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgZm9yIChjb25zdCBkZXBlbmRlbmNlIG9mIGRlcGVuZGVuY2llcykge1xyXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShkZXBlbmRlbmNlKSkge1xyXG4gICAgICAgIGxldCB0YXJnZXRGb3JtOiBBYnN0cmFjdENvbnRyb2wgfCBudWxsID0gZm9ybUdyb3VwO1xyXG4gICAgICAgIGxldCBjb250cm9sUGF0aCA9IGRlcGVuZGVuY2U7XHJcblxyXG4gICAgICAgIHdoaWxlIChjb250cm9sUGF0aC5sZW5ndGggPiAwICYmIGNvbnRyb2xQYXRoWzBdID09PSBwYXJlbnROYW1lKSB7XHJcbiAgICAgICAgICBpZiAoIXRhcmdldEZvcm0ucGFyZW50KVxyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIHRhcmdldEZvcm0gPSB0YXJnZXRGb3JtLnBhcmVudDtcclxuICAgICAgICAgIGNvbnRyb2xQYXRoID0gY29udHJvbFBhdGguc2xpY2UoMSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoY29udHJvbFBhdGgubGVuZ3RoID4gMCAmJiB0YXJnZXRGb3JtKSB7XHJcbiAgICAgICAgICBjb25zdCBjb250cm9sID0gdGFyZ2V0Rm9ybS5nZXQoY29udHJvbFBhdGgpO1xyXG4gICAgICAgICAgaWYgKGNvbnRyb2wpIHtcclxuICAgICAgICAgICAgc3Vic2NyaWJlKGNvbnRyb2wpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCBjb250cm9sID0gZm9ybUdyb3VwLmdldChkZXBlbmRlbmNlKTtcclxuICAgICAgICBpZiAoY29udHJvbCkge1xyXG4gICAgICAgICAgc3Vic2NyaWJlKGNvbnRyb2wpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSAgICBcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRXZhbHVhdGVPcHRpb25zIHtcclxuICBjYWNoZWFibGU/OiBib29sZWFuO1xyXG4gIHByb3h5Rm4/OiBQcm94eUNvbmZpZ0ZuO1xyXG59XHJcbiJdfQ==
@@ -128,4 +128,4 @@ export class ProxyOptions {
128
128
  }
129
129
  log = false;
130
130
  }
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJveHkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zaXJpby9zcmMvbGliL3NlcnZpY2VzL3Byb3h5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFM0MsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBS3RDLE1BQU0sT0FBTyxZQUFZO0lBRXZCLGdCQUFnQixDQUFDO0lBRWpCLFFBQVEsQ0FBQyxRQUFhLEVBQUUsVUFBK0IsSUFBSTtRQUN6RCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRU8sV0FBVyxDQUFDLFFBQWEsRUFBRSxJQUFhLEVBQUUsVUFBK0IsSUFBSTtRQUVuRixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDZCxPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDO1FBRUQsT0FBTyxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUU7WUFDekIsR0FBRyxFQUFFLENBQUMsTUFBVyxFQUFFLFFBQVEsRUFBRSxFQUFFO2dCQUU3QixJQUFJLFFBQVEsS0FBSyxRQUFRLEVBQUUsQ0FBQztvQkFDMUIsT0FBTyxJQUFJLENBQUM7Z0JBQ2QsQ0FBQztnQkFFRCxJQUFJLEtBQUssR0FBRyxTQUFTLENBQUM7Z0JBRXRCLElBQUksSUFBSSxJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsTUFBTSxJQUFJLFFBQVEsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ3BFLEtBQUssR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO2dCQUN4RCxDQUFDO3FCQUNJLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxRQUFRLElBQUksT0FBTyxDQUFDLFNBQVMsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQztvQkFDdEcsS0FBSyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDcEQsQ0FBQztxQkFDSSxJQUFJLFFBQVEsSUFBSSxNQUFNLEVBQUUsQ0FBQztvQkFDNUIsS0FBSyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDaEQsQ0FBQztnQkFFRCxJQUFJLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQztvQkFDakIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUN2QyxDQUFDO2dCQUVELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7b0JBQ3JCLE9BQU8sS0FBSyxDQUFDO2dCQUVmLElBQUksT0FBTyxLQUFLLEtBQUssVUFBVSxFQUFFLENBQUM7b0JBQ2hDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQzVDLENBQUM7cUJBQ0ksSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxLQUFLLElBQUksRUFBRSxDQUFDO29CQUNyRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDakQsQ0FBQztnQkFFRCxPQUFPLEtBQUssQ0FBQztZQUNmLENBQUM7WUFDRCxHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxFQUFFO2dCQUMvQixJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUM7b0JBQ3pFLE9BQU8sS0FBSyxDQUFDO2dCQUNmLENBQUM7cUJBQ0ksQ0FBQztvQkFDSixPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQ3RELENBQUM7WUFDSCxDQUFDO1lBQ0QsY0FBYyxFQUFFLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxFQUFFO2dCQUNuQyxJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsU0FBUyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUM7b0JBQy9FLE9BQU8sS0FBSyxDQUFDO2dCQUNmLENBQUM7cUJBQ0ksSUFBSSxRQUFRLElBQUksTUFBTSxFQUFFLENBQUM7b0JBQzVCLE9BQU8sT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ2pDLENBQUM7cUJBQ0ksQ0FBQztvQkFDSixPQUFPLEtBQUssQ0FBQztnQkFDZixDQUFDO1lBQ0gsQ0FBQztZQUNELEdBQUcsRUFBRSxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsRUFBRTtnQkFDeEIsSUFBSSxJQUFJLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxNQUFNLElBQUksUUFBUSxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDcEUsT0FBTyxJQUFJLENBQUM7Z0JBQ2QsQ0FBQztxQkFDSSxJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsUUFBUSxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDO29CQUNqRixPQUFPLElBQUksQ0FBQztnQkFDZCxDQUFDO3FCQUNJLElBQUksUUFBUSxJQUFJLE1BQU0sRUFBRSxDQUFDO29CQUM1QixPQUFPLElBQUksQ0FBQztnQkFDZCxDQUFDO3FCQUNJLENBQUM7b0JBQ0osT0FBTyxLQUFLLENBQUM7Z0JBQ2YsQ0FBQztZQUNILENBQUM7U0FDRixDQUFDLENBQUM7SUFFTCxDQUFDO0lBRU8sY0FBYyxDQUFDLEVBQVksRUFBRSxNQUFXO1FBQzlDLE9BQU8sQ0FBQyxHQUFHLElBQVMsRUFBRSxFQUFFO1lBQ3RCLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ2xDLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFTyxPQUFPLENBQUMsR0FBUTtRQUN0QixPQUFPLEdBQUcsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssSUFBSSxDQUFDO0lBQ3ZDLENBQUM7d0dBOUZVLFlBQVk7NEdBQVosWUFBWSxjQUZYLE1BQU07OzRGQUVQLFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COztBQXNHRCxNQUFNLE9BQU8sWUFBWTtJQUNmLFVBQVUsR0FBZSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7SUFDcEMsT0FBTyxHQUFlLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQztJQUNqQyxTQUFTLEdBQWUsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDO0lBQ3BDLFVBQVUsR0FBZ0IsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDO0lBQzFDLE9BQU8sR0FBd0IsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDO0lBRXZELElBQUksTUFBTSxDQUFDLEVBQXVCO1FBQ2hDLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUdELElBQUksU0FBUyxDQUFDLEVBQWM7UUFDMUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBR0QsSUFBSSxNQUFNLENBQUMsRUFBYztRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFHRCxJQUFJLFFBQVEsQ0FBQyxFQUFjO1FBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUdELElBQUksU0FBUyxDQUFDLEVBQWU7UUFDM0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBR00sR0FBRyxHQUFZLEtBQUssQ0FBQztDQUM3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmNvbnN0IElTX1BST1hZID0gU3ltYm9sKFwiX19pc1Byb3h5JFwiKTtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFByb3h5U2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIGdldFByb3h5KGluc3RhbmNlOiBhbnksIG9wdGlvbnM6IFByb3h5T3B0aW9ucyB8IG51bGwgPSBudWxsKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLmNyZWF0ZVByb3h5KGluc3RhbmNlLCB0cnVlLCBvcHRpb25zKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlUHJveHkoaW5zdGFuY2U6IGFueSwgcm9vdDogYm9vbGVhbiwgb3B0aW9uczogUHJveHlPcHRpb25zIHwgbnVsbCA9IG51bGwpOiBhbnkge1xyXG5cclxuICAgIGlmICghaW5zdGFuY2UpIHtcclxuICAgICAgcmV0dXJuIGluc3RhbmNlO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBuZXcgUHJveHkoaW5zdGFuY2UsIHtcclxuICAgICAgZ2V0OiAodGFyZ2V0OiBhbnksIHByb3BlcnR5KSA9PiB7XHJcblxyXG4gICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gSVNfUFJPWFkpIHtcclxuICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGV0IHZhbHVlID0gdW5kZWZpbmVkO1xyXG5cclxuICAgICAgICBpZiAocm9vdCAmJiBvcHRpb25zICYmIG9wdGlvbnMuZXh0ZW5kICYmIHByb3BlcnR5IGluIG9wdGlvbnMuZXh0ZW5kKSB7XHJcbiAgICAgICAgICB2YWx1ZSA9IFJlZmxlY3QuZ2V0KG9wdGlvbnMuZXh0ZW5kLCBwcm9wZXJ0eSwgdGFyZ2V0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAob3B0aW9ucyAmJiBvcHRpb25zLmlzQ3VzdG9tICYmIG9wdGlvbnMuZ2V0Q3VzdG9tICYmIG9wdGlvbnMuaXNDdXN0b20odGFyZ2V0LCBwcm9wZXJ0eSwgcm9vdCkpIHtcclxuICAgICAgICAgIHZhbHVlID0gb3B0aW9ucy5nZXRDdXN0b20odGFyZ2V0LCBwcm9wZXJ0eSwgcm9vdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKHByb3BlcnR5IGluIHRhcmdldCkge1xyXG4gICAgICAgICAgdmFsdWUgPSBSZWZsZWN0LmdldCh0YXJnZXQsIHByb3BlcnR5LCB0YXJnZXQpOyAgICAgICAgICBcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChvcHRpb25zPy5sb2cpIHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKHRhcmdldCwgcHJvcGVydHksIHZhbHVlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmlzUHJveHkodmFsdWUpKVxyXG4gICAgICAgICAgcmV0dXJuIHZhbHVlO1xyXG5cclxuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVGdW5jdGlvbih2YWx1ZSwgdGFyZ2V0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlUHJveHkodmFsdWUsIGZhbHNlLCBvcHRpb25zKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB2YWx1ZTtcclxuICAgICAgfSxcclxuICAgICAgc2V0OiAodGFyZ2V0LCBwcm9wZXJ0eSwgdmFsdWUpID0+IHtcclxuICAgICAgICBpZiAob3B0aW9ucyAmJiBvcHRpb25zLmNhblNldCAmJiAhb3B0aW9ucy5jYW5TZXQodGFyZ2V0LCBwcm9wZXJ0eSwgcm9vdCkpIHtcclxuICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICByZXR1cm4gUmVmbGVjdC5zZXQodGFyZ2V0LCBwcm9wZXJ0eSwgdmFsdWUsIHRhcmdldCk7XHJcbiAgICAgICAgfSAgICAgICAgXHJcbiAgICAgIH0sXHJcbiAgICAgIGRlbGV0ZVByb3BlcnR5OiAodGFyZ2V0LCBwcm9wZXJ0eSkgPT4ge1xyXG4gICAgICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMuY2FuRGVsZXRlICYmICFvcHRpb25zLmNhbkRlbGV0ZSh0YXJnZXQsIHByb3BlcnR5LCByb290KSkge1xyXG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChwcm9wZXJ0eSBpbiB0YXJnZXQpIHtcclxuICAgICAgICAgIHJldHVybiBkZWxldGUgdGFyZ2V0W3Byb3BlcnR5XTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICBoYXM6ICh0YXJnZXQsIHByb3BlcnR5KSA9PiB7XHJcbiAgICAgICAgaWYgKHJvb3QgJiYgb3B0aW9ucyAmJiBvcHRpb25zLmV4dGVuZCAmJiBwcm9wZXJ0eSBpbiBvcHRpb25zLmV4dGVuZCkge1xyXG4gICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKG9wdGlvbnMgJiYgb3B0aW9ucy5pc0N1c3RvbSAmJiBvcHRpb25zLmlzQ3VzdG9tKHRhcmdldCwgcHJvcGVydHksIHJvb3QpKSB7XHJcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAocHJvcGVydHkgaW4gdGFyZ2V0KSB7XHJcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZUZ1bmN0aW9uKGZuOiBGdW5jdGlvbiwgdGFyZ2V0OiBhbnkpOiBGdW5jdGlvbiB7XHJcbiAgICByZXR1cm4gKC4uLmFyZ3M6IGFueSkgPT4ge1xyXG4gICAgICByZXR1cm4gZm4uYmluZCh0YXJnZXQpKC4uLmFyZ3MpO1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNQcm94eShvYmo6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIG9iaiAmJiBvYmpbSVNfUFJPWFldID09PSB0cnVlOyAgICBcclxuICB9XHJcbn1cclxuXHJcbnR5cGUgUHJveHlRdWVyeSA9ICh0YXJnZXQ6IGFueSwgcHJvcGVydHk6IHN0cmluZyB8IHN5bWJvbCwgcm9vdDogYm9vbGVhbikgPT4gYm9vbGVhbjtcclxuXHJcbnR5cGUgUHJveHlHZXR0ZXIgPSAodGFyZ2V0OiBhbnksIHByb3BlcnR5OiBzdHJpbmcgfCBzeW1ib2wsIHJvb3Q6IGJvb2xlYW4pID0+IGFueTtcclxuXHJcbmV4cG9ydCBjbGFzcyBQcm94eU9wdGlvbnMge1xyXG4gIHByaXZhdGUgX2NhbkRlbGV0ZTogUHJveHlRdWVyeSA9ICgpID0+IHRydWU7XHJcbiAgcHJpdmF0ZSBfY2FuU2V0OiBQcm94eVF1ZXJ5ID0gKCkgPT4gdHJ1ZTtcclxuICBwcml2YXRlIF9pc0N1c3RvbTogUHJveHlRdWVyeSA9ICgpID0+IGZhbHNlO1xyXG4gIHByaXZhdGUgX2dldEN1c3RvbTogUHJveHlHZXR0ZXIgPSAoKSA9PiB1bmRlZmluZWQ7XHJcbiAgcHJpdmF0ZSBfZXh0ZW5kOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0gKCkgPT4gdW5kZWZpbmVkO1xyXG5cclxuICBzZXQgZXh0ZW5kKGZuOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KSB7XHJcbiAgICB0aGlzLl9leHRlbmQgPSBmbjtcclxuICB9XHJcblxyXG4gIGdldCBleHRlbmQoKTogUmVjb3JkPHN0cmluZywgYW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5fZXh0ZW5kO1xyXG4gIH1cclxuXHJcblxyXG4gIHNldCBjYW5EZWxldGUoZm46IFByb3h5UXVlcnkpIHtcclxuICAgIHRoaXMuX2NhbkRlbGV0ZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGNhbkRlbGV0ZSgpOiBQcm94eVF1ZXJ5IHtcclxuICAgIHJldHVybiB0aGlzLl9jYW5EZWxldGU7XHJcbiAgfVxyXG5cclxuXHJcbiAgc2V0IGNhblNldChmbjogUHJveHlRdWVyeSkge1xyXG4gICAgdGhpcy5fY2FuU2V0ID0gZm47XHJcbiAgfVxyXG5cclxuICBnZXQgY2FuU2V0KCk6IFByb3h5UXVlcnkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NhblNldDtcclxuICB9XHJcblxyXG5cclxuICBzZXQgaXNDdXN0b20oZm46IFByb3h5UXVlcnkpIHtcclxuICAgIHRoaXMuX2lzQ3VzdG9tID0gZm47XHJcbiAgfVxyXG5cclxuICBnZXQgaXNDdXN0b20oKTogUHJveHlRdWVyeSB7XHJcbiAgICByZXR1cm4gdGhpcy5faXNDdXN0b207XHJcbiAgfVxyXG5cclxuXHJcbiAgc2V0IGdldEN1c3RvbShmbjogUHJveHlHZXR0ZXIpIHtcclxuICAgIHRoaXMuX2dldEN1c3RvbSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGdldEN1c3RvbSgpOiBQcm94eUdldHRlciB7XHJcbiAgICByZXR1cm4gdGhpcy5fZ2V0Q3VzdG9tO1xyXG4gIH1cclxuXHJcblxyXG4gIHB1YmxpYyBsb2c6IGJvb2xlYW4gPSBmYWxzZTtcclxufVxyXG5cclxuIl19
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJveHkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zaXJpby9zcmMvbGliL3NlcnZpY2VzL3Byb3h5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFM0MsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBS3RDLE1BQU0sT0FBTyxZQUFZO0lBRXZCLGdCQUFnQixDQUFDO0lBRWpCLFFBQVEsQ0FBQyxRQUFhLEVBQUUsVUFBK0IsSUFBSTtRQUN6RCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRU8sV0FBVyxDQUFDLFFBQWEsRUFBRSxJQUFhLEVBQzVDLFVBQStCLElBQUk7UUFFckMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2QsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQztRQUVELE9BQU8sSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQ3pCLEdBQUcsRUFBRSxDQUFDLE1BQVcsRUFBRSxRQUFRLEVBQUUsRUFBRTtnQkFFN0IsSUFBSSxRQUFRLEtBQUssUUFBUSxFQUFFLENBQUM7b0JBQzFCLE9BQU8sSUFBSSxDQUFDO2dCQUNkLENBQUM7Z0JBRUQsSUFBSSxLQUFLLEdBQUcsU0FBUyxDQUFDO2dCQUV0QixJQUFJLElBQUksSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLE1BQU0sSUFBSSxRQUFRLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUNwRSxLQUFLLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDeEQsQ0FBQztxQkFDSSxJQUFJLE9BQU8sSUFBSSxPQUFPLENB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RyxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBR0QsSUFBSSxRQUFRLENBQUMsRUFBYztRQUN6QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFHRCxJQUFJLFNBQVMsQ0FBQyxFQUFlO1FBQzNCLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUdNLEdBQUcsR0FBWSxLQUFLLENBQUM7Q0FDN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5jb25zdCBJU19QUk9YWSA9IFN5bWJvbChcIl9faXNQcm94eSRcIik7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcm94eVNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBnZXRQcm94eShpbnN0YW5jZTogYW55LCBvcHRpb25zOiBQcm94eU9wdGlvbnMgfCBudWxsID0gbnVsbCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5jcmVhdGVQcm94eShpbnN0YW5jZSwgdHJ1ZSwgb3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZVByb3h5KGluc3RhbmNlOiBhbnksIHJvb3Q6IGJvb2xlYW5cclxuICAgICwgb3B0aW9uczogUHJveHlPcHRpb25zIHwgbnVsbCA9IG51bGwpOiBhbnkge1xyXG5cclxuICAgIGlmICghaW5zdGFuY2UpIHtcclxuICAgICAgcmV0dXJuIGluc3RhbmNlO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBuZXcgUHJveHkoaW5zdGFuY2UsIHtcclxuICAgICAgZ2V0OiAodGFyZ2V0OiBhbnksIHByb3BlcnR5KSA9PiB7XHJcblxyXG4gICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gSVNfUFJPWFkpIHtcclxuICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGV0IHZhbHVlID0gdW5kZWZpbmVkO1xyXG5cclxuICAgICAgICBpZiAocm9vdCAmJiBvcHRpb25zICYmIG9wdGlvbnMuZXh0ZW5kICYmIHByb3BlcnR5IGluIG9wdGlvbnMuZXh0ZW5kKSB7XHJcbiAgICAgICAgICB2YWx1ZSA9IFJlZmxlY3QuZ2V0KG9wdGlvbnMuZXh0ZW5kLCBwcm9wZXJ0eSwgdGFyZ2V0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAob3B0aW9ucyAmJiBvcHRpb25zLmlzQ3VzdG9tICYmIG9wdGlvbnMuZ2V0Q3VzdG9tICYmIG9wdGlvbnMuaXNDdXN0b20odGFyZ2V0LCBwcm9wZXJ0eSwgcm9vdCkpIHtcclxuICAgICAgICAgIHZhbHVlID0gb3B0aW9ucy5nZXRDdXN0b20odGFyZ2V0LCBwcm9wZXJ0eSwgcm9vdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKHByb3BlcnR5IGluIHRhcmdldCkge1xyXG4gICAgICAgICAgdmFsdWUgPSBSZWZsZWN0LmdldCh0YXJnZXQsIHByb3BlcnR5LCB0YXJnZXQpOyAgICAgICAgICBcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChvcHRpb25zPy5sb2cpIHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKHRhcmdldCwgcHJvcGVydHksIHZhbHVlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmlzUHJveHkodmFsdWUpKVxyXG4gICAgICAgICAgcmV0dXJuIHZhbHVlO1xyXG5cclxuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVGdW5jdGlvbih2YWx1ZSwgdGFyZ2V0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlUHJveHkodmFsdWUsIGZhbHNlLCBvcHRpb25zKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB2YWx1ZTtcclxuICAgICAgfSxcclxuICAgICAgc2V0OiAodGFyZ2V0LCBwcm9wZXJ0eSwgdmFsdWUpID0+IHtcclxuICAgICAgICBpZiAob3B0aW9ucyAmJiBvcHRpb25zLmNhblNldCAmJiAhb3B0aW9ucy5jYW5TZXQodGFyZ2V0LCBwcm9wZXJ0eSwgcm9vdCkpIHtcclxuICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICByZXR1cm4gUmVmbGVjdC5zZXQodGFyZ2V0LCBwcm9wZXJ0eSwgdmFsdWUsIHRhcmdldCk7XHJcbiAgICAgICAgfSAgICAgICAgXHJcbiAgICAgIH0sXHJcbiAgICAgIGRlbGV0ZVByb3BlcnR5OiAodGFyZ2V0LCBwcm9wZXJ0eSkgPT4ge1xyXG4gICAgICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMuY2FuRGVsZXRlICYmICFvcHRpb25zLmNhbkRlbGV0ZSh0YXJnZXQsIHByb3BlcnR5LCByb290KSkge1xyXG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChwcm9wZXJ0eSBpbiB0YXJnZXQpIHtcclxuICAgICAgICAgIHJldHVybiBkZWxldGUgdGFyZ2V0W3Byb3BlcnR5XTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICBoYXM6ICh0YXJnZXQsIHByb3BlcnR5KSA9PiB7XHJcbiAgICAgICAgaWYgKHJvb3QgJiYgb3B0aW9ucyAmJiBvcHRpb25zLmV4dGVuZCAmJiBwcm9wZXJ0eSBpbiBvcHRpb25zLmV4dGVuZCkge1xyXG4gICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKG9wdGlvbnMgJiYgb3B0aW9ucy5pc0N1c3RvbSAmJiBvcHRpb25zLmlzQ3VzdG9tKHRhcmdldCwgcHJvcGVydHksIHJvb3QpKSB7XHJcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAocHJvcGVydHkgaW4gdGFyZ2V0KSB7XHJcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZUZ1bmN0aW9uKGZuOiBGdW5jdGlvbiwgdGFyZ2V0OiBhbnkpOiBGdW5jdGlvbiB7XHJcbiAgICByZXR1cm4gKC4uLmFyZ3M6IGFueSkgPT4ge1xyXG4gICAgICByZXR1cm4gZm4uYmluZCh0YXJnZXQpKC4uLmFyZ3MpO1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNQcm94eShvYmo6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIG9iaiAmJiBvYmpbSVNfUFJPWFldID09PSB0cnVlOyAgICBcclxuICB9XHJcbn1cclxuXHJcbnR5cGUgUHJveHlRdWVyeSA9ICh0YXJnZXQ6IGFueSwgcHJvcGVydHk6IHN0cmluZyB8IHN5bWJvbCwgcm9vdDogYm9vbGVhbikgPT4gYm9vbGVhbjtcclxuXHJcbnR5cGUgUHJveHlHZXR0ZXIgPSAodGFyZ2V0OiBhbnksIHByb3BlcnR5OiBzdHJpbmcgfCBzeW1ib2wsIHJvb3Q6IGJvb2xlYW4pID0+IGFueTtcclxuXHJcbmV4cG9ydCBjbGFzcyBQcm94eU9wdGlvbnMge1xyXG4gIHByaXZhdGUgX2NhbkRlbGV0ZTogUHJveHlRdWVyeSA9ICgpID0+IHRydWU7XHJcbiAgcHJpdmF0ZSBfY2FuU2V0OiBQcm94eVF1ZXJ5ID0gKCkgPT4gdHJ1ZTtcclxuICBwcml2YXRlIF9pc0N1c3RvbTogUHJveHlRdWVyeSA9ICgpID0+IGZhbHNlO1xyXG4gIHByaXZhdGUgX2dldEN1c3RvbTogUHJveHlHZXR0ZXIgPSAoKSA9PiB1bmRlZmluZWQ7XHJcbiAgcHJpdmF0ZSBfZXh0ZW5kOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0gKCkgPT4gdW5kZWZpbmVkO1xyXG5cclxuICBzZXQgZXh0ZW5kKGZuOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KSB7XHJcbiAgICB0aGlzLl9leHRlbmQgPSBmbjtcclxuICB9XHJcblxyXG4gIGdldCBleHRlbmQoKTogUmVjb3JkPHN0cmluZywgYW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5fZXh0ZW5kO1xyXG4gIH1cclxuXHJcblxyXG4gIHNldCBjYW5EZWxldGUoZm46IFByb3h5UXVlcnkpIHtcclxuICAgIHRoaXMuX2NhbkRlbGV0ZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGNhbkRlbGV0ZSgpOiBQcm94eVF1ZXJ5IHtcclxuICAgIHJldHVybiB0aGlzLl9jYW5EZWxldGU7XHJcbiAgfVxyXG5cclxuXHJcbiAgc2V0IGNhblNldChmbjogUHJveHlRdWVyeSkge1xyXG4gICAgdGhpcy5fY2FuU2V0ID0gZm47XHJcbiAgfVxyXG5cclxuICBnZXQgY2FuU2V0KCk6IFByb3h5UXVlcnkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NhblNldDtcclxuICB9XHJcblxyXG5cclxuICBzZXQgaXNDdXN0b20oZm46IFByb3h5UXVlcnkpIHtcclxuICAgIHRoaXMuX2lzQ3VzdG9tID0gZm47XHJcbiAgfVxyXG5cclxuICBnZXQgaXNDdXN0b20oKTogUHJveHlRdWVyeSB7XHJcbiAgICByZXR1cm4gdGhpcy5faXNDdXN0b207XHJcbiAgfVxyXG5cclxuXHJcbiAgc2V0IGdldEN1c3RvbShmbjogUHJveHlHZXR0ZXIpIHtcclxuICAgIHRoaXMuX2dldEN1c3RvbSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGdldEN1c3RvbSgpOiBQcm94eUdldHRlciB7XHJcbiAgICByZXR1cm4gdGhpcy5fZ2V0Q3VzdG9tO1xyXG4gIH1cclxuXHJcblxyXG4gIHB1YmxpYyBsb2c6IGJvb2xlYW4gPSBmYWxzZTtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUHJveHlDb25maWdGbiA9IChvcHRpb25zOiBQcm94eU9wdGlvbnMpID0+IHZvaWQ7XHJcbiJdfQ==
@@ -25,6 +25,9 @@ export class SanitizeService {
25
25
  sanitizeSafeUrl(url) {
26
26
  return this.sanitizer.bypassSecurityTrustResourceUrl(url);
27
27
  }
28
+ toString(safeHtml) {
29
+ return this.sanitizer.sanitize(1, safeHtml) || '';
30
+ }
28
31
  sanitizeOption;
29
32
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SanitizeService, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Injectable });
30
33
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SanitizeService, providedIn: 'root' });
@@ -35,4 +38,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
35
38
  providedIn: 'root'
36
39
  }]
37
40
  }], ctorParameters: () => [{ type: i1.DomSanitizer }] });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FuaXRpemUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zaXJpby9zcmMvbGliL3NlcnZpY2VzL3Nhbml0aXplLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLFlBQVksTUFBTSxlQUFlLENBQUM7OztBQUt6QyxNQUFNLE9BQU8sZUFBZTtJQUVOO0lBQXBCLFlBQW9CLFNBQXVCO1FBQXZCLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFFekMsSUFBSSxDQUFDLGNBQWMsR0FBRztZQUNwQixXQUFXLEVBQUUsWUFBWSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDOUQsaUJBQWlCLEVBQUU7Z0JBQ2pCLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUI7Z0JBQzFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQzthQUNmO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxZQUFZLENBQUMsSUFBWTtRQUN2QixPQUFPLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFBQSxDQUFDO0lBRUYsZ0JBQWdCLENBQUMsSUFBWTtRQUMzQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFBQSxDQUFDO0lBRUYsZUFBZSxDQUFDLEdBQVc7UUFDekIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLDhCQUE4QixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFTyxjQUFjLENBQXlCO3dHQXpCcEMsZUFBZTs0R0FBZixlQUFlLGNBRmQsTUFBTTs7NEZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwsIFNhZmVSZXNvdXJjZVVybCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgc2FuaXRpemVIdG1sIGZyb20gJ3Nhbml0aXplLWh0bWwnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU2FuaXRpemVTZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcilcclxuICB7XHJcbiAgICB0aGlzLnNhbml0aXplT3B0aW9uID0ge1xyXG4gICAgICBhbGxvd2VkVGFnczogc2FuaXRpemVIdG1sLmRlZmF1bHRzLmFsbG93ZWRUYWdzLmNvbmNhdChbJ2ltZyddKSxcclxuICAgICAgYWxsb3dlZEF0dHJpYnV0ZXM6IHtcclxuICAgICAgICAuLi5zYW5pdGl6ZUh0bWwuZGVmYXVsdHMuYWxsb3dlZEF0dHJpYnV0ZXMsXHJcbiAgICAgICAgJyonOiBbJ3N0eWxlJ11cclxuICAgICAgfVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHNhbml0aXplSHRtbChodG1sOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHNhbml0aXplSHRtbChodG1sLCB0aGlzLnNhbml0aXplT3B0aW9uKTtcclxuICB9O1xyXG5cclxuICBzYW5pdGl6ZVNhZmVIdG1sKGh0bWw6IHN0cmluZyk6IFNhZmVIdG1sIHtcclxuICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbCh0aGlzLnNhbml0aXplSHRtbChodG1sKSk7XHJcbiAgfTtcclxuXHJcbiAgc2FuaXRpemVTYWZlVXJsKHVybDogc3RyaW5nKTogU2FmZVJlc291cmNlVXJsIHtcclxuICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwodXJsKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2FuaXRpemVPcHRpb24hOiBzYW5pdGl6ZUh0bWwuSU9wdGlvbnM7XHJcbn1cclxuIl19
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FuaXRpemUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zaXJpby9zcmMvbGliL3NlcnZpY2VzL3Nhbml0aXplLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLFlBQVksTUFBTSxlQUFlLENBQUM7OztBQUt6QyxNQUFNLE9BQU8sZUFBZTtJQUVOO0lBQXBCLFlBQW9CLFNBQXVCO1FBQXZCLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFFekMsSUFBSSxDQUFDLGNBQWMsR0FBRztZQUNwQixXQUFXLEVBQUUsWUFBWSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDOUQsaUJBQWlCLEVBQUU7Z0JBQ2pCLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUI7Z0JBQzFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQzthQUNmO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxZQUFZLENBQUMsSUFBWTtRQUN2QixPQUFPLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFBQSxDQUFDO0lBRUYsZ0JBQWdCLENBQUMsSUFBWTtRQUMzQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFBQSxDQUFDO0lBRUYsZUFBZSxDQUFDLEdBQVc7UUFDekIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLDhCQUE4QixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxRQUFRLENBQUMsUUFBa0I7UUFDekIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFFTyxjQUFjLENBQXlCO3dHQTdCcEMsZUFBZTs0R0FBZixlQUFlLGNBRmQsTUFBTTs7NEZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwsIFNhZmVSZXNvdXJjZVVybCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgc2FuaXRpemVIdG1sIGZyb20gJ3Nhbml0aXplLWh0bWwnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU2FuaXRpemVTZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcilcclxuICB7XHJcbiAgICB0aGlzLnNhbml0aXplT3B0aW9uID0ge1xyXG4gICAgICBhbGxvd2VkVGFnczogc2FuaXRpemVIdG1sLmRlZmF1bHRzLmFsbG93ZWRUYWdzLmNvbmNhdChbJ2ltZyddKSxcclxuICAgICAgYWxsb3dlZEF0dHJpYnV0ZXM6IHtcclxuICAgICAgICAuLi5zYW5pdGl6ZUh0bWwuZGVmYXVsdHMuYWxsb3dlZEF0dHJpYnV0ZXMsXHJcbiAgICAgICAgJyonOiBbJ3N0eWxlJ11cclxuICAgICAgfVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHNhbml0aXplSHRtbChodG1sOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHNhbml0aXplSHRtbChodG1sLCB0aGlzLnNhbml0aXplT3B0aW9uKTtcclxuICB9O1xyXG5cclxuICBzYW5pdGl6ZVNhZmVIdG1sKGh0bWw6IHN0cmluZyk6IFNhZmVIdG1sIHtcclxuICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbCh0aGlzLnNhbml0aXplSHRtbChodG1sKSk7XHJcbiAgfTtcclxuXHJcbiAgc2FuaXRpemVTYWZlVXJsKHVybDogc3RyaW5nKTogU2FmZVJlc291cmNlVXJsIHtcclxuICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwodXJsKTtcclxuICB9XHJcblxyXG4gIHRvU3RyaW5nKHNhZmVIdG1sOiBTYWZlSHRtbCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuc2FuaXRpemUoMSwgc2FmZUh0bWwpIHx8ICcnO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzYW5pdGl6ZU9wdGlvbiE6IHNhbml0aXplSHRtbC5JT3B0aW9ucztcclxufVxyXG4iXX0=
@@ -0,0 +1,33 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class TemplateWrapperComponent {
4
+ template;
5
+ context = {};
6
+ constructor() { }
7
+ getTemplateRef() {
8
+ const result = {
9
+ createEmbeddedView: (context) => {
10
+ return this.template.createEmbeddedView(this.context);
11
+ }
12
+ };
13
+ result.createEmbeddedViewImpl = () => {
14
+ return this.template.createEmbeddedView(this.context);
15
+ };
16
+ return result;
17
+ }
18
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TemplateWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
19
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TemplateWrapperComponent, isStandalone: true, selector: "app-template-wrapper", inputs: { template: "template", context: "context" }, ngImport: i0, template: '', isInline: true });
20
+ }
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TemplateWrapperComponent, decorators: [{
22
+ type: Component,
23
+ args: [{
24
+ selector: 'app-template-wrapper',
25
+ template: '',
26
+ standalone: true
27
+ }]
28
+ }], ctorParameters: () => [], propDecorators: { template: [{
29
+ type: Input
30
+ }], context: [{
31
+ type: Input
32
+ }] } });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtd3JhcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2lyaW8vc3JjL2xpYi9zaGFyZWQvdGVtcGxhdGUtd3JhcHBlci90ZW1wbGF0ZS13cmFwcGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBZSxNQUFNLGVBQWUsQ0FBQzs7QUFPOUQsTUFBTSxPQUFPLHdCQUF3QjtJQUMxQixRQUFRLENBQW9CO0lBQzVCLE9BQU8sR0FBUSxFQUFFLENBQUM7SUFFM0IsZ0JBQWdCLENBQUM7SUFFakIsY0FBYztRQUNaLE1BQU0sTUFBTSxHQUFHO1lBQ2Isa0JBQWtCLEVBQUUsQ0FBQyxPQUFZLEVBQUUsRUFBRTtnQkFDbkMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN4RCxDQUFDO1NBQ2tCLENBQUM7UUFFckIsTUFBYyxDQUFDLHNCQUFzQixHQUFHLEdBQUcsRUFBRTtZQUM1QyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hELENBQUMsQ0FBQTtRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7d0dBbEJVLHdCQUF3Qjs0RkFBeEIsd0JBQXdCLHNJQUh6QixFQUFFOzs0RkFHRCx3QkFBd0I7a0JBTHBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsUUFBUSxFQUFFLEVBQUU7b0JBQ1osVUFBVSxFQUFFLElBQUk7aUJBQ2pCO3dEQUVVLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXRlbXBsYXRlLXdyYXBwZXInLFxyXG4gIHRlbXBsYXRlOiAnJyxcclxuICBzdGFuZGFsb25lOiB0cnVlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUZW1wbGF0ZVdyYXBwZXJDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIHRlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55PjtcclxuICBASW5wdXQoKSBjb250ZXh0OiBhbnkgPSB7fTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgZ2V0VGVtcGxhdGVSZWYoKTogVGVtcGxhdGVSZWY8YW55PiB7XHJcbiAgICBjb25zdCByZXN1bHQgPSB7XHJcbiAgICAgIGNyZWF0ZUVtYmVkZGVkVmlldzogKGNvbnRleHQ6IGFueSkgPT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnRlbXBsYXRlLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLmNvbnRleHQpO1xyXG4gICAgICB9XHJcbiAgICB9IGFzIFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gICAgKHJlc3VsdCBhcyBhbnkpLmNyZWF0ZUVtYmVkZGVkVmlld0ltcGwgPSAoKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLnRlbXBsYXRlLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLmNvbnRleHQpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfSAgXHJcbn1cclxuIl19
@@ -1,5 +1,9 @@
1
1
  import { Component } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { SirioButtonComponent } from 'ngx-sirio-lib';
2
4
  import * as i0 from "@angular/core";
5
+ import * as i1 from "../services/programmability.service";
6
+ import * as i2 from "@angular/common";
3
7
  export class ObjectURLRendererComponent {
4
8
  params;
5
9
  agInit(params) {
@@ -16,13 +20,11 @@ export class ObjectURLRendererComponent {
16
20
  return false;
17
21
  }
18
22
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ObjectURLRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
19
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ObjectURLRendererComponent, selector: "ng-component", ngImport: i0, template: `<a aria-label="View" title="View" href="javascript:void(0)" (click)="onClick($event)"><span class="fas fa-paperclip"></span></a>`, isInline: true });
23
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ObjectURLRendererComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<a aria-label=\"View\" title=\"View\" href=\"javascript:void(0)\" (click)=\"onClick($event)\">\r\n <span class=\"fas fa-paperclip\"></span>\r\n</a>\r\n" });
20
24
  }
21
25
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ObjectURLRendererComponent, decorators: [{
22
26
  type: Component,
23
- args: [{
24
- template: `<a aria-label="View" title="View" href="javascript:void(0)" (click)="onClick($event)"><span class="fas fa-paperclip"></span></a>`,
25
- }]
27
+ args: [{ standalone: true, template: "<a aria-label=\"View\" title=\"View\" href=\"javascript:void(0)\" (click)=\"onClick($event)\">\r\n <span class=\"fas fa-paperclip\"></span>\r\n</a>\r\n" }]
26
28
  }] });
27
29
  export class DeleteRowCellRenderer {
28
30
  params;
@@ -38,12 +40,62 @@ export class DeleteRowCellRenderer {
38
40
  return false;
39
41
  }
40
42
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DeleteRowCellRenderer, deps: [], target: i0.ɵɵFactoryTarget.Component });
41
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DeleteRowCellRenderer, selector: "ng-component", ngImport: i0, template: `<button aria-label="Remove" title="Remove" class="sirio-btn sirio-btn-icon" (click)="onClick($event)"><span class="fas fa-trash"></span></button>`, isInline: true });
43
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DeleteRowCellRenderer, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<button aria-label=\"Remove\" title=\"Remove\" class=\"sirio-btn sirio-btn-icon\" (click)=\"onClick($event)\">\r\n <span class=\"fas fa-trash\"></span>\r\n</button>\r\n" });
42
44
  }
43
45
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DeleteRowCellRenderer, decorators: [{
44
46
  type: Component,
45
- args: [{
46
- template: `<button aria-label="Remove" title="Remove" class="sirio-btn sirio-btn-icon" (click)="onClick($event)"><span class="fas fa-trash"></span></button>`,
47
- }]
47
+ args: [{ standalone: true, template: "<button aria-label=\"Remove\" title=\"Remove\" class=\"sirio-btn sirio-btn-icon\" (click)=\"onClick($event)\">\r\n <span class=\"fas fa-trash\"></span>\r\n</button>\r\n" }]
48
48
  }] });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZENlbGxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpcmlvL3NyYy9saWIvdXRpbHMvZ3JpZENlbGxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTzFDLE1BQU0sT0FBTywwQkFBMEI7SUFDckMsTUFBTSxDQUF1QjtJQUU3QixNQUFNLENBQUMsTUFBMkI7UUFDaEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFZO1FBQ2xCLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0RCxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztRQUMvQixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsR0FBRyxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvQixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzt3R0FqQlUsMEJBQTBCOzRGQUExQiwwQkFBMEIsb0RBRjNCLGtJQUFrSTs7NEZBRWpJLDBCQUEwQjtrQkFIdEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsa0lBQWtJO2lCQUM3STs7QUF3QkQsTUFBTSxPQUFPLHFCQUFxQjtJQUNoQyxNQUFNLENBQU07SUFFWixNQUFNLENBQUMsTUFBVztRQUNoQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQVk7UUFFbEIsSUFBSSxRQUFRLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDbEYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDNUIsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPO1FBQ0wsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO3dHQWhCVSxxQkFBcUI7NEZBQXJCLHFCQUFxQixvREFGdEIsbUpBQW1KOzs0RkFFbEoscUJBQXFCO2tCQUhqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtSkFBbUo7aUJBQzlKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IElDZWxsUmVuZGVyZXJBbmd1bGFyQ29tcCB9IGZyb20gJ2FnLWdyaWQtYW5ndWxhcic7XHJcbmltcG9ydCB7IElDZWxsUmVuZGVyZXJQYXJhbXMgfSBmcm9tICdhZy1ncmlkLWNvbW11bml0eSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogYDxhIGFyaWEtbGFiZWw9XCJWaWV3XCIgdGl0bGU9XCJWaWV3XCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIChjbGljayk9XCJvbkNsaWNrKCRldmVudClcIj48c3BhbiBjbGFzcz1cImZhcyBmYS1wYXBlcmNsaXBcIj48L3NwYW4+PC9hPmAsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBPYmplY3RVUkxSZW5kZXJlckNvbXBvbmVudCBpbXBsZW1lbnRzIElDZWxsUmVuZGVyZXJBbmd1bGFyQ29tcCB7XHJcbiAgcGFyYW1zITogSUNlbGxSZW5kZXJlclBhcmFtcztcclxuXHJcbiAgYWdJbml0KHBhcmFtczogSUNlbGxSZW5kZXJlclBhcmFtcyk6IHZvaWQge1xyXG4gICAgdGhpcy5wYXJhbXMgPSBwYXJhbXM7XHJcbiAgfVxyXG5cclxuICBvbkNsaWNrKGV2ZW50OiBFdmVudCkge1xyXG4gICAgY29uc3QgZmlsZVVSTCA9IFVSTC5jcmVhdGVPYmplY3RVUkwodGhpcy5wYXJhbXMuZGF0YSk7XHJcbiAgICB3aW5kb3cub3BlbihmaWxlVVJMLCAnX2JsYW5rJyk7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgVVJMLnJldm9rZU9iamVjdFVSTChmaWxlVVJMKTtcclxuICAgIH0sIDEwMDApO1xyXG4gIH1cclxuXHJcbiAgcmVmcmVzaCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHRlbXBsYXRlOiBgPGJ1dHRvbiBhcmlhLWxhYmVsPVwiUmVtb3ZlXCIgdGl0bGU9XCJSZW1vdmVcIiBjbGFzcz1cInNpcmlvLWJ0biBzaXJpby1idG4taWNvblwiIChjbGljayk9XCJvbkNsaWNrKCRldmVudClcIj48c3BhbiBjbGFzcz1cImZhcyBmYS10cmFzaFwiPjwvc3Bhbj48L2J1dHRvbj5gLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGVsZXRlUm93Q2VsbFJlbmRlcmVyIGltcGxlbWVudHMgSUNlbGxSZW5kZXJlckFuZ3VsYXJDb21wIHtcclxuICBwYXJhbXM6IGFueTtcclxuXHJcbiAgYWdJbml0KHBhcmFtczogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnBhcmFtcyA9IHBhcmFtcztcclxuICB9XHJcblxyXG4gIG9uQ2xpY2soZXZlbnQ6IEV2ZW50KSB7XHJcblxyXG4gICAgaWYgKCdyZW1vdmUnIGluIHRoaXMucGFyYW1zLmRhdGEgJiYgdHlwZW9mIHRoaXMucGFyYW1zLmRhdGEucmVtb3ZlID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIHRoaXMucGFyYW1zLmRhdGEucmVtb3ZlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZWZyZXNoKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxufVxyXG4iXX0=
49
+ export class ActionsCellRenderer {
50
+ programmability;
51
+ constructor(programmability) {
52
+ this.programmability = programmability;
53
+ }
54
+ params;
55
+ agInit(params) {
56
+ this.params = params;
57
+ }
58
+ refresh() {
59
+ return false;
60
+ }
61
+ evaluateBoolean(value) {
62
+ const options = {
63
+ proxyFn: (options) => {
64
+ options.extend["getParams"] = () => this.params;
65
+ options.extend["getData"] = () => this.getData();
66
+ }
67
+ };
68
+ return this.programmability.evaluateBoolean(this.getFormGroup(), value, options);
69
+ }
70
+ evaluateString(value) {
71
+ return this.programmability.evaluateString(this.getFormGroup(), value);
72
+ }
73
+ clickButton(action, event) {
74
+ if (action.click) {
75
+ const options = {
76
+ cacheable: false,
77
+ proxyFn: (options) => {
78
+ options.extend["getParams"] = () => this.params;
79
+ options.extend["getAction"] = () => action;
80
+ options.extend["getData"] = () => this.getData();
81
+ }
82
+ };
83
+ return this.programmability.evaluate(this.getFormGroup(), action.click, options);
84
+ }
85
+ }
86
+ getData() {
87
+ return this.params.data;
88
+ }
89
+ getFormGroup() {
90
+ return this.params.formGroup;
91
+ }
92
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionsCellRenderer, deps: [{ token: i1.ProgrammabilityService }], target: i0.ɵɵFactoryTarget.Component });
93
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ActionsCellRenderer, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<ng-container *ngFor=\"let action of params.component.actions\">\r\n <ngx-sirio-button class=\"btn-small\"\r\n [ariaLabel]=\"evaluateString(action.label)\"\r\n [title]=\"evaluateString(action.label)\"\r\n [color]=\"null\"\r\n [disabled]=\"evaluateBoolean(action.disabled)\"\r\n (clickEvent)=\"clickButton(action, $event)\"\r\n [icon]=\"evaluateString(action.icon)\">\r\n </ngx-sirio-button>\r\n</ng-container>\r\n\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: SirioButtonComponent, selector: "ngx-sirio-button", inputs: ["ariaExpanded", "ariaControls", "ariaActivedescendant", "ariaHaspopup", "ariaLabel", "ariaRequired", "ariaInvalid", "ariaDescribedby", "icon", "title", "role", "color", "isFloating", "isExtended", "isLight", "isSmall", "disabled", "isDropdown", "type", "dismissType", "isBtnBlock"], outputs: ["clickEvent", "focusEvent", "blurEvent"] }] });
94
+ }
95
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionsCellRenderer, decorators: [{
96
+ type: Component,
97
+ args: [{ standalone: true, imports: [
98
+ CommonModule, SirioButtonComponent
99
+ ], template: "<ng-container *ngFor=\"let action of params.component.actions\">\r\n <ngx-sirio-button class=\"btn-small\"\r\n [ariaLabel]=\"evaluateString(action.label)\"\r\n [title]=\"evaluateString(action.label)\"\r\n [color]=\"null\"\r\n [disabled]=\"evaluateBoolean(action.disabled)\"\r\n (clickEvent)=\"clickButton(action, $event)\"\r\n [icon]=\"evaluateString(action.icon)\">\r\n </ngx-sirio-button>\r\n</ng-container>\r\n\r\n" }]
100
+ }], ctorParameters: () => [{ type: i1.ProgrammabilityService }] });
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZENlbGxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpcmlvL3NyYy9saWIvdXRpbHMvZ3JpZENlbGxzLnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpcmlvL3NyYy9saWIvdXRpbHMvY2VsbC10ZW1wbGF0ZXMvb2JqZWN0VXJsLmNvbXBvbmVudC5odG1sIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpcmlvL3NyYy9saWIvdXRpbHMvY2VsbC10ZW1wbGF0ZXMvZGVsZXRlLmNvbXBvbmVudC5odG1sIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpcmlvL3NyYy9saWIvdXRpbHMvY2VsbC10ZW1wbGF0ZXMvYWN0aW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUcvQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFTckQsTUFBTSxPQUFPLDBCQUEwQjtJQUNyQyxNQUFNLENBQXVCO0lBRTdCLE1BQU0sQ0FBQyxNQUEyQjtRQUNoQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQVk7UUFDbEIsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RELE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQy9CLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxHQUFHLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQy9CLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNY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Q0FBQztJQUUxQixDQUFDO0lBRU8sWUFBWTtRQUNsQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBc0IsQ0FBQztJQUM1QyxDQUFDO3dHQXJEVSxtQkFBbUI7NEZBQW5CLG1CQUFtQix3RUcvRGhDLHVoQkFXQSwyQ0hpREksWUFBWSw0SkFBRSxvQkFBb0I7OzRGQUd6QixtQkFBbUI7a0JBUC9CLFNBQVM7aUNBRUksSUFBSSxXQUNQO3dCQUNQLFlBQVksRUFBRSxvQkFBb0I7cUJBQ25DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IElDZWxsUmVuZGVyZXJBbmd1bGFyQ29tcCB9IGZyb20gJ2FnLWdyaWQtYW5ndWxhcic7XHJcbmltcG9ydCB7IElDZWxsUmVuZGVyZXJQYXJhbXMgfSBmcm9tICdhZy1ncmlkLWNvbW11bml0eSc7XHJcbmltcG9ydCB7IFNpcmlvQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnbmd4LXNpcmlvLWxpYic7XHJcbmltcG9ydCB7IFByb2dyYW1tYWJpbGl0eVNlcnZpY2UsIEV2YWx1YXRlT3B0aW9ucyB9IGZyb20gJy4uL3NlcnZpY2VzL3Byb2dyYW1tYWJpbGl0eS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBQcm94eU9wdGlvbnMsIFByb3h5Q29uZmlnRm4gfSBmcm9tICcuLi9zZXJ2aWNlcy9wcm94eS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHRlbXBsYXRlVXJsOiAnLi9jZWxsLXRlbXBsYXRlcy9vYmplY3RVcmwuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIE9iamVjdFVSTFJlbmRlcmVyQ29tcG9uZW50IGltcGxlbWVudHMgSUNlbGxSZW5kZXJlckFuZ3VsYXJDb21wIHtcclxuICBwYXJhbXMhOiBJQ2VsbFJlbmRlcmVyUGFyYW1zO1xyXG5cclxuICBhZ0luaXQocGFyYW1zOiBJQ2VsbFJlbmRlcmVyUGFyYW1zKTogdm9pZCB7XHJcbiAgICB0aGlzLnBhcmFtcyA9IHBhcmFtcztcclxuICB9XHJcblxyXG4gIG9uQ2xpY2soZXZlbnQ6IEV2ZW50KSB7XHJcbiAgICBjb25zdCBmaWxlVVJMID0gVVJMLmNyZWF0ZU9iamVjdFVSTCh0aGlzLnBhcmFtcy5kYXRhKTtcclxuICAgIHdpbmRvdy5vcGVuKGZpbGVVUkwsICdfYmxhbmsnKTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBVUkwucmV2b2tlT2JqZWN0VVJMKGZpbGVVUkwpO1xyXG4gICAgfSwgMTAwMCk7XHJcbiAgfVxyXG5cclxuICByZWZyZXNoKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NlbGwtdGVtcGxhdGVzL2RlbGV0ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGVsZXRlUm93Q2VsbFJlbmRlcmVyIGltcGxlbWVudHMgSUNlbGxSZW5kZXJlckFuZ3VsYXJDb21wIHtcclxuICBwYXJhbXM6IGFueTtcclxuXHJcbiAgYWdJbml0KHBhcmFtczogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnBhcmFtcyA9IHBhcmFtcztcclxuICB9XHJcblxyXG4gIG9uQ2xpY2soZXZlbnQ6IEV2ZW50KSB7XHJcblxyXG4gICAgaWYgKCdyZW1vdmUnIGluIHRoaXMucGFyYW1zLmRhdGEgJiYgdHlwZW9mIHRoaXMucGFyYW1zLmRhdGEucmVtb3ZlID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIHRoaXMucGFyYW1zLmRhdGEucmVtb3ZlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZWZyZXNoKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NlbGwtdGVtcGxhdGVzL2FjdGlvbnMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLCBTaXJpb0J1dHRvbkNvbXBvbmVudFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFjdGlvbnNDZWxsUmVuZGVyZXIgaW1wbGVtZW50cyBJQ2VsbFJlbmRlcmVyQW5ndWxhckNvbXAge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHByb2dyYW1tYWJpbGl0eTogUHJvZ3JhbW1hYmlsaXR5U2VydmljZSkgeyB9XHJcblxyXG4gIHBhcmFtczogYW55O1xyXG5cclxuICBhZ0luaXQocGFyYW1zOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMucGFyYW1zID0gcGFyYW1zO1xyXG4gIH1cclxuXHJcbiAgcmVmcmVzaCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIGV2YWx1YXRlQm9vbGVhbih2YWx1ZTogYm9vbGVhbiB8IHN0cmluZyB8IG51bGwpOiBib29sZWFuIHwgbnVsbCB7XHJcblxyXG4gICAgY29uc3Qgb3B0aW9uczogRXZhbHVhdGVPcHRpb25zID0ge1xyXG4gICAgICBwcm94eUZuOiAob3B0aW9uczogUHJveHlPcHRpb25zKSA9PiB7XHJcbiAgICAgICAgb3B0aW9ucy5leHRlbmRbXCJnZXRQYXJhbXNcIl0gPSAoKSA9PiB0aGlzLnBhcmFtcztcclxuICAgICAgICBvcHRpb25zLmV4dGVuZFtcImdldERhdGFcIl0gPSAoKSA9PiB0aGlzLmdldERhdGEoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLnByb2dyYW1tYWJpbGl0eS5ldmFsdWF0ZUJvb2xlYW4odGhpcy5nZXRGb3JtR3JvdXAoKSwgdmFsdWUsIG9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgZXZhbHVhdGVTdHJpbmcodmFsdWU6IHN0cmluZyB8IG51bGwpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMucHJvZ3JhbW1hYmlsaXR5LmV2YWx1YXRlU3RyaW5nKHRoaXMuZ2V0Rm9ybUdyb3VwKCksIHZhbHVlKTtcclxuICB9XHJcblxyXG4gIGNsaWNrQnV0dG9uKGFjdGlvbjogYW55LCBldmVudDogYW55KSB7XHJcbiAgICBpZiAoYWN0aW9uLmNsaWNrKSB7XHJcblxyXG4gICAgICBjb25zdCBvcHRpb25zOiBFdmFsdWF0ZU9wdGlvbnMgPSB7XHJcbiAgICAgICAgY2FjaGVhYmxlOiBmYWxzZSxcclxuICAgICAgICBwcm94eUZuOiAob3B0aW9uczogUHJveHlPcHRpb25zKSA9PiB7XHJcbiAgICAgICAgICBvcHRpb25zLmV4dGVuZFtcImdldFBhcmFtc1wiXSA9ICgpID0+IHRoaXMucGFyYW1zO1xyXG4gICAgICAgICAgb3B0aW9ucy5leHRlbmRbXCJnZXRBY3Rpb25cIl0gPSAoKSA9PiBhY3Rpb247XHJcbiAgICAgICAgICBvcHRpb25zLmV4dGVuZFtcImdldERhdGFcIl0gPSAoKSA9PiB0aGlzLmdldERhdGEoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiB0aGlzLnByb2dyYW1tYWJpbGl0eS5ldmFsdWF0ZSh0aGlzLmdldEZvcm1Hcm91cCgpLCBhY3Rpb24uY2xpY2ssIG9wdGlvbnMpO1xyXG4gICAgfSAgICBcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0RGF0YSgpOiBhbnkge1xyXG4gICAgcmV0dXJuIHRoaXMucGFyYW1zLmRhdGE7XHJcblxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRGb3JtR3JvdXAoKTogRm9ybUdyb3VwIHtcclxuICAgIHJldHVybiB0aGlzLnBhcmFtcy5mb3JtR3JvdXAgYXMgRm9ybUdyb3VwO1xyXG4gIH1cclxufVxyXG4iLCI8YSBhcmlhLWxhYmVsPVwiVmlld1wiIHRpdGxlPVwiVmlld1wiIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIiAoY2xpY2spPVwib25DbGljaygkZXZlbnQpXCI+XHJcbiAgPHNwYW4gY2xhc3M9XCJmYXMgZmEtcGFwZXJjbGlwXCI+PC9zcGFuPlxyXG48L2E+XHJcbiIsIjxidXR0b24gYXJpYS1sYWJlbD1cIlJlbW92ZVwiIHRpdGxlPVwiUmVtb3ZlXCIgY2xhc3M9XCJzaXJpby1idG4gc2lyaW8tYnRuLWljb25cIiAoY2xpY2spPVwib25DbGljaygkZXZlbnQpXCI+XHJcbiAgPHNwYW4gY2xhc3M9XCJmYXMgZmEtdHJhc2hcIj48L3NwYW4+XHJcbjwvYnV0dG9uPlxyXG4iLCI8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBhY3Rpb24gb2YgcGFyYW1zLmNvbXBvbmVudC5hY3Rpb25zXCI+XHJcbiAgPG5neC1zaXJpby1idXR0b24gY2xhc3M9XCJidG4tc21hbGxcIlxyXG4gICAgICAgICAgICAgICAgICAgIFthcmlhTGFiZWxdPVwiZXZhbHVhdGVTdHJpbmcoYWN0aW9uLmxhYmVsKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cImV2YWx1YXRlU3RyaW5nKGFjdGlvbi5sYWJlbClcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCJudWxsXCJcclxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZXZhbHVhdGVCb29sZWFuKGFjdGlvbi5kaXNhYmxlZClcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGlja0V2ZW50KT1cImNsaWNrQnV0dG9uKGFjdGlvbiwgJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwiZXZhbHVhdGVTdHJpbmcoYWN0aW9uLmljb24pXCI+XHJcbiAgPC9uZ3gtc2lyaW8tYnV0dG9uPlxyXG48L25nLWNvbnRhaW5lcj5cclxuXHJcbiJdfQ==