@ajf/material 15.2.2 → 15.2.4

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 (62) hide show
  1. package/esm2020/form-builder/condition-editor-dialog.mjs +7 -4
  2. package/esm2020/form-builder/condition-editor.mjs +20 -128
  3. package/esm2020/form-builder/form-builder-module.mjs +3 -7
  4. package/esm2020/form-builder/form-builder-service.mjs +3 -2
  5. package/esm2020/form-builder/node-properties.mjs +9 -4
  6. package/esm2020/form-builder/validation-condition-editor-dialog.mjs +7 -4
  7. package/esm2020/form-builder/warning-condition-editor-dialog.mjs +7 -4
  8. package/esm2020/forms/field-service.mjs +8 -3
  9. package/esm2020/forms/form.mjs +3 -3
  10. package/esm2020/forms/forms-module.mjs +8 -1
  11. package/esm2020/forms/geolocation-field.mjs +44 -0
  12. package/esm2020/geolocation/ajf-material-geolocation.mjs +5 -0
  13. package/esm2020/geolocation/geolocation-module.mjs +61 -0
  14. package/esm2020/geolocation/geolocation.mjs +50 -0
  15. package/esm2020/geolocation/public_api.mjs +24 -0
  16. package/esm2020/time/time.mjs +2 -2
  17. package/fesm2015/ajf-material-form-builder.mjs +55 -153
  18. package/fesm2015/ajf-material-form-builder.mjs.map +1 -1
  19. package/fesm2015/ajf-material-forms.mjs +78 -29
  20. package/fesm2015/ajf-material-forms.mjs.map +1 -1
  21. package/fesm2015/ajf-material-geolocation.mjs +136 -0
  22. package/fesm2015/ajf-material-geolocation.mjs.map +1 -0
  23. package/fesm2015/ajf-material-time.mjs +2 -2
  24. package/fesm2020/ajf-material-form-builder.mjs +55 -153
  25. package/fesm2020/ajf-material-form-builder.mjs.map +1 -1
  26. package/fesm2020/ajf-material-forms.mjs +76 -29
  27. package/fesm2020/ajf-material-forms.mjs.map +1 -1
  28. package/fesm2020/ajf-material-geolocation.mjs +136 -0
  29. package/fesm2020/ajf-material-geolocation.mjs.map +1 -0
  30. package/fesm2020/ajf-material-time.mjs +2 -2
  31. package/form-builder/condition-editor-dialog.d.ts +1 -0
  32. package/form-builder/condition-editor.d.ts +5 -8
  33. package/form-builder/form-builder-module.d.ts +25 -26
  34. package/form-builder/validation-condition-editor-dialog.d.ts +1 -0
  35. package/form-builder/warning-condition-editor-dialog.d.ts +1 -0
  36. package/forms/forms-module.d.ts +37 -35
  37. package/{monaco-editor/auto-complete-item-model.d.ts → forms/geolocation-field.d.ts} +8 -13
  38. package/geolocation/geolocation-module.d.ts +13 -0
  39. package/{monaco-editor/editor-theme.d.ts → geolocation/geolocation.d.ts} +9 -5
  40. package/{monaco-editor → geolocation}/index.d.ts +1 -1
  41. package/{monaco-editor → geolocation}/public_api.d.ts +2 -2
  42. package/package.json +10 -10
  43. package/esm2020/monaco-editor/ajf-material-monaco-editor.mjs +0 -5
  44. package/esm2020/monaco-editor/auto-complete-item-model.mjs +0 -49
  45. package/esm2020/monaco-editor/autocomplete-singleton-model.mjs +0 -135
  46. package/esm2020/monaco-editor/editor-language-model.mjs +0 -60
  47. package/esm2020/monaco-editor/editor-options-model.mjs +0 -37
  48. package/esm2020/monaco-editor/editor-scrollbar-options.mjs +0 -23
  49. package/esm2020/monaco-editor/editor-theme.mjs +0 -30
  50. package/esm2020/monaco-editor/monaco-editor-module.mjs +0 -37
  51. package/esm2020/monaco-editor/monaco-editor.mjs +0 -451
  52. package/esm2020/monaco-editor/public_api.mjs +0 -24
  53. package/fesm2015/ajf-material-monaco-editor.mjs +0 -791
  54. package/fesm2015/ajf-material-monaco-editor.mjs.map +0 -1
  55. package/fesm2020/ajf-material-monaco-editor.mjs +0 -791
  56. package/fesm2020/ajf-material-monaco-editor.mjs.map +0 -1
  57. package/monaco-editor/autocomplete-singleton-model.d.ts +0 -55
  58. package/monaco-editor/editor-language-model.d.ts +0 -59
  59. package/monaco-editor/editor-options-model.d.ts +0 -334
  60. package/monaco-editor/editor-scrollbar-options.d.ts +0 -83
  61. package/monaco-editor/monaco-editor-module.d.ts +0 -7
  62. package/monaco-editor/monaco-editor.d.ts +0 -155
@@ -1,451 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright (C) Gnucoop soc. coop.
4
- *
5
- * This file is part of the Advanced JSON forms (ajf).
6
- *
7
- * Advanced JSON forms (ajf) is free software: you can redistribute it and/or
8
- * modify it under the terms of the GNU Affero General Public License as
9
- * published by the Free Software Foundation, either version 3 of the License,
10
- * or (at your option) any later version.
11
- *
12
- * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
13
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
15
- * General Public License for more details.
16
- *
17
- * You should have received a copy of the GNU Affero General Public License
18
- * along with Advanced JSON forms (ajf).
19
- * If not, see http://www.gnu.org/licenses/.
20
- *
21
- */
22
- import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild, ViewEncapsulation, } from '@angular/core';
23
- import { AutoCompleteSingleton } from './autocomplete-singleton-model';
24
- import { IEditorOptions } from './editor-options-model';
25
- import * as i0 from "@angular/core";
26
- export class AjfMonacoEditor {
27
- constructor() {
28
- this.language = 'en';
29
- this.disableAutocomplete = false;
30
- this.autoFormatOnLoad = true;
31
- this.monacoLibPath = 'vs/loader.js';
32
- this.valueChange = new EventEmitter();
33
- this.valueToCompareChange = new EventEmitter();
34
- this.init = new EventEmitter();
35
- this._value = '';
36
- this._valueToCompare = '';
37
- }
38
- set valueToCompare(v) {
39
- if (v !== this._valueToCompare) {
40
- this._valueToCompare = v;
41
- if (this._valueToCompare === void 0 || !this._valueToCompare || !this._editor) {
42
- if (this._editor && this._editor.getEditorType() !== 'vs.editor.ICodeEditor') {
43
- this._initEditor();
44
- return;
45
- }
46
- return;
47
- }
48
- if (!this._value) {
49
- this._value = '';
50
- }
51
- if (this._editor.getEditorType() === 'vs.editor.ICodeEditor') {
52
- this._initEditor();
53
- return;
54
- }
55
- }
56
- }
57
- set value(v) {
58
- if (v !== this._value) {
59
- this._value = v;
60
- if (this._value === void 0 || !this._editor) {
61
- return;
62
- }
63
- if (this._editor.getEditorType() !== 'vs.editor.ICodeEditor') {
64
- this._initEditor();
65
- return;
66
- }
67
- this._editor.setValue(this._value);
68
- }
69
- }
70
- get editor() {
71
- return this._editor;
72
- }
73
- /**
74
- * load Monaco lib
75
- */
76
- ngAfterViewInit() {
77
- let onGotAmdLoader = () => {
78
- // Load monaco
79
- window.require(['vs/editor/editor.main'], () => {
80
- this._initMonaco();
81
- });
82
- };
83
- // Load AMD loader if necessary
84
- if (!window.require) {
85
- let loaderScript = document.createElement('script');
86
- loaderScript.type = 'text/javascript';
87
- loaderScript.src = this.monacoLibPath;
88
- loaderScript.addEventListener('load', onGotAmdLoader);
89
- document.body.appendChild(loaderScript);
90
- }
91
- else {
92
- onGotAmdLoader();
93
- }
94
- }
95
- /**
96
- * Upon destruction of the component we make sure to dispose both the editor and
97
- * the extra libs that we might've loaded
98
- */
99
- ngOnDestroy() {
100
- this.dispose();
101
- }
102
- ngOnChanges(_changes) {
103
- if (this._editor) {
104
- this._editor.updateOptions(this._getOptions());
105
- }
106
- }
107
- /**
108
- * Destroy the monaco componenent
109
- */
110
- dispose() {
111
- let myDiv = this.editorContent.nativeElement;
112
- if (this._editor) {
113
- this._editor.dispose();
114
- while (myDiv.hasChildNodes()) {
115
- if (myDiv.firstChild != null) {
116
- myDiv.firstChild.remove();
117
- }
118
- }
119
- this._editor = null;
120
- }
121
- }
122
- /**
123
- * Triggered when windows is resized
124
- * @param event
125
- */
126
- onResize(_event) {
127
- // Manually set monaco size because MonacoEditor doesn't work with Flexbox css
128
- let myDiv = this.editorContent.nativeElement;
129
- if (myDiv == null || myDiv.parentElement == null) {
130
- return;
131
- }
132
- myDiv.setAttribute('style', `height: ${myDiv.parentElement.offsetHeight}px; width:100%;`);
133
- }
134
- /**
135
- * Init editor
136
- * Is called once monaco library is available
137
- */
138
- _initMonaco() {
139
- this._initEditor();
140
- this.init.emit();
141
- }
142
- _initEditor() {
143
- let myDiv = this.editorContent.nativeElement;
144
- let options = this._getOptions();
145
- this.dispose();
146
- if (!this._valueToCompare) {
147
- this._editor = this._initSimpleEditor(myDiv, options);
148
- }
149
- else {
150
- this._editor = this._initDiffEditor(myDiv, options);
151
- }
152
- // Manually set monaco size because MonacoEditor doesn't work with Flexbox css
153
- if (myDiv != null && myDiv.parentElement != null) {
154
- myDiv.setAttribute('style', `height: ${myDiv.parentElement.offsetHeight}px; width:100%;`);
155
- }
156
- // Init Autocomplete if not disabled
157
- if (!this.disableAutocomplete) {
158
- AutoCompleteSingleton.getInstance().initAutoComplete(this.language);
159
- }
160
- // When content is loaded, scrollChange is trigerred,
161
- // We can only force auto format at this moment, because editor
162
- // doesn't have onReady event ...
163
- // this._editor.onDidScrollChange(() => {
164
- // if (this.autoFormatOnLoad && !this._isCodeFormatted) {
165
- // this._editor.getAction('editor.action.format').run();
166
- // this._isCodeFormatted = true;
167
- // }
168
- // });
169
- // Trigger on change event for simple editor
170
- this._getOriginalModel().onDidChangeContent((_e) => {
171
- let newVal = this._getOriginalModel().getValue();
172
- if (this._value !== newVal) {
173
- this._updateValue(newVal);
174
- }
175
- });
176
- // Trigger on change event for diff editor
177
- if (this._getModifiedModel()) {
178
- this._getModifiedModel().onDidChangeContent((_e) => {
179
- let newVal = this._getModifiedModel().getValue();
180
- if (this._valueToCompare !== newVal) {
181
- this._updateValueToCompare(newVal);
182
- }
183
- });
184
- }
185
- }
186
- /**
187
- * Create a simple editor text
188
- * @param div
189
- * @param options
190
- */
191
- _initSimpleEditor(div, options) {
192
- return monaco.editor.create(div, options);
193
- }
194
- /**
195
- * Create a diff editor to compare two string (_value and _valueToCompare)
196
- * @param div
197
- */
198
- _initDiffEditor(div, options) {
199
- let originalModel = monaco.editor.createModel(this._value, this.language);
200
- let modifiedModel = monaco.editor.createModel(this._valueToCompare, this.language);
201
- let diffEditor = monaco.editor.createDiffEditor(div, options);
202
- diffEditor.setModel({
203
- modified: modifiedModel,
204
- original: originalModel,
205
- });
206
- return diffEditor;
207
- }
208
- _getOptions() {
209
- let options = new IEditorOptions();
210
- options.experimentalScreenReader = this.experimentalScreenReader;
211
- options.ariaLabel = this.ariaLabel;
212
- options.rulers = this.rulers;
213
- options.wordSeparators = this.wordSeparators;
214
- options.selectionClipboard = this.selectionClipboard;
215
- options.lineNumbers = this.lineNumbers;
216
- options.selectOnLineNumbers = this.selectOnLineNumbers;
217
- options.lineNumbersMinChars = this.lineNumbersMinChars;
218
- options.glyphMargin = this.glyphMargin;
219
- options.lineDecorationsWidth = this.lineDecorationsWidth;
220
- options.revealHorizontalRightPadding = this.revealHorizontalRightPadding;
221
- options.roundedSelection = this.roundedSelection;
222
- options.theme = this.theme;
223
- options.readOnly = this.readOnly;
224
- options.scrollbar = this.scrollbar;
225
- options.overviewRulerLanes = this.overviewRulerLanes;
226
- options.cursorBlinking = this.cursorBlinking;
227
- options.mouseWheelZoom = this.mouseWheelZoom;
228
- options.cursorStyle = this.cursorStyle;
229
- options.mouseWheelZoom = this.mouseWheelZoom;
230
- options.fontLigatures = this.fontLigatures;
231
- options.disableTranslate3d = this.disableTranslate3d;
232
- options.hideCursorInOverviewRuler = this.hideCursorInOverviewRuler;
233
- options.scrollBeyondLastLine = this.scrollBeyondLastLine;
234
- options.automaticLayout = this.automaticLayout;
235
- options.wrappingColumn = this.wrappingColumn;
236
- options.wordWrap = this.wordWrap;
237
- options.wrappingIndent = this.wrappingIndent;
238
- options.wordWrapBreakBeforeCharacters = this.wordWrapBreakBeforeCharacters;
239
- options.wordWrapBreakAfterCharacters = this.wordWrapBreakAfterCharacters;
240
- options.wordWrapBreakObtrusiveCharacters = this.wordWrapBreakObtrusiveCharacters;
241
- options.stopRenderingLineAfter = this.stopRenderingLineAfter;
242
- options.hover = this.hover;
243
- options.contextmenu = this.contextmenu;
244
- options.mouseWheelScrollSensitivity = this.mouseWheelScrollSensitivity;
245
- options.quickSuggestions = this.quickSuggestions;
246
- options.quickSuggestionsDelay = this.quickSuggestionsDelay;
247
- options.parameterHints = this.parameterHints;
248
- options.iconsInSuggestions = this.iconsInSuggestions;
249
- options.autoClosingBrackets = this.autoClosingBrackets;
250
- options.formatOnType = this.formatOnType;
251
- options.suggestOnTriggerCharacters = this.suggestOnTriggerCharacters;
252
- options.acceptSuggestionOnEnter = this.acceptSuggestionOnEnter;
253
- options.snippetSuggestions = this.snippetSuggestions;
254
- options.tabCompletion = this.tabCompletion;
255
- options.wordBasedSuggestions = this.wordBasedSuggestions;
256
- options.selectionHighlight = this.selectionHighlight;
257
- options.codeLens = this.codeLens;
258
- options.folding = this.folding;
259
- options.renderWhitespace = this.renderWhitespace;
260
- options.renderControlCharacters = this.renderControlCharacters;
261
- options.renderIndentGuides = this.renderIndentGuides;
262
- options.renderLineHighlight = this.renderLineHighlight;
263
- options.useTabStops = this.useTabStops;
264
- options.fontFamily = this.fontFamily;
265
- options.fontWeight = this.fontWeight;
266
- options.fontSize = this.fontSize;
267
- options.lineHeight = this.lineHeight;
268
- options.value = this._value;
269
- options.language = this.language;
270
- Object.keys(options).forEach(key => {
271
- if (options[key] === undefined) {
272
- delete options[key]; // Remove all undefined properties
273
- }
274
- });
275
- return options;
276
- }
277
- /**
278
- * UpdateValue
279
- *
280
- * @param value
281
- */
282
- _updateValue(value) {
283
- this.value = value;
284
- this._value = value;
285
- this.valueChange.emit(value);
286
- }
287
- /**
288
- * UpdateValue
289
- *
290
- * @param value
291
- */
292
- _updateValueToCompare(value) {
293
- this.valueToCompare = value;
294
- this._valueToCompare = value;
295
- this.valueToCompareChange.emit(value);
296
- }
297
- _getOriginalModel() {
298
- if (this._editor) {
299
- let model = this._editor.getModel();
300
- return model.original ? model.original : model;
301
- }
302
- }
303
- _getModifiedModel() {
304
- if (this._editor) {
305
- let model = this._editor.getModel();
306
- return model.modified ? model.modified : null;
307
- }
308
- }
309
- }
310
- AjfMonacoEditor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AjfMonacoEditor, deps: [], target: i0.ɵɵFactoryTarget.Component });
311
- AjfMonacoEditor.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: AjfMonacoEditor, selector: "ajf-monaco-editor", inputs: { experimentalScreenReader: "experimentalScreenReader", ariaLabel: "ariaLabel", rulers: "rulers", wordSeparators: "wordSeparators", selectionClipboard: "selectionClipboard", lineNumbers: "lineNumbers", selectOnLineNumbers: "selectOnLineNumbers", lineNumbersMinChars: "lineNumbersMinChars", glyphMargin: "glyphMargin", lineDecorationsWidth: "lineDecorationsWidth", revealHorizontalRightPadding: "revealHorizontalRightPadding", roundedSelection: "roundedSelection", theme: "theme", readOnly: "readOnly", scrollbar: "scrollbar", overviewRulerLanes: "overviewRulerLanes", cursorBlinking: "cursorBlinking", mouseWheelZoom: "mouseWheelZoom", cursorStyle: "cursorStyle", fontLigatures: "fontLigatures", disableTranslate3d: "disableTranslate3d", hideCursorInOverviewRuler: "hideCursorInOverviewRuler", scrollBeyondLastLine: "scrollBeyondLastLine", automaticLayout: "automaticLayout", wrappingColumn: "wrappingColumn", wordWrap: "wordWrap", wrappingIndent: "wrappingIndent", wordWrapBreakBeforeCharacters: "wordWrapBreakBeforeCharacters", wordWrapBreakAfterCharacters: "wordWrapBreakAfterCharacters", wordWrapBreakObtrusiveCharacters: "wordWrapBreakObtrusiveCharacters", stopRenderingLineAfter: "stopRenderingLineAfter", hover: "hover", contextmenu: "contextmenu", mouseWheelScrollSensitivity: "mouseWheelScrollSensitivity", quickSuggestions: "quickSuggestions", quickSuggestionsDelay: "quickSuggestionsDelay", parameterHints: "parameterHints", iconsInSuggestions: "iconsInSuggestions", autoClosingBrackets: "autoClosingBrackets", formatOnType: "formatOnType", suggestOnTriggerCharacters: "suggestOnTriggerCharacters", acceptSuggestionOnEnter: "acceptSuggestionOnEnter", snippetSuggestions: "snippetSuggestions", tabCompletion: "tabCompletion", wordBasedSuggestions: "wordBasedSuggestions", selectionHighlight: "selectionHighlight", codeLens: "codeLens", folding: "folding", renderWhitespace: "renderWhitespace", renderControlCharacters: "renderControlCharacters", renderIndentGuides: "renderIndentGuides", renderLineHighlight: "renderLineHighlight", useTabStops: "useTabStops", fontFamily: "fontFamily", fontWeight: "fontWeight", fontSize: "fontSize", lineHeight: "lineHeight", language: "language", disableAutocomplete: "disableAutocomplete", autoFormatOnLoad: "autoFormatOnLoad", monacoLibPath: "monacoLibPath", valueToCompare: "valueToCompare", value: "value" }, outputs: { valueChange: "valueChange", valueToCompareChange: "valueToCompareChange", init: "init" }, host: { listeners: { "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "editorContent", first: true, predicate: ["editor"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div #editor class=\"ajf-monaco-editor\"></div>\n", styles: ["ajf-monaco-editor{display:flex;align-items:stretch;overflow:hidden}ajf-monaco-editor .ajf-monaco-editor{flex:1 0 auto}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
312
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AjfMonacoEditor, decorators: [{
313
- type: Component,
314
- args: [{ encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ajf-monaco-editor', host: { '(window:resize)': 'onResize($event)' }, template: "<div #editor class=\"ajf-monaco-editor\"></div>\n", styles: ["ajf-monaco-editor{display:flex;align-items:stretch;overflow:hidden}ajf-monaco-editor .ajf-monaco-editor{flex:1 0 auto}\n"] }]
315
- }], ctorParameters: function () { return []; }, propDecorators: { experimentalScreenReader: [{
316
- type: Input
317
- }], ariaLabel: [{
318
- type: Input
319
- }], rulers: [{
320
- type: Input
321
- }], wordSeparators: [{
322
- type: Input
323
- }], selectionClipboard: [{
324
- type: Input
325
- }], lineNumbers: [{
326
- type: Input
327
- }], selectOnLineNumbers: [{
328
- type: Input
329
- }], lineNumbersMinChars: [{
330
- type: Input
331
- }], glyphMargin: [{
332
- type: Input
333
- }], lineDecorationsWidth: [{
334
- type: Input
335
- }], revealHorizontalRightPadding: [{
336
- type: Input
337
- }], roundedSelection: [{
338
- type: Input
339
- }], theme: [{
340
- type: Input
341
- }], readOnly: [{
342
- type: Input
343
- }], scrollbar: [{
344
- type: Input
345
- }], overviewRulerLanes: [{
346
- type: Input
347
- }], cursorBlinking: [{
348
- type: Input
349
- }], mouseWheelZoom: [{
350
- type: Input
351
- }], cursorStyle: [{
352
- type: Input
353
- }], fontLigatures: [{
354
- type: Input
355
- }], disableTranslate3d: [{
356
- type: Input
357
- }], hideCursorInOverviewRuler: [{
358
- type: Input
359
- }], scrollBeyondLastLine: [{
360
- type: Input
361
- }], automaticLayout: [{
362
- type: Input
363
- }], wrappingColumn: [{
364
- type: Input
365
- }], wordWrap: [{
366
- type: Input
367
- }], wrappingIndent: [{
368
- type: Input
369
- }], wordWrapBreakBeforeCharacters: [{
370
- type: Input
371
- }], wordWrapBreakAfterCharacters: [{
372
- type: Input
373
- }], wordWrapBreakObtrusiveCharacters: [{
374
- type: Input
375
- }], stopRenderingLineAfter: [{
376
- type: Input
377
- }], hover: [{
378
- type: Input
379
- }], contextmenu: [{
380
- type: Input
381
- }], mouseWheelScrollSensitivity: [{
382
- type: Input
383
- }], quickSuggestions: [{
384
- type: Input
385
- }], quickSuggestionsDelay: [{
386
- type: Input
387
- }], parameterHints: [{
388
- type: Input
389
- }], iconsInSuggestions: [{
390
- type: Input
391
- }], autoClosingBrackets: [{
392
- type: Input
393
- }], formatOnType: [{
394
- type: Input
395
- }], suggestOnTriggerCharacters: [{
396
- type: Input
397
- }], acceptSuggestionOnEnter: [{
398
- type: Input
399
- }], snippetSuggestions: [{
400
- type: Input
401
- }], tabCompletion: [{
402
- type: Input
403
- }], wordBasedSuggestions: [{
404
- type: Input
405
- }], selectionHighlight: [{
406
- type: Input
407
- }], codeLens: [{
408
- type: Input
409
- }], folding: [{
410
- type: Input
411
- }], renderWhitespace: [{
412
- type: Input
413
- }], renderControlCharacters: [{
414
- type: Input
415
- }], renderIndentGuides: [{
416
- type: Input
417
- }], renderLineHighlight: [{
418
- type: Input
419
- }], useTabStops: [{
420
- type: Input
421
- }], fontFamily: [{
422
- type: Input
423
- }], fontWeight: [{
424
- type: Input
425
- }], fontSize: [{
426
- type: Input
427
- }], lineHeight: [{
428
- type: Input
429
- }], language: [{
430
- type: Input
431
- }], disableAutocomplete: [{
432
- type: Input
433
- }], autoFormatOnLoad: [{
434
- type: Input
435
- }], monacoLibPath: [{
436
- type: Input
437
- }], valueToCompare: [{
438
- type: Input
439
- }], value: [{
440
- type: Input
441
- }], valueChange: [{
442
- type: Output
443
- }], valueToCompareChange: [{
444
- type: Output
445
- }], init: [{
446
- type: Output
447
- }], editorContent: [{
448
- type: ViewChild,
449
- args: ['editor', { static: true }]
450
- }] } });
451
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uYWNvLWVkaXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hdGVyaWFsL21vbmFjby1lZGl0b3Ivc3JjL21vbmFjby1lZGl0b3IudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC9tb25hY28tZWRpdG9yL3NyYy9tb25hY28tZWRpdG9yLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHO0FBRUgsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4sU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVyRSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sd0JBQXdCLENBQUM7O0FBZXRELE1BQU0sT0FBTyxlQUFlO0lBMEkxQjtRQS9EUyxhQUFRLEdBQW9CLElBQUksQ0FBQztRQUVqQyx3QkFBbUIsR0FBWSxLQUFLLENBQUM7UUFDckMscUJBQWdCLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLGtCQUFhLEdBQUcsY0FBYyxDQUFDO1FBNkNyQixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDakMseUJBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMxQyxTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQVNyQyxXQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ1osb0JBQWUsR0FBRyxFQUFFLENBQUM7SUFFZCxDQUFDO0lBekRoQixJQUNJLGNBQWMsQ0FBQyxDQUFTO1FBQzFCLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDOUIsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUM7WUFFekIsSUFBSSxJQUFJLENBQUMsZUFBZSxLQUFLLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQzdFLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxLQUFLLHVCQUF1QixFQUFFO29CQUM1RSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7b0JBQ25CLE9BQU87aUJBQ1I7Z0JBRUQsT0FBTzthQUNSO1lBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQ2hCLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO2FBQ2xCO1lBRUQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxLQUFLLHVCQUF1QixFQUFFO2dCQUM1RCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ25CLE9BQU87YUFDUjtTQUNGO0lBQ0gsQ0FBQztJQUVELElBQ0ksS0FBSyxDQUFDLENBQVM7UUFDakIsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUVoQixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUMzQyxPQUFPO2FBQ1I7WUFFRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLEtBQUssdUJBQXVCLEVBQUU7Z0JBQzVELElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDbkIsT0FBTzthQUNSO1lBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3BDO0lBQ0gsQ0FBQztJQVNELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBT0Q7O09BRUc7SUFDSCxlQUFlO1FBQ2IsSUFBSSxjQUFjLEdBQUcsR0FBRyxFQUFFO1lBQ3hCLGNBQWM7WUFDUixNQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsdUJBQXVCLENBQUMsRUFBRSxHQUFHLEVBQUU7Z0JBQ3BELElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQztRQUVGLCtCQUErQjtRQUMvQixJQUFJLENBQU8sTUFBTyxDQUFDLE9BQU8sRUFBRTtZQUMxQixJQUFJLFlBQVksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3BELFlBQVksQ0FBQyxJQUFJLEdBQUcsaUJBQWlCLENBQUM7WUFDdEMsWUFBWSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1lBQ3RDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLENBQUM7WUFDdEQsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDekM7YUFBTTtZQUNMLGNBQWMsRUFBRSxDQUFDO1NBQ2xCO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILFdBQVc7UUFDVCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELFdBQVcsQ0FBQyxRQUEyQztRQUNyRCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7U0FDaEQ7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxPQUFPO1FBQ0wsSUFBSSxLQUFLLEdBQW1CLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDO1FBQzdELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sS0FBSyxDQUFDLGFBQWEsRUFBRSxFQUFFO2dCQUM1QixJQUFJLEtBQUssQ0FBQyxVQUFVLElBQUksSUFBSSxFQUFFO29CQUM1QixLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO2lCQUMzQjthQUNGO1lBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7U0FDckI7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsUUFBUSxDQUFDLE1BQVc7UUFDbEIsOEVBQThFO1FBQzlFLElBQUksS0FBSyxHQUFtQixJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQztRQUM3RCxJQUFJLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxDQUFDLGFBQWEsSUFBSSxJQUFJLEVBQUU7WUFDaEQsT0FBTztTQUNSO1FBQ0QsS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsV0FBVyxLQUFLLENBQUMsYUFBYSxDQUFDLFlBQVksaUJBQWlCLENBQUMsQ0FBQztJQUM1RixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssV0FBVztRQUNqQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRU8sV0FBVztRQUNqQixJQUFJLEtBQUssR0FBbUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUM7UUFDN0QsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUVmLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3pCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztTQUN2RDthQUFNO1lBQ0wsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztTQUNyRDtRQUVELDhFQUE4RTtRQUM5RSxJQUFJLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxDQUFDLGFBQWEsSUFBSSxJQUFJLEVBQUU7WUFDaEQsS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsV0FBVyxLQUFLLENBQUMsYUFBYSxDQUFDLFlBQVksaUJBQWlCLENBQUMsQ0FBQztTQUMzRjtRQUVELG9DQUFvQztRQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFO1lBQzdCLHFCQUFxQixDQUFDLFdBQVcsRUFBRSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNyRTtRQUVELHFEQUFxRDtRQUNyRCwrREFBK0Q7UUFDL0QsaUNBQWlDO1FBQ2pDLDBDQUEwQztRQUMxQyw2REFBNkQ7UUFDN0QsZ0VBQWdFO1FBQ2hFLHdDQUF3QztRQUN4QyxRQUFRO1FBQ1IsTUFBTTtRQUVOLDRDQUE0QztRQUM1QyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLEVBQU8sRUFBRSxFQUFFO1lBQ3RELElBQUksTUFBTSxHQUFXLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3pELElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxNQUFNLEVBQUU7Z0JBQzFCLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDM0I7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILDBDQUEwQztRQUMxQyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUFFO1lBQzVCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLGtCQUFrQixDQUFDLENBQUMsRUFBTyxFQUFFLEVBQUU7Z0JBQ3RELElBQUksTUFBTSxHQUFXLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUN6RCxJQUFJLElBQUksQ0FBQyxlQUFlLEtBQUssTUFBTSxFQUFFO29CQUNuQyxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7aUJBQ3BDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssaUJBQWlCLENBQUMsR0FBbUIsRUFBRSxPQUFZO1FBQ3pELE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRDs7O09BR0c7SUFDSyxlQUFlLENBQUMsR0FBbUIsRUFBRSxPQUFZO1FBQ3ZELElBQUksYUFBYSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzFFLElBQUksYUFBYSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRW5GLElBQUksVUFBVSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzlELFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDbEIsUUFBUSxFQUFFLGFBQWE7WUFDdkIsUUFBUSxFQUFFLGFBQWE7U0FDeEIsQ0FBQyxDQUFDO1FBRUgsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVPLFdBQVc7UUFDakIsSUFBSSxPQUFPLEdBQW1CLElBQUksY0FBYyxFQUFFLENBQUM7UUFDbkQsT0FBTyxDQUFDLHdCQUF3QixHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQztRQUNqRSxPQUFPLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDbkMsT0FBTyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzdCLE9BQU8sQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUM3QyxPQUFPLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDO1FBQ3JELE9BQU8sQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUN2QyxPQUFPLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDO1FBQ3ZELE9BQU8sQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUM7UUFDdkQsT0FBTyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3ZDLE9BQU8sQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUM7UUFDekQsT0FBTyxDQUFDLDRCQUE0QixHQUFHLElBQUksQ0FBQyw0QkFBNEIsQ0FBQztRQUN6RSxPQUFPLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBQ2pELE9BQU8sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUMzQixPQUFPLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDakMsT0FBTyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ25DLE9BQU8sQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUM7UUFDckQsT0FBTyxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQzdDLE9BQU8sQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUM3QyxPQUFPLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDdkMsT0FBTyxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQzdDLE9BQU8sQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUMzQyxPQUFPLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDO1FBQ3JELE9BQU8sQ0FBQyx5QkFBeUIsR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUM7UUFDbkUsT0FBTyxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztRQUN6RCxPQUFPLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDL0MsT0FBTyxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQzdDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUNqQyxPQUFPLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDN0MsT0FBTyxDQUFDLDZCQUE2QixHQUFHLElBQUksQ0FBQyw2QkFBNkIsQ0FBQztRQUMzRSxPQUFPLENBQUMsNEJBQTRCLEdBQUcsSUFBSSxDQUFDLDRCQUE0QixDQUFDO1FBQ3pFLE9BQU8sQ0FBQyxnQ0FBZ0MsR0FBRyxJQUFJLENBQUMsZ0NBQWdDLENBQUM7UUFDakYsT0FBTyxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztRQUM3RCxPQUFPLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDM0IsT0FBTyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3ZDLE9BQU8sQ0FBQywyQkFBMkIsR0FBRyxJQUFJLENBQUMsMkJBQTJCLENBQUM7UUFDdkUsT0FBTyxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztRQUNqRCxPQUFPLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDO1FBQzNELE9BQU8sQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUM3QyxPQUFPLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDO1FBQ3JELE9BQU8sQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUM7UUFDdkQsT0FBTyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQ3pDLE9BQU8sQ0FBQywwQkFBMEIsR0FBRyxJQUFJLENBQUMsMEJBQTBCLENBQUM7UUFDckUsT0FBTyxDQUFDLHVCQUF1QixHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQztRQUMvRCxPQUFPLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDO1FBQ3JELE9BQU8sQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUMzQyxPQUFPLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDO1FBQ3pELE9BQU8sQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUM7UUFDckQsT0FBTyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ2pDLE9BQU8sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUMvQixPQUFPLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBQ2pELE9BQU8sQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUM7UUFDL0QsT0FBTyxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztRQUNyRCxPQUFPLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDO1FBQ3ZELE9BQU8sQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUN2QyxPQUFPLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDckMsT0FBTyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ3JDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUNqQyxPQUFPLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDckMsT0FBTyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzVCLE9BQU8sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUVqQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNqQyxJQUFVLE9BQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxTQUFTLEVBQUU7Z0JBQ3JDLE9BQWEsT0FBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsa0NBQWtDO2FBQy9EO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLFlBQVksQ0FBQyxLQUFhO1FBQ2hDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRDs7OztPQUlHO0lBQ0sscUJBQXFCLENBQUMsS0FBYTtRQUN6QyxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztRQUM1QixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztRQUM3QixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFTyxpQkFBaUI7UUFDdkIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDcEMsT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7U0FDaEQ7SUFDSCxDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3BDLE9BQU8sS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1NBQy9DO0lBQ0gsQ0FBQzs7NEdBNVlVLGVBQWU7Z0dBQWYsZUFBZSxzcUZDckQ1QixtREFDQTsyRkRvRGEsZUFBZTtrQkFUM0IsU0FBUztvQ0FDTyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLFlBQ3JDLG1CQUFtQixRQUl2QixFQUFDLGlCQUFpQixFQUFFLGtCQUFrQixFQUFDOzBFQUdwQyx3QkFBd0I7c0JBQWhDLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLDRCQUE0QjtzQkFBcEMsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0cseUJBQXlCO3NCQUFqQyxLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLDZCQUE2QjtzQkFBckMsS0FBSztnQkFDRyw0QkFBNEI7c0JBQXBDLEtBQUs7Z0JBQ0csZ0NBQWdDO3NCQUF4QyxLQUFLO2dCQUNHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRywyQkFBMkI7c0JBQW5DLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRywwQkFBMEI7c0JBQWxDLEtBQUs7Z0JBQ0csdUJBQXVCO3NCQUEvQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLHVCQUF1QjtzQkFBL0IsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFFTixVQUFVO3NCQURULEtBQUs7Z0JBaUJHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFHRixjQUFjO3NCQURqQixLQUFLO2dCQTBCRixLQUFLO3NCQURSLEtBQUs7Z0JBa0JhLFdBQVc7c0JBQTdCLE1BQU07Z0JBQ1ksb0JBQW9CO3NCQUF0QyxNQUFNO2dCQUNZLElBQUk7c0JBQXRCLE1BQU07Z0JBRThCLGFBQWE7c0JBQWpELFNBQVM7dUJBQUMsUUFBUSxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAoQykgR251Y29vcCBzb2MuIGNvb3AuXG4gKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEFkdmFuY2VkIEpTT04gZm9ybXMgKGFqZikuXG4gKlxuICogQWR2YW5jZWQgSlNPTiBmb3JtcyAoYWpmKSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3JcbiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsXG4gKiBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIEFkdmFuY2VkIEpTT04gZm9ybXMgKGFqZikgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEFmZmVyb1xuICogR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCBBZHZhbmNlZCBKU09OIGZvcm1zIChhamYpLlxuICogSWYgbm90LCBzZWUgaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLy5cbiAqXG4gKi9cblxuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QXV0b0NvbXBsZXRlU2luZ2xldG9ufSBmcm9tICcuL2F1dG9jb21wbGV0ZS1zaW5nbGV0b24tbW9kZWwnO1xuaW1wb3J0IHtJRWRpdG9yTGFuZ3VhZ2V9IGZyb20gJy4vZWRpdG9yLWxhbmd1YWdlLW1vZGVsJztcbmltcG9ydCB7SUVkaXRvck9wdGlvbnN9IGZyb20gJy4vZWRpdG9yLW9wdGlvbnMtbW9kZWwnO1xuaW1wb3J0IHtJRWRpdG9yU2Nyb2xsYmFyT3B0aW9uc30gZnJvbSAnLi9lZGl0b3Itc2Nyb2xsYmFyLW9wdGlvbnMnO1xuaW1wb3J0IHtJRWRpdG9yVGhlbWV9IGZyb20gJy4vZWRpdG9yLXRoZW1lJztcblxuZGVjbGFyZSBjb25zdCBtb25hY286IGFueTtcblxuQENvbXBvbmVudCh7XG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzZWxlY3RvcjogJ2FqZi1tb25hY28tZWRpdG9yJyxcbiAgc3R5bGVVcmxzOiBbJ21vbmFjby1lZGl0b3Iuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJ21vbmFjby1lZGl0b3IuaHRtbCcsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICBob3N0OiB7Jyh3aW5kb3c6cmVzaXplKSc6ICdvblJlc2l6ZSgkZXZlbnQpJ30sXG59KVxuZXhwb3J0IGNsYXNzIEFqZk1vbmFjb0VkaXRvciBpbXBsZW1lbnRzIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgZXhwZXJpbWVudGFsU2NyZWVuUmVhZGVyPzogYm9vbGVhbjtcbiAgQElucHV0KCkgYXJpYUxhYmVsPzogc3RyaW5nO1xuICBASW5wdXQoKSBydWxlcnM/OiBudW1iZXJbXTtcbiAgQElucHV0KCkgd29yZFNlcGFyYXRvcnM/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNlbGVjdGlvbkNsaXBib2FyZD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGxpbmVOdW1iZXJzPzogYm9vbGVhbjtcbiAgQElucHV0KCkgc2VsZWN0T25MaW5lTnVtYmVycz86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGxpbmVOdW1iZXJzTWluQ2hhcnM/OiBudW1iZXI7XG4gIEBJbnB1dCgpIGdseXBoTWFyZ2luPzogYm9vbGVhbjtcbiAgQElucHV0KCkgbGluZURlY29yYXRpb25zV2lkdGg/OiBudW1iZXI7XG4gIEBJbnB1dCgpIHJldmVhbEhvcml6b250YWxSaWdodFBhZGRpbmc/OiBudW1iZXI7XG4gIEBJbnB1dCgpIHJvdW5kZWRTZWxlY3Rpb24/OiBib29sZWFuO1xuICBASW5wdXQoKSB0aGVtZT86IElFZGl0b3JUaGVtZTtcbiAgQElucHV0KCkgcmVhZE9ubHk/OiBib29sZWFuO1xuICBASW5wdXQoKSBzY3JvbGxiYXI/OiBJRWRpdG9yU2Nyb2xsYmFyT3B0aW9ucztcbiAgQElucHV0KCkgb3ZlcnZpZXdSdWxlckxhbmVzPzogbnVtYmVyO1xuICBASW5wdXQoKSBjdXJzb3JCbGlua2luZz86IHN0cmluZztcbiAgQElucHV0KCkgbW91c2VXaGVlbFpvb20/OiBib29sZWFuO1xuICBASW5wdXQoKSBjdXJzb3JTdHlsZT86IHN0cmluZztcbiAgQElucHV0KCkgZm9udExpZ2F0dXJlcz86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGRpc2FibGVUcmFuc2xhdGUzZD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGhpZGVDdXJzb3JJbk92ZXJ2aWV3UnVsZXI/OiBib29sZWFuO1xuICBASW5wdXQoKSBzY3JvbGxCZXlvbmRMYXN0TGluZT86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGF1dG9tYXRpY0xheW91dD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIHdyYXBwaW5nQ29sdW1uPzogbnVtYmVyO1xuICBASW5wdXQoKSB3b3JkV3JhcD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIHdyYXBwaW5nSW5kZW50Pzogc3RyaW5nO1xuICBASW5wdXQoKSB3b3JkV3JhcEJyZWFrQmVmb3JlQ2hhcmFjdGVycz86IHN0cmluZztcbiAgQElucHV0KCkgd29yZFdyYXBCcmVha0FmdGVyQ2hhcmFjdGVycz86IHN0cmluZztcbiAgQElucHV0KCkgd29yZFdyYXBCcmVha09idHJ1c2l2ZUNoYXJhY3RlcnM/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHN0b3BSZW5kZXJpbmdMaW5lQWZ0ZXI/OiBudW1iZXI7XG4gIEBJbnB1dCgpIGhvdmVyPzogYm9vbGVhbjtcbiAgQElucHV0KCkgY29udGV4dG1lbnU/OiBib29sZWFuO1xuICBASW5wdXQoKSBtb3VzZVdoZWVsU2Nyb2xsU2Vuc2l0aXZpdHk/OiBudW1iZXI7XG4gIEBJbnB1dCgpIHF1aWNrU3VnZ2VzdGlvbnM/OiBib29sZWFuO1xuICBASW5wdXQoKSBxdWlja1N1Z2dlc3Rpb25zRGVsYXk/OiBudW1iZXI7XG4gIEBJbnB1dCgpIHBhcmFtZXRlckhpbnRzPzogYm9vbGVhbjtcbiAgQElucHV0KCkgaWNvbnNJblN1Z2dlc3Rpb25zPzogYm9vbGVhbjtcbiAgQElucHV0KCkgYXV0b0Nsb3NpbmdCcmFja2V0cz86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGZvcm1hdE9uVHlwZT86IGJvb2xlYW47XG4gIEBJbnB1dCgpIHN1Z2dlc3RPblRyaWdnZXJDaGFyYWN0ZXJzPzogYm9vbGVhbjtcbiAgQElucHV0KCkgYWNjZXB0U3VnZ2VzdGlvbk9uRW50ZXI/OiBib29sZWFuO1xuICBASW5wdXQoKSBzbmlwcGV0U3VnZ2VzdGlvbnM/OiAndG9wJyB8ICdib3R0b20nIHwgJ2lubGluZScgfCAnbm9uZSc7XG4gIEBJbnB1dCgpIHRhYkNvbXBsZXRpb24/OiBib29sZWFuO1xuICBASW5wdXQoKSB3b3JkQmFzZWRTdWdnZXN0aW9ucz86IGJvb2xlYW47XG4gIEBJbnB1dCgpIHNlbGVjdGlvbkhpZ2hsaWdodD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGNvZGVMZW5zPzogYm9vbGVhbjtcbiAgQElucHV0KCkgZm9sZGluZz86IGJvb2xlYW47XG4gIEBJbnB1dCgpIHJlbmRlcldoaXRlc3BhY2U/OiAnbm9uZScgfCAnYm91bmRhcnknIHwgJ2FsbCc7XG4gIEBJbnB1dCgpIHJlbmRlckNvbnRyb2xDaGFyYWN0ZXJzPzogYm9vbGVhbjtcbiAgQElucHV0KCkgcmVuZGVySW5kZW50R3VpZGVzPzogYm9vbGVhbjtcbiAgQElucHV0KCkgcmVuZGVyTGluZUhpZ2hsaWdodD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIHVzZVRhYlN0b3BzPzogYm9vbGVhbjtcbiAgQElucHV0KCkgZm9udEZhbWlseT86IHN0cmluZztcbiAgQElucHV0KClcbiAgZm9udFdlaWdodD86XG4gICAgfCAnbm9ybWFsJ1xuICAgIHwgJ2JvbGQnXG4gICAgfCAnYm9sZGVyJ1xuICAgIHwgJ2xpZ2h0ZXInXG4gICAgfCAnaW5pdGlhbCdcbiAgICB8ICdpbmhlcml0J1xuICAgIHwgJzEwMCdcbiAgICB8ICcyMDAnXG4gICAgfCAnMzAwJ1xuICAgIHwgJzQwMCdcbiAgICB8ICc1MDAnXG4gICAgfCAnNjAwJ1xuICAgIHwgJzcwMCdcbiAgICB8ICc4MDAnXG4gICAgfCAnOTAwJztcbiAgQElucHV0KCkgZm9udFNpemU/OiBudW1iZXI7XG4gIEBJbnB1dCgpIGxpbmVIZWlnaHQ/OiBudW1iZXI7XG5cbiAgQElucHV0KCkgbGFuZ3VhZ2U6IElFZGl0b3JMYW5ndWFnZSA9ICdlbic7XG5cbiAgQElucHV0KCkgZGlzYWJsZUF1dG9jb21wbGV0ZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBhdXRvRm9ybWF0T25Mb2FkID0gdHJ1ZTtcbiAgQElucHV0KCkgbW9uYWNvTGliUGF0aCA9ICd2cy9sb2FkZXIuanMnO1xuXG4gIEBJbnB1dCgpXG4gIHNldCB2YWx1ZVRvQ29tcGFyZSh2OiBzdHJpbmcpIHtcbiAgICBpZiAodiAhPT0gdGhpcy5fdmFsdWVUb0NvbXBhcmUpIHtcbiAgICAgIHRoaXMuX3ZhbHVlVG9Db21wYXJlID0gdjtcblxuICAgICAgaWYgKHRoaXMuX3ZhbHVlVG9Db21wYXJlID09PSB2b2lkIDAgfHwgIXRoaXMuX3ZhbHVlVG9Db21wYXJlIHx8ICF0aGlzLl9lZGl0b3IpIHtcbiAgICAgICAgaWYgKHRoaXMuX2VkaXRvciAmJiB0aGlzLl9lZGl0b3IuZ2V0RWRpdG9yVHlwZSgpICE9PSAndnMuZWRpdG9yLklDb2RlRWRpdG9yJykge1xuICAgICAgICAgIHRoaXMuX2luaXRFZGl0b3IoKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICghdGhpcy5fdmFsdWUpIHtcbiAgICAgICAgdGhpcy5fdmFsdWUgPSAnJztcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuX2VkaXRvci5nZXRFZGl0b3JUeXBlKCkgPT09ICd2cy5lZGl0b3IuSUNvZGVFZGl0b3InKSB7XG4gICAgICAgIHRoaXMuX2luaXRFZGl0b3IoKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCB2YWx1ZSh2OiBzdHJpbmcpIHtcbiAgICBpZiAodiAhPT0gdGhpcy5fdmFsdWUpIHtcbiAgICAgIHRoaXMuX3ZhbHVlID0gdjtcblxuICAgICAgaWYgKHRoaXMuX3ZhbHVlID09PSB2b2lkIDAgfHwgIXRoaXMuX2VkaXRvcikge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLl9lZGl0b3IuZ2V0RWRpdG9yVHlwZSgpICE9PSAndnMuZWRpdG9yLklDb2RlRWRpdG9yJykge1xuICAgICAgICB0aGlzLl9pbml0RWRpdG9yKCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5fZWRpdG9yLnNldFZhbHVlKHRoaXMuX3ZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBAT3V0cHV0KCkgcmVhZG9ubHkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSByZWFkb25seSB2YWx1ZVRvQ29tcGFyZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHJlYWRvbmx5IGluaXQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQFZpZXdDaGlsZCgnZWRpdG9yJywge3N0YXRpYzogdHJ1ZX0pIGVkaXRvckNvbnRlbnQhOiBFbGVtZW50UmVmO1xuXG4gIHByaXZhdGUgX2VkaXRvcjogYW55O1xuICBnZXQgZWRpdG9yKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX2VkaXRvcjtcbiAgfVxuXG4gIHByaXZhdGUgX3ZhbHVlID0gJyc7XG4gIHByaXZhdGUgX3ZhbHVlVG9Db21wYXJlID0gJyc7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIC8qKlxuICAgKiBsb2FkIE1vbmFjbyBsaWJcbiAgICovXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBsZXQgb25Hb3RBbWRMb2FkZXIgPSAoKSA9PiB7XG4gICAgICAvLyBMb2FkIG1vbmFjb1xuICAgICAgKDxhbnk+d2luZG93KS5yZXF1aXJlKFsndnMvZWRpdG9yL2VkaXRvci5tYWluJ10sICgpID0+IHtcbiAgICAgICAgdGhpcy5faW5pdE1vbmFjbygpO1xuICAgICAgfSk7XG4gICAgfTtcblxuICAgIC8vIExvYWQgQU1EIGxvYWRlciBpZiBuZWNlc3NhcnlcbiAgICBpZiAoISg8YW55PndpbmRvdykucmVxdWlyZSkge1xuICAgICAgbGV0IGxvYWRlclNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgICAgbG9hZGVyU2NyaXB0LnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JztcbiAgICAgIGxvYWRlclNjcmlwdC5zcmMgPSB0aGlzLm1vbmFjb0xpYlBhdGg7XG4gICAgICBsb2FkZXJTY3JpcHQuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIG9uR290QW1kTG9hZGVyKTtcbiAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobG9hZGVyU2NyaXB0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgb25Hb3RBbWRMb2FkZXIoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVXBvbiBkZXN0cnVjdGlvbiBvZiB0aGUgY29tcG9uZW50IHdlIG1ha2Ugc3VyZSB0byBkaXNwb3NlIGJvdGggdGhlIGVkaXRvciBhbmRcbiAgICogdGhlIGV4dHJhIGxpYnMgdGhhdCB3ZSBtaWdodCd2ZSBsb2FkZWRcbiAgICovXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGlzcG9zZSgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoX2NoYW5nZXM6IHtbcHJvcEtleTogc3RyaW5nXTogU2ltcGxlQ2hhbmdlfSkge1xuICAgIGlmICh0aGlzLl9lZGl0b3IpIHtcbiAgICAgIHRoaXMuX2VkaXRvci51cGRhdGVPcHRpb25zKHRoaXMuX2dldE9wdGlvbnMoKSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIERlc3Ryb3kgdGhlIG1vbmFjbyBjb21wb25lbmVudFxuICAgKi9cbiAgZGlzcG9zZSgpIHtcbiAgICBsZXQgbXlEaXY6IEhUTUxEaXZFbGVtZW50ID0gdGhpcy5lZGl0b3JDb250ZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKHRoaXMuX2VkaXRvcikge1xuICAgICAgdGhpcy5fZWRpdG9yLmRpc3Bvc2UoKTtcbiAgICAgIHdoaWxlIChteURpdi5oYXNDaGlsZE5vZGVzKCkpIHtcbiAgICAgICAgaWYgKG15RGl2LmZpcnN0Q2hpbGQgIT0gbnVsbCkge1xuICAgICAgICAgIG15RGl2LmZpcnN0Q2hpbGQucmVtb3ZlKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMuX2VkaXRvciA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRyaWdnZXJlZCB3aGVuIHdpbmRvd3MgaXMgcmVzaXplZFxuICAgKiBAcGFyYW0gZXZlbnRcbiAgICovXG4gIG9uUmVzaXplKF9ldmVudDogYW55KSB7XG4gICAgLy8gTWFudWFsbHkgc2V0IG1vbmFjbyBzaXplIGJlY2F1c2UgTW9uYWNvRWRpdG9yIGRvZXNuJ3Qgd29yayB3aXRoIEZsZXhib3ggY3NzXG4gICAgbGV0IG15RGl2OiBIVE1MRGl2RWxlbWVudCA9IHRoaXMuZWRpdG9yQ29udGVudC5uYXRpdmVFbGVtZW50O1xuICAgIGlmIChteURpdiA9PSBudWxsIHx8IG15RGl2LnBhcmVudEVsZW1lbnQgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBteURpdi5zZXRBdHRyaWJ1dGUoJ3N0eWxlJywgYGhlaWdodDogJHtteURpdi5wYXJlbnRFbGVtZW50Lm9mZnNldEhlaWdodH1weDsgd2lkdGg6MTAwJTtgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0IGVkaXRvclxuICAgKiBJcyBjYWxsZWQgb25jZSBtb25hY28gbGlicmFyeSBpcyBhdmFpbGFibGVcbiAgICovXG4gIHByaXZhdGUgX2luaXRNb25hY28oKSB7XG4gICAgdGhpcy5faW5pdEVkaXRvcigpO1xuICAgIHRoaXMuaW5pdC5lbWl0KCk7XG4gIH1cblxuICBwcml2YXRlIF9pbml0RWRpdG9yKCkge1xuICAgIGxldCBteURpdjogSFRNTERpdkVsZW1lbnQgPSB0aGlzLmVkaXRvckNvbnRlbnQubmF0aXZlRWxlbWVudDtcbiAgICBsZXQgb3B0aW9ucyA9IHRoaXMuX2dldE9wdGlvbnMoKTtcbiAgICB0aGlzLmRpc3Bvc2UoKTtcblxuICAgIGlmICghdGhpcy5fdmFsdWVUb0NvbXBhcmUpIHtcbiAgICAgIHRoaXMuX2VkaXRvciA9IHRoaXMuX2luaXRTaW1wbGVFZGl0b3IobXlEaXYsIG9wdGlvbnMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9lZGl0b3IgPSB0aGlzLl9pbml0RGlmZkVkaXRvcihteURpdiwgb3B0aW9ucyk7XG4gICAgfVxuXG4gICAgLy8gTWFudWFsbHkgc2V0IG1vbmFjbyBzaXplIGJlY2F1c2UgTW9uYWNvRWRpdG9yIGRvZXNuJ3Qgd29yayB3aXRoIEZsZXhib3ggY3NzXG4gICAgaWYgKG15RGl2ICE9IG51bGwgJiYgbXlEaXYucGFyZW50RWxlbWVudCAhPSBudWxsKSB7XG4gICAgICBteURpdi5zZXRBdHRyaWJ1dGUoJ3N0eWxlJywgYGhlaWdodDogJHtteURpdi5wYXJlbnRFbGVtZW50Lm9mZnNldEhlaWdodH1weDsgd2lkdGg6MTAwJTtgKTtcbiAgICB9XG5cbiAgICAvLyBJbml0IEF1dG9jb21wbGV0ZSBpZiBub3QgZGlzYWJsZWRcbiAgICBpZiAoIXRoaXMuZGlzYWJsZUF1dG9jb21wbGV0ZSkge1xuICAgICAgQXV0b0NvbXBsZXRlU2luZ2xldG9uLmdldEluc3RhbmNlKCkuaW5pdEF1dG9Db21wbGV0ZSh0aGlzLmxhbmd1YWdlKTtcbiAgICB9XG5cbiAgICAvLyBXaGVuIGNvbnRlbnQgaXMgbG9hZGVkLCBzY3JvbGxDaGFuZ2UgaXMgdHJpZ2VycmVkLFxuICAgIC8vIFdlIGNhbiBvbmx5IGZvcmNlIGF1dG8gZm9ybWF0IGF0IHRoaXMgbW9tZW50LCBiZWNhdXNlIGVkaXRvclxuICAgIC8vIGRvZXNuJ3QgaGF2ZSBvblJlYWR5IGV2ZW50IC4uLlxuICAgIC8vICB0aGlzLl9lZGl0b3Iub25EaWRTY3JvbGxDaGFuZ2UoKCkgPT4ge1xuICAgIC8vICAgICBpZiAodGhpcy5hdXRvRm9ybWF0T25Mb2FkICYmICF0aGlzLl9pc0NvZGVGb3JtYXR0ZWQpIHtcbiAgICAvLyAgICAgICAgIHRoaXMuX2VkaXRvci5nZXRBY3Rpb24oJ2VkaXRvci5hY3Rpb24uZm9ybWF0JykucnVuKCk7XG4gICAgLy8gICAgICAgICB0aGlzLl9pc0NvZGVGb3JtYXR0ZWQgPSB0cnVlO1xuICAgIC8vICAgICB9XG4gICAgLy8gfSk7XG5cbiAgICAvLyBUcmlnZ2VyIG9uIGNoYW5nZSBldmVudCBmb3Igc2ltcGxlIGVkaXRvclxuICAgIHRoaXMuX2dldE9yaWdpbmFsTW9kZWwoKS5vbkRpZENoYW5nZUNvbnRlbnQoKF9lOiBhbnkpID0+IHtcbiAgICAgIGxldCBuZXdWYWw6IHN0cmluZyA9IHRoaXMuX2dldE9yaWdpbmFsTW9kZWwoKS5nZXRWYWx1ZSgpO1xuICAgICAgaWYgKHRoaXMuX3ZhbHVlICE9PSBuZXdWYWwpIHtcbiAgICAgICAgdGhpcy5fdXBkYXRlVmFsdWUobmV3VmFsKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIC8vIFRyaWdnZXIgb24gY2hhbmdlIGV2ZW50IGZvciBkaWZmIGVkaXRvclxuICAgIGlmICh0aGlzLl9nZXRNb2RpZmllZE1vZGVsKCkpIHtcbiAgICAgIHRoaXMuX2dldE1vZGlmaWVkTW9kZWwoKS5vbkRpZENoYW5nZUNvbnRlbnQoKF9lOiBhbnkpID0+IHtcbiAgICAgICAgbGV0IG5ld1ZhbDogc3RyaW5nID0gdGhpcy5fZ2V0TW9kaWZpZWRNb2RlbCgpLmdldFZhbHVlKCk7XG4gICAgICAgIGlmICh0aGlzLl92YWx1ZVRvQ29tcGFyZSAhPT0gbmV3VmFsKSB7XG4gICAgICAgICAgdGhpcy5fdXBkYXRlVmFsdWVUb0NvbXBhcmUobmV3VmFsKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIHNpbXBsZSBlZGl0b3IgdGV4dFxuICAgKiBAcGFyYW0gZGl2XG4gICAqIEBwYXJhbSBvcHRpb25zXG4gICAqL1xuICBwcml2YXRlIF9pbml0U2ltcGxlRWRpdG9yKGRpdjogSFRNTERpdkVsZW1lbnQsIG9wdGlvbnM6IGFueSkge1xuICAgIHJldHVybiBtb25hY28uZWRpdG9yLmNyZWF0ZShkaXYsIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIGRpZmYgZWRpdG9yIHRvIGNvbXBhcmUgdHdvIHN0cmluZyAoX3ZhbHVlIGFuZCBfdmFsdWVUb0NvbXBhcmUpXG4gICAqIEBwYXJhbSBkaXZcbiAgICovXG4gIHByaXZhdGUgX2luaXREaWZmRWRpdG9yKGRpdjogSFRNTERpdkVsZW1lbnQsIG9wdGlvbnM6IGFueSkge1xuICAgIGxldCBvcmlnaW5hbE1vZGVsID0gbW9uYWNvLmVkaXRvci5jcmVhdGVNb2RlbCh0aGlzLl92YWx1ZSwgdGhpcy5sYW5ndWFnZSk7XG4gICAgbGV0IG1vZGlmaWVkTW9kZWwgPSBtb25hY28uZWRpdG9yLmNyZWF0ZU1vZGVsKHRoaXMuX3ZhbHVlVG9Db21wYXJlLCB0aGlzLmxhbmd1YWdlKTtcblxuICAgIGxldCBkaWZmRWRpdG9yID0gbW9uYWNvLmVkaXRvci5jcmVhdGVEaWZmRWRpdG9yKGRpdiwgb3B0aW9ucyk7XG4gICAgZGlmZkVkaXRvci5zZXRNb2RlbCh7XG4gICAgICBtb2RpZmllZDogbW9kaWZpZWRNb2RlbCxcbiAgICAgIG9yaWdpbmFsOiBvcmlnaW5hbE1vZGVsLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGRpZmZFZGl0b3I7XG4gIH1cblxuICBwcml2YXRlIF9nZXRPcHRpb25zKCk6IElFZGl0b3JPcHRpb25zIHtcbiAgICBsZXQgb3B0aW9uczogSUVkaXRvck9wdGlvbnMgPSBuZXcgSUVkaXRvck9wdGlvbnMoKTtcbiAgICBvcHRpb25zLmV4cGVyaW1lbnRhbFNjcmVlblJlYWRlciA9IHRoaXMuZXhwZXJpbWVudGFsU2NyZWVuUmVhZGVyO1xuICAgIG9wdGlvbnMuYXJpYUxhYmVsID0gdGhpcy5hcmlhTGFiZWw7XG4gICAgb3B0aW9ucy5ydWxlcnMgPSB0aGlzLnJ1bGVycztcbiAgICBvcHRpb25zLndvcmRTZXBhcmF0b3JzID0gdGhpcy53b3JkU2VwYXJhdG9ycztcbiAgICBvcHRpb25zLnNlbGVjdGlvbkNsaXBib2FyZCA9IHRoaXMuc2VsZWN0aW9uQ2xpcGJvYXJkO1xuICAgIG9wdGlvbnMubGluZU51bWJlcnMgPSB0aGlzLmxpbmVOdW1iZXJzO1xuICAgIG9wdGlvbnMuc2VsZWN0T25MaW5lTnVtYmVycyA9IHRoaXMuc2VsZWN0T25MaW5lTnVtYmVycztcbiAgICBvcHRpb25zLmxpbmVOdW1iZXJzTWluQ2hhcnMgPSB0aGlzLmxpbmVOdW1iZXJzTWluQ2hhcnM7XG4gICAgb3B0aW9ucy5nbHlwaE1hcmdpbiA9IHRoaXMuZ2x5cGhNYXJnaW47XG4gICAgb3B0aW9ucy5saW5lRGVjb3JhdGlvbnNXaWR0aCA9IHRoaXMubGluZURlY29yYXRpb25zV2lkdGg7XG4gICAgb3B0aW9ucy5yZXZlYWxIb3Jpem9udGFsUmlnaHRQYWRkaW5nID0gdGhpcy5yZXZlYWxIb3Jpem9udGFsUmlnaHRQYWRkaW5nO1xuICAgIG9wdGlvbnMucm91bmRlZFNlbGVjdGlvbiA9IHRoaXMucm91bmRlZFNlbGVjdGlvbjtcbiAgICBvcHRpb25zLnRoZW1lID0gdGhpcy50aGVtZTtcbiAgICBvcHRpb25zLnJlYWRPbmx5ID0gdGhpcy5yZWFkT25seTtcbiAgICBvcHRpb25zLnNjcm9sbGJhciA9IHRoaXMuc2Nyb2xsYmFyO1xuICAgIG9wdGlvbnMub3ZlcnZpZXdSdWxlckxhbmVzID0gdGhpcy5vdmVydmlld1J1bGVyTGFuZXM7XG4gICAgb3B0aW9ucy5jdXJzb3JCbGlua2luZyA9IHRoaXMuY3Vyc29yQmxpbmtpbmc7XG4gICAgb3B0aW9ucy5tb3VzZVdoZWVsWm9vbSA9IHRoaXMubW91c2VXaGVlbFpvb207XG4gICAgb3B0aW9ucy5jdXJzb3JTdHlsZSA9IHRoaXMuY3Vyc29yU3R5bGU7XG4gICAgb3B0aW9ucy5tb3VzZVdoZWVsWm9vbSA9IHRoaXMubW91c2VXaGVlbFpvb207XG4gICAgb3B0aW9ucy5mb250TGlnYXR1cmVzID0gdGhpcy5mb250TGlnYXR1cmVzO1xuICAgIG9wdGlvbnMuZGlzYWJsZVRyYW5zbGF0ZTNkID0gdGhpcy5kaXNhYmxlVHJhbnNsYXRlM2Q7XG4gICAgb3B0aW9ucy5oaWRlQ3Vyc29ySW5PdmVydmlld1J1bGVyID0gdGhpcy5oaWRlQ3Vyc29ySW5PdmVydmlld1J1bGVyO1xuICAgIG9wdGlvbnMuc2Nyb2xsQmV5b25kTGFzdExpbmUgPSB0aGlzLnNjcm9sbEJleW9uZExhc3RMaW5lO1xuICAgIG9wdGlvbnMuYXV0b21hdGljTGF5b3V0ID0gdGhpcy5hdXRvbWF0aWNMYXlvdXQ7XG4gICAgb3B0aW9ucy53cmFwcGluZ0NvbHVtbiA9IHRoaXMud3JhcHBpbmdDb2x1bW47XG4gICAgb3B0aW9ucy53b3JkV3JhcCA9IHRoaXMud29yZFdyYXA7XG4gICAgb3B0aW9ucy53cmFwcGluZ0luZGVudCA9IHRoaXMud3JhcHBpbmdJbmRlbnQ7XG4gICAgb3B0aW9ucy53b3JkV3JhcEJyZWFrQmVmb3JlQ2hhcmFjdGVycyA9IHRoaXMud29yZFdyYXBCcmVha0JlZm9yZUNoYXJhY3RlcnM7XG4gICAgb3B0aW9ucy53b3JkV3JhcEJyZWFrQWZ0ZXJDaGFyYWN0ZXJzID0gdGhpcy53b3JkV3JhcEJyZWFrQWZ0ZXJDaGFyYWN0ZXJzO1xuICAgIG9wdGlvbnMud29yZFdyYXBCcmVha09idHJ1c2l2ZUNoYXJhY3RlcnMgPSB0aGlzLndvcmRXcmFwQnJlYWtPYnRydXNpdmVDaGFyYWN0ZXJzO1xuICAgIG9wdGlvbnMuc3RvcFJlbmRlcmluZ0xpbmVBZnRlciA9IHRoaXMuc3RvcFJlbmRlcmluZ0xpbmVBZnRlcjtcbiAgICBvcHRpb25zLmhvdmVyID0gdGhpcy5ob3ZlcjtcbiAgICBvcHRpb25zLmNvbnRleHRtZW51ID0gdGhpcy5jb250ZXh0bWVudTtcbiAgICBvcHRpb25zLm1vdXNlV2hlZWxTY3JvbGxTZW5zaXRpdml0eSA9IHRoaXMubW91c2VXaGVlbFNjcm9sbFNlbnNpdGl2aXR5O1xuICAgIG9wdGlvbnMucXVpY2tTdWdnZXN0aW9ucyA9IHRoaXMucXVpY2tTdWdnZXN0aW9ucztcbiAgICBvcHRpb25zLnF1aWNrU3VnZ2VzdGlvbnNEZWxheSA9IHRoaXMucXVpY2tTdWdnZXN0aW9uc0RlbGF5O1xuICAgIG9wdGlvbnMucGFyYW1ldGVySGludHMgPSB0aGlzLnBhcmFtZXRlckhpbnRzO1xuICAgIG9wdGlvbnMuaWNvbnNJblN1Z2dlc3Rpb25zID0gdGhpcy5pY29uc0luU3VnZ2VzdGlvbnM7XG4gICAgb3B0aW9ucy5hdXRvQ2xvc2luZ0JyYWNrZXRzID0gdGhpcy5hdXRvQ2xvc2luZ0JyYWNrZXRzO1xuICAgIG9wdGlvbnMuZm9ybWF0T25UeXBlID0gdGhpcy5mb3JtYXRPblR5cGU7XG4gICAgb3B0aW9ucy5zdWdnZXN0T25UcmlnZ2VyQ2hhcmFjdGVycyA9IHRoaXMuc3VnZ2VzdE9uVHJpZ2dlckNoYXJhY3RlcnM7XG4gICAgb3B0aW9ucy5hY2NlcHRTdWdnZXN0aW9uT25FbnRlciA9IHRoaXMuYWNjZXB0U3VnZ2VzdGlvbk9uRW50ZXI7XG4gICAgb3B0aW9ucy5zbmlwcGV0U3VnZ2VzdGlvbnMgPSB0aGlzLnNuaXBwZXRTdWdnZXN0aW9ucztcbiAgICBvcHRpb25zLnRhYkNvbXBsZXRpb24gPSB0aGlzLnRhYkNvbXBsZXRpb247XG4gICAgb3B0aW9ucy53b3JkQmFzZWRTdWdnZXN0aW9ucyA9IHRoaXMud29yZEJhc2VkU3VnZ2VzdGlvbnM7XG4gICAgb3B0aW9ucy5zZWxlY3Rpb25IaWdobGlnaHQgPSB0aGlzLnNlbGVjdGlvbkhpZ2hsaWdodDtcbiAgICBvcHRpb25zLmNvZGVMZW5zID0gdGhpcy5jb2RlTGVucztcbiAgICBvcHRpb25zLmZvbGRpbmcgPSB0aGlzLmZvbGRpbmc7XG4gICAgb3B0aW9ucy5yZW5kZXJXaGl0ZXNwYWNlID0gdGhpcy5yZW5kZXJXaGl0ZXNwYWNlO1xuICAgIG9wdGlvbnMucmVuZGVyQ29udHJvbENoYXJhY3RlcnMgPSB0aGlzLnJlbmRlckNvbnRyb2xDaGFyYWN0ZXJzO1xuICAgIG9wdGlvbnMucmVuZGVySW5kZW50R3VpZGVzID0gdGhpcy5yZW5kZXJJbmRlbnRHdWlkZXM7XG4gICAgb3B0aW9ucy5yZW5kZXJMaW5lSGlnaGxpZ2h0ID0gdGhpcy5yZW5kZXJMaW5lSGlnaGxpZ2h0O1xuICAgIG9wdGlvbnMudXNlVGFiU3RvcHMgPSB0aGlzLnVzZVRhYlN0b3BzO1xuICAgIG9wdGlvbnMuZm9udEZhbWlseSA9IHRoaXMuZm9udEZhbWlseTtcbiAgICBvcHRpb25zLmZvbnRXZWlnaHQgPSB0aGlzLmZvbnRXZWlnaHQ7XG4gICAgb3B0aW9ucy5mb250U2l6ZSA9IHRoaXMuZm9udFNpemU7XG4gICAgb3B0aW9ucy5saW5lSGVpZ2h0ID0gdGhpcy5saW5lSGVpZ2h0O1xuICAgIG9wdGlvbnMudmFsdWUgPSB0aGlzLl92YWx1ZTtcbiAgICBvcHRpb25zLmxhbmd1YWdlID0gdGhpcy5sYW5ndWFnZTtcblxuICAgIE9iamVjdC5rZXlzKG9wdGlvbnMpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgIGlmICgoPGFueT5vcHRpb25zKVtrZXldID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgZGVsZXRlICg8YW55Pm9wdGlvbnMpW2tleV07IC8vIFJlbW92ZSBhbGwgdW5kZWZpbmVkIHByb3BlcnRpZXNcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gb3B0aW9ucztcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGVWYWx1ZVxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWVcbiAgICovXG4gIHByaXZhdGUgX3VwZGF0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZVZhbHVlXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZVxuICAgKi9cbiAgcHJpdmF0ZSBfdXBkYXRlVmFsdWVUb0NvbXBhcmUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMudmFsdWVUb0NvbXBhcmUgPSB2YWx1ZTtcbiAgICB0aGlzLl92YWx1ZVRvQ29tcGFyZSA9IHZhbHVlO1xuICAgIHRoaXMudmFsdWVUb0NvbXBhcmVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRPcmlnaW5hbE1vZGVsKCkge1xuICAgIGlmICh0aGlzLl9lZGl0b3IpIHtcbiAgICAgIGxldCBtb2RlbCA9IHRoaXMuX2VkaXRvci5nZXRNb2RlbCgpO1xuICAgICAgcmV0dXJuIG1vZGVsLm9yaWdpbmFsID8gbW9kZWwub3JpZ2luYWwgOiBtb2RlbDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9nZXRNb2RpZmllZE1vZGVsKCkge1xuICAgIGlmICh0aGlzLl9lZGl0b3IpIHtcbiAgICAgIGxldCBtb2RlbCA9IHRoaXMuX2VkaXRvci5nZXRNb2RlbCgpO1xuICAgICAgcmV0dXJuIG1vZGVsLm1vZGlmaWVkID8gbW9kZWwubW9kaWZpZWQgOiBudWxsO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiAjZWRpdG9yIGNsYXNzPVwiYWpmLW1vbmFjby1lZGl0b3JcIj48L2Rpdj5cbiJdfQ==
@@ -1,24 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright (C) Gnucoop soc. coop.
4
- *
5
- * This file is part of the Advanced JSON forms (ajf).
6
- *
7
- * Advanced JSON forms (ajf) is free software: you can redistribute it and/or
8
- * modify it under the terms of the GNU Affero General Public License as
9
- * published by the Free Software Foundation, either version 3 of the License,
10
- * or (at your option) any later version.
11
- *
12
- * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
13
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
15
- * General Public License for more details.
16
- *
17
- * You should have received a copy of the GNU Affero General Public License
18
- * along with Advanced JSON forms (ajf).
19
- * If not, see http://www.gnu.org/licenses/.
20
- *
21
- */
22
- export * from './monaco-editor-module';
23
- export * from './monaco-editor';
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hdGVyaWFsL21vbmFjby1lZGl0b3Ivc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHO0FBRUgsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IChDKSBHbnVjb29wIHNvYy4gY29vcC5cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWR2YW5jZWQgSlNPTiBmb3JtcyAoYWpmKS5cbiAqXG4gKiBBZHZhbmNlZCBKU09OIGZvcm1zIChhamYpIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vclxuICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSxcbiAqIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogQWR2YW5jZWQgSlNPTiBmb3JtcyAoYWpmKSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZSBHTlUgQWZmZXJvXG4gKiBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBhbG9uZyB3aXRoIEFkdmFuY2VkIEpTT04gZm9ybXMgKGFqZikuXG4gKiBJZiBub3QsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvLlxuICpcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL21vbmFjby1lZGl0b3ItbW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbW9uYWNvLWVkaXRvcic7XG4iXX0=