@apipass/inputs 0.2.1-alpha.4 → 0.2.1-alpha.7

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.
@@ -0,0 +1,204 @@
1
+ /* tslint:disable */
2
+ import { Component, ElementRef, EventEmitter, forwardRef, Input, NgZone, Output } from '@angular/core';
3
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
+ import 'brace';
5
+ import 'brace/theme/monokai';
6
+ import * as i0 from "@angular/core";
7
+ export class AceEditorComponent {
8
+ constructor(elementRef, zone) {
9
+ this.zone = zone;
10
+ this.textChanged = new EventEmitter();
11
+ this.textChange = new EventEmitter();
12
+ this.style = {};
13
+ // @ts-ignore
14
+ this._options = {};
15
+ // @ts-ignore
16
+ this._theme = 'monokai';
17
+ // @ts-ignore
18
+ this._mode = 'html';
19
+ // @ts-ignore
20
+ this._autoUpdateContent = true;
21
+ // @ts-ignore
22
+ this._durationBeforeCallback = 0;
23
+ // @ts-ignore
24
+ this._text = '';
25
+ this._onChange = (_) => {
26
+ };
27
+ this._onTouched = () => {
28
+ };
29
+ const el = elementRef.nativeElement;
30
+ this.zone.runOutsideAngular(() => {
31
+ this._editor = ace['edit'](el);
32
+ });
33
+ this._editor.$blockScrolling = Infinity;
34
+ }
35
+ ngOnInit() {
36
+ this.init();
37
+ this.initEvents();
38
+ }
39
+ ngOnDestroy() {
40
+ this._editor.destroy();
41
+ }
42
+ init() {
43
+ this.setOptions(this._options || {});
44
+ this.setTheme(this._theme);
45
+ this.setMode(this._mode);
46
+ this.setReadOnly(this._readOnly);
47
+ }
48
+ initEvents() {
49
+ this._editor.on('change', () => this.updateText());
50
+ this._editor.on('paste', () => this.updateText());
51
+ }
52
+ updateText() {
53
+ const newVal = this._editor.getValue();
54
+ if (newVal === this.oldText) {
55
+ return;
56
+ }
57
+ if (!this._durationBeforeCallback) {
58
+ this._text = newVal;
59
+ this.zone.run(() => {
60
+ this.textChange.emit(newVal);
61
+ this.textChanged.emit(newVal);
62
+ });
63
+ this._onChange(newVal);
64
+ }
65
+ else {
66
+ if (this.timeoutSaving) {
67
+ clearTimeout(this.timeoutSaving);
68
+ }
69
+ this.timeoutSaving = setTimeout(() => {
70
+ this._text = newVal;
71
+ this.zone.run(() => {
72
+ this.textChange.emit(newVal);
73
+ this.textChanged.emit(newVal);
74
+ });
75
+ this.timeoutSaving = null;
76
+ }, this._durationBeforeCallback);
77
+ }
78
+ this.oldText = newVal;
79
+ }
80
+ set options(options) {
81
+ this.setOptions(options);
82
+ }
83
+ setOptions(options) {
84
+ this._options = options;
85
+ this._editor.setOptions(options || {});
86
+ }
87
+ set readOnly(readOnly) {
88
+ this.setReadOnly(readOnly);
89
+ }
90
+ setReadOnly(readOnly) {
91
+ this._readOnly = readOnly;
92
+ this._editor.setReadOnly(readOnly);
93
+ }
94
+ set theme(theme) {
95
+ this.setTheme(theme);
96
+ }
97
+ setTheme(theme) {
98
+ this._theme = theme;
99
+ this._editor.setTheme(`ace/theme/${theme}`);
100
+ }
101
+ set mode(mode) {
102
+ this.setMode(mode);
103
+ }
104
+ setMode(mode) {
105
+ this._mode = mode;
106
+ if (typeof this._mode === 'object') {
107
+ this._editor.getSession().setMode(this._mode);
108
+ }
109
+ else {
110
+ this._editor.getSession().setMode(`ace/mode/${this._mode}`);
111
+ }
112
+ }
113
+ // @ts-ignore
114
+ get value() {
115
+ return this.text;
116
+ }
117
+ // @ts-ignore
118
+ set value(value) {
119
+ this.setText(value);
120
+ }
121
+ writeValue(value) {
122
+ this.setText(value);
123
+ }
124
+ registerOnChange(fn) {
125
+ this._onChange = fn;
126
+ }
127
+ registerOnTouched(fn) {
128
+ this._onTouched = fn;
129
+ }
130
+ get text() {
131
+ return this._text;
132
+ }
133
+ set text(text) {
134
+ this.setText(text);
135
+ }
136
+ setText(text) {
137
+ if (text === null || text === undefined) {
138
+ text = '';
139
+ }
140
+ if (this._text !== text && this._autoUpdateContent) {
141
+ this._text = text;
142
+ this._editor.setValue(text);
143
+ this._onChange(text);
144
+ this._editor.clearSelection();
145
+ }
146
+ }
147
+ set autoUpdateContent(status) {
148
+ this.setAutoUpdateContent(status);
149
+ }
150
+ setAutoUpdateContent(status) {
151
+ this._autoUpdateContent = status;
152
+ }
153
+ set durationBeforeCallback(num) {
154
+ this.setDurationBeforeCallback(num);
155
+ }
156
+ setDurationBeforeCallback(num) {
157
+ this._durationBeforeCallback = num;
158
+ }
159
+ getEditor() {
160
+ return this._editor;
161
+ }
162
+ }
163
+ AceEditorComponent.ɵfac = function AceEditorComponent_Factory(t) { return new (t || AceEditorComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone)); };
164
+ AceEditorComponent.ɵcmp = i0.ɵɵdefineComponent({ type: AceEditorComponent, selectors: [["ace-editor"]], inputs: { style: "style", options: "options", readOnly: "readOnly", theme: "theme", mode: "mode", value: "value", text: "text", autoUpdateContent: "autoUpdateContent", durationBeforeCallback: "durationBeforeCallback" }, outputs: { textChanged: "textChanged", textChange: "textChange" }, features: [i0.ɵɵProvidersFeature([{
165
+ provide: NG_VALUE_ACCESSOR,
166
+ useExisting: forwardRef(() => AceEditorComponent),
167
+ multi: true
168
+ }])], decls: 0, vars: 0, template: function AceEditorComponent_Template(rf, ctx) { }, styles: ["[_nghost-%COMP%] { display:block;width:100%; }"] });
169
+ /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(AceEditorComponent, [{
170
+ type: Component,
171
+ args: [{
172
+ selector: 'ace-editor',
173
+ template: '',
174
+ styles: [':host { display:block;width:100%; }'],
175
+ providers: [{
176
+ provide: NG_VALUE_ACCESSOR,
177
+ useExisting: forwardRef(() => AceEditorComponent),
178
+ multi: true
179
+ }]
180
+ }]
181
+ }], function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }]; }, { textChanged: [{
182
+ type: Output
183
+ }], textChange: [{
184
+ type: Output
185
+ }], style: [{
186
+ type: Input
187
+ }], options: [{
188
+ type: Input
189
+ }], readOnly: [{
190
+ type: Input
191
+ }], theme: [{
192
+ type: Input
193
+ }], mode: [{
194
+ type: Input
195
+ }], value: [{
196
+ type: Input
197
+ }], text: [{
198
+ type: Input
199
+ }], autoUpdateContent: [{
200
+ type: Input
201
+ }], durationBeforeCallback: [{
202
+ type: Input
203
+ }] }); })();
204
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5wdXRzL3NyYy9hY2UtZWRpdG9yL2NvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQkFBb0I7QUFFcEIsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFxQixNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEgsT0FBTyxFQUF1QixpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZFLE9BQU8sT0FBTyxDQUFDO0FBQ2YsT0FBTyxxQkFBcUIsQ0FBQzs7QUFjN0IsTUFBTSxPQUFPLGtCQUFrQjtJQWdDN0IsWUFBWSxVQUFzQixFQUFVLElBQVk7UUFBWixTQUFJLEdBQUosSUFBSSxDQUFRO1FBL0I5QyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDakMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDakMsVUFBSyxHQUFRLEVBQUUsQ0FBQztRQUV6QixhQUFhO1FBQ2IsYUFBUSxHQUFRLEVBQUUsQ0FBQztRQUtuQixhQUFhO1FBQ2IsV0FBTSxHQUFHLFNBQVMsQ0FBQztRQUVuQixhQUFhO1FBQ2IsVUFBSyxHQUFHLE1BQU0sQ0FBQztRQUVmLGFBQWE7UUFDYix1QkFBa0IsR0FBRyxJQUFJLENBQUM7UUFLMUIsYUFBYTtRQUNiLDRCQUF1QixHQUFHLENBQUMsQ0FBQztRQUU1QixhQUFhO1FBQ2IsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQXNISCxjQUFTLEdBQUcsQ0FBQyxDQUFNLEVBQVEsRUFBRTtRQUNyQyxDQUFDLENBQUE7UUFNTyxlQUFVLEdBQUcsR0FBUyxFQUFFO1FBQ2hDLENBQUMsQ0FBQTtRQXhIQyxNQUFNLEVBQUUsR0FBRyxVQUFVLENBQUMsYUFBYSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxJQUFJLENB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RWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBJbnB1dCwgTmdab25lLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgJ2JyYWNlJztcbmltcG9ydCAnYnJhY2UvdGhlbWUvbW9ub2thaSc7XG5cbmRlY2xhcmUgdmFyIGFjZTogYW55O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhY2UtZWRpdG9yJyxcbiAgdGVtcGxhdGU6ICcnLFxuICBzdHlsZXM6IFsnOmhvc3QgeyBkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7IH0nXSxcbiAgcHJvdmlkZXJzOiBbe1xuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFjZUVkaXRvckNvbXBvbmVudCksXG4gICAgbXVsdGk6IHRydWVcbiAgfV1cbn0pXG5leHBvcnQgY2xhc3MgQWNlRWRpdG9yQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQE91dHB1dCgpIHRleHRDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgdGV4dENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQElucHV0KCkgc3R5bGU6IGFueSA9IHt9O1xuXG4gIC8vIEB0cy1pZ25vcmVcbiAgX29wdGlvbnM6IGFueSA9IHt9O1xuXG4gIC8vIEB0cy1pZ25vcmVcbiAgX3JlYWRPbmx5OiBmYWxzZTtcblxuICAvLyBAdHMtaWdub3JlXG4gIF90aGVtZSA9ICdtb25va2FpJztcblxuICAvLyBAdHMtaWdub3JlXG4gIF9tb2RlID0gJ2h0bWwnO1xuXG4gIC8vIEB0cy1pZ25vcmVcbiAgX2F1dG9VcGRhdGVDb250ZW50ID0gdHJ1ZTtcblxuICAvLyBAdHMtaWdub3JlXG4gIF9lZGl0b3I6IGFueTtcblxuICAvLyBAdHMtaWdub3JlXG4gIF9kdXJhdGlvbkJlZm9yZUNhbGxiYWNrID0gMDtcblxuICAvLyBAdHMtaWdub3JlXG4gIF90ZXh0ID0gJyc7XG5cbiAgb2xkVGV4dDogYW55O1xuICB0aW1lb3V0U2F2aW5nOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSB6b25lOiBOZ1pvbmUpIHtcbiAgICBjb25zdCBlbCA9IGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgdGhpcy5fZWRpdG9yID0gYWNlWydlZGl0J10oZWwpO1xuICAgIH0pO1xuICAgIHRoaXMuX2VkaXRvci4kYmxvY2tTY3JvbGxpbmcgPSBJbmZpbml0eTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaW5pdCgpO1xuICAgIHRoaXMuaW5pdEV2ZW50cygpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZWRpdG9yLmRlc3Ryb3koKTtcbiAgfVxuXG4gIGluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRPcHRpb25zKHRoaXMuX29wdGlvbnMgfHwge30pO1xuICAgIHRoaXMuc2V0VGhlbWUodGhpcy5fdGhlbWUpO1xuICAgIHRoaXMuc2V0TW9kZSh0aGlzLl9tb2RlKTtcbiAgICB0aGlzLnNldFJlYWRPbmx5KHRoaXMuX3JlYWRPbmx5KTtcbiAgfVxuXG4gIGluaXRFdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy5fZWRpdG9yLm9uKCdjaGFuZ2UnLCAoKSA9PiB0aGlzLnVwZGF0ZVRleHQoKSk7XG4gICAgdGhpcy5fZWRpdG9yLm9uKCdwYXN0ZScsICgpID0+IHRoaXMudXBkYXRlVGV4dCgpKTtcbiAgfVxuXG4gIHVwZGF0ZVRleHQoKTogdm9pZCB7XG4gICAgY29uc3QgbmV3VmFsID0gdGhpcy5fZWRpdG9yLmdldFZhbHVlKCk7XG4gICAgaWYgKG5ld1ZhbCA9PT0gdGhpcy5vbGRUZXh0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghdGhpcy5fZHVyYXRpb25CZWZvcmVDYWxsYmFjaykge1xuICAgICAgdGhpcy5fdGV4dCA9IG5ld1ZhbDtcbiAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLnRleHRDaGFuZ2UuZW1pdChuZXdWYWwpO1xuICAgICAgICB0aGlzLnRleHRDaGFuZ2VkLmVtaXQobmV3VmFsKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5fb25DaGFuZ2UobmV3VmFsKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMudGltZW91dFNhdmluZykge1xuICAgICAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0U2F2aW5nKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy50aW1lb3V0U2F2aW5nID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuX3RleHQgPSBuZXdWYWw7XG4gICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgIHRoaXMudGV4dENoYW5nZS5lbWl0KG5ld1ZhbCk7XG4gICAgICAgICAgdGhpcy50ZXh0Q2hhbmdlZC5lbWl0KG5ld1ZhbCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnRpbWVvdXRTYXZpbmcgPSBudWxsO1xuICAgICAgfSwgdGhpcy5fZHVyYXRpb25CZWZvcmVDYWxsYmFjayk7XG4gICAgfVxuICAgIHRoaXMub2xkVGV4dCA9IG5ld1ZhbDtcbiAgfVxuXG4gIEBJbnB1dCgpIHNldCBvcHRpb25zKG9wdGlvbnM6IGFueSkge1xuICAgIHRoaXMuc2V0T3B0aW9ucyhvcHRpb25zKTtcbiAgfVxuXG4gIHNldE9wdGlvbnMob3B0aW9uczogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fb3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgdGhpcy5fZWRpdG9yLnNldE9wdGlvbnMob3B0aW9ucyB8fCB7fSk7XG4gIH1cblxuICBASW5wdXQoKSBzZXQgcmVhZE9ubHkocmVhZE9ubHk6IGFueSkge1xuICAgIHRoaXMuc2V0UmVhZE9ubHkocmVhZE9ubHkpO1xuICB9XG5cbiAgc2V0UmVhZE9ubHkocmVhZE9ubHk6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX3JlYWRPbmx5ID0gcmVhZE9ubHk7XG4gICAgdGhpcy5fZWRpdG9yLnNldFJlYWRPbmx5KHJlYWRPbmx5KTtcbiAgfVxuXG4gIEBJbnB1dCgpIHNldCB0aGVtZSh0aGVtZTogYW55KSB7XG4gICAgdGhpcy5zZXRUaGVtZSh0aGVtZSk7XG4gIH1cblxuICBzZXRUaGVtZSh0aGVtZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fdGhlbWUgPSB0aGVtZTtcbiAgICB0aGlzLl9lZGl0b3Iuc2V0VGhlbWUoYGFjZS90aGVtZS8ke3RoZW1lfWApO1xuICB9XG5cbiAgQElucHV0KCkgc2V0IG1vZGUobW9kZTogYW55KSB7XG4gICAgdGhpcy5zZXRNb2RlKG1vZGUpO1xuICB9XG5cbiAgc2V0TW9kZShtb2RlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9tb2RlID0gbW9kZTtcbiAgICBpZiAodHlwZW9mIHRoaXMuX21vZGUgPT09ICdvYmplY3QnKSB7XG4gICAgICB0aGlzLl9lZGl0b3IuZ2V0U2Vzc2lvbigpLnNldE1vZGUodGhpcy5fbW9kZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2VkaXRvci5nZXRTZXNzaW9uKCkuc2V0TW9kZShgYWNlL21vZGUvJHt0aGlzLl9tb2RlfWApO1xuICAgIH1cbiAgfVxuXG4gIC8vIEB0cy1pZ25vcmVcbiAgZ2V0IHZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLnRleHQ7XG4gIH1cblxuICAvLyBAdHMtaWdub3JlXG4gIEBJbnB1dCgpXG4gIHNldCB2YWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5zZXRUZXh0KHZhbHVlKTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuc2V0VGV4dCh2YWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIF9vbkNoYW5nZSA9IChfOiBhbnkpOiB2b2lkID0+IHtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX29uQ2hhbmdlID0gZm47XG4gIH1cblxuICBwcml2YXRlIF9vblRvdWNoZWQgPSAoKTogdm9pZCA9PiB7XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fb25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBnZXQgdGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5fdGV4dDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCB0ZXh0KHRleHQ6IHN0cmluZykge1xuICAgIHRoaXMuc2V0VGV4dCh0ZXh0KTtcbiAgfVxuXG4gIHNldFRleHQodGV4dDogYW55KTogdm9pZCB7XG4gICAgaWYgKHRleHQgPT09IG51bGwgfHwgdGV4dCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0ZXh0ID0gJyc7XG4gICAgfVxuICAgIGlmICh0aGlzLl90ZXh0ICE9PSB0ZXh0ICYmIHRoaXMuX2F1dG9VcGRhdGVDb250ZW50KSB7XG4gICAgICB0aGlzLl90ZXh0ID0gdGV4dDtcbiAgICAgIHRoaXMuX2VkaXRvci5zZXRWYWx1ZSh0ZXh0KTtcbiAgICAgIHRoaXMuX29uQ2hhbmdlKHRleHQpO1xuICAgICAgdGhpcy5fZWRpdG9yLmNsZWFyU2VsZWN0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KCkgc2V0IGF1dG9VcGRhdGVDb250ZW50KHN0YXR1czogYW55KSB7XG4gICAgdGhpcy5zZXRBdXRvVXBkYXRlQ29udGVudChzdGF0dXMpO1xuICB9XG5cbiAgc2V0QXV0b1VwZGF0ZUNvbnRlbnQoc3RhdHVzOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9hdXRvVXBkYXRlQ29udGVudCA9IHN0YXR1cztcbiAgfVxuXG4gIEBJbnB1dCgpIHNldCBkdXJhdGlvbkJlZm9yZUNhbGxiYWNrKG51bTogbnVtYmVyKSB7XG4gICAgdGhpcy5zZXREdXJhdGlvbkJlZm9yZUNhbGxiYWNrKG51bSk7XG4gIH1cblxuICBzZXREdXJhdGlvbkJlZm9yZUNhbGxiYWNrKG51bTogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5fZHVyYXRpb25CZWZvcmVDYWxsYmFjayA9IG51bTtcbiAgfVxuXG4gIGdldEVkaXRvcigpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLl9lZGl0b3I7XG4gIH1cblxufVxuIl19
@@ -0,0 +1,150 @@
1
+ /* tslint:disable */
2
+ import { Directive, ElementRef, EventEmitter, Input, NgZone, Output } from '@angular/core';
3
+ import 'brace';
4
+ import 'brace/theme/monokai';
5
+ import * as i0 from "@angular/core";
6
+ export class AceEditorDirective {
7
+ constructor(elementRef, zone) {
8
+ this.zone = zone;
9
+ this.textChanged = new EventEmitter();
10
+ this.textChange = new EventEmitter();
11
+ this._options = {};
12
+ this._readOnly = false;
13
+ this._theme = 'monokai';
14
+ this._mode = 'html';
15
+ this._autoUpdateContent = true;
16
+ this._durationBeforeCallback = 0;
17
+ this._text = '';
18
+ const el = elementRef.nativeElement;
19
+ this.zone.runOutsideAngular(() => {
20
+ this.editor = ace['edit'](el);
21
+ });
22
+ this.editor.$blockScrolling = Infinity;
23
+ }
24
+ ngOnInit() {
25
+ this.init();
26
+ this.initEvents();
27
+ }
28
+ ngOnDestroy() {
29
+ this.editor.destroy();
30
+ }
31
+ init() {
32
+ this.editor.setOptions(this._options || {});
33
+ this.editor.setTheme(`ace/theme/${this._theme}`);
34
+ this.setMode(this._mode);
35
+ this.editor.setReadOnly(this._readOnly);
36
+ }
37
+ initEvents() {
38
+ this.editor.on('change', () => this.updateText());
39
+ this.editor.on('paste', () => this.updateText());
40
+ }
41
+ updateText() {
42
+ const newVal = this.editor.getValue();
43
+ if (newVal === this.oldText) {
44
+ return;
45
+ }
46
+ if (!this._durationBeforeCallback) {
47
+ this._text = newVal;
48
+ this.zone.run(() => {
49
+ this.textChange.emit(newVal);
50
+ this.textChanged.emit(newVal);
51
+ });
52
+ }
53
+ else {
54
+ if (this.timeoutSaving != null) {
55
+ clearTimeout(this.timeoutSaving);
56
+ }
57
+ this.timeoutSaving = setTimeout(() => {
58
+ this._text = newVal;
59
+ this.zone.run(() => {
60
+ this.textChange.emit(newVal);
61
+ this.textChanged.emit(newVal);
62
+ });
63
+ this.timeoutSaving = null;
64
+ }, this._durationBeforeCallback);
65
+ }
66
+ this.oldText = newVal;
67
+ }
68
+ set options(options) {
69
+ this._options = options;
70
+ this.editor.setOptions(options || {});
71
+ }
72
+ set readOnly(readOnly) {
73
+ this._readOnly = readOnly;
74
+ this.editor.setReadOnly(readOnly);
75
+ }
76
+ set theme(theme) {
77
+ this._theme = theme;
78
+ this.editor.setTheme(`ace/theme/${theme}`);
79
+ }
80
+ set mode(mode) {
81
+ this.setMode(mode);
82
+ }
83
+ setMode(mode) {
84
+ this._mode = mode;
85
+ if (typeof this._mode === 'object') {
86
+ this.editor.getSession().setMode(this._mode);
87
+ }
88
+ else {
89
+ this.editor.getSession().setMode(`ace/mode/${this._mode}`);
90
+ }
91
+ }
92
+ // @ts-ignore
93
+ get text() {
94
+ return this._text;
95
+ }
96
+ set text(text) {
97
+ this.setText(text);
98
+ }
99
+ setText(text) {
100
+ if (this._text !== text) {
101
+ if (text === null || text === undefined) {
102
+ text = '';
103
+ }
104
+ if (this._autoUpdateContent) {
105
+ this._text = text;
106
+ this.editor.setValue(text);
107
+ this.editor.clearSelection();
108
+ }
109
+ }
110
+ }
111
+ set autoUpdateContent(status) {
112
+ this._autoUpdateContent = status;
113
+ }
114
+ set durationBeforeCallback(num) {
115
+ this.setDurationBeforeCallback(num);
116
+ }
117
+ setDurationBeforeCallback(num) {
118
+ this._durationBeforeCallback = num;
119
+ }
120
+ get aceEditor() {
121
+ return this.editor;
122
+ }
123
+ }
124
+ AceEditorDirective.ɵfac = function AceEditorDirective_Factory(t) { return new (t || AceEditorDirective)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone)); };
125
+ AceEditorDirective.ɵdir = i0.ɵɵdefineDirective({ type: AceEditorDirective, selectors: [["", "ace-editor", ""]], inputs: { options: "options", readOnly: "readOnly", theme: "theme", mode: "mode", text: "text", autoUpdateContent: "autoUpdateContent", durationBeforeCallback: "durationBeforeCallback" }, outputs: { textChanged: "textChanged", textChange: "textChange" } });
126
+ /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(AceEditorDirective, [{
127
+ type: Directive,
128
+ args: [{
129
+ selector: '[ace-editor]'
130
+ }]
131
+ }], function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }]; }, { textChanged: [{
132
+ type: Output
133
+ }], textChange: [{
134
+ type: Output
135
+ }], options: [{
136
+ type: Input
137
+ }], readOnly: [{
138
+ type: Input
139
+ }], theme: [{
140
+ type: Input
141
+ }], mode: [{
142
+ type: Input
143
+ }], text: [{
144
+ type: Input
145
+ }], autoUpdateContent: [{
146
+ type: Input
147
+ }], durationBeforeCallback: [{
148
+ type: Input
149
+ }] }); })();
150
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5wdXRzL3NyYy9hY2UtZWRpdG9yL2RpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQkFBb0I7QUFFcEIsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQXFCLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM1RyxPQUFPLE9BQU8sQ0FBQztBQUNmLE9BQU8scUJBQXFCLENBQUM7O0FBTzdCLE1BQU0sT0FBTyxrQkFBa0I7SUFjN0IsWUFBWSxVQUFzQixFQUFVLElBQVk7UUFBWixTQUFJLEdBQUosSUFBSSxDQUFRO1FBYjlDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqQyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMxQyxhQUFRLEdBQVEsRUFBRSxDQUFDO1FBQ25CLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsV0FBTSxHQUFHLFNBQVMsQ0FBQztRQUNuQixVQUFLLEdBQUcsTUFBTSxDQUFDO1FBQ2YsdUJBQWtCLEdBQUcsSUFBSSxDQUFDO1FBQzFCLDRCQUF1QixHQUFHLENBQUMsQ0FBQztRQUM1QixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBTVQsTUFBTSxFQUFFLEdBQUcsVUFBVSxDQUFDLGFBQWEsQ0FBQztRQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtZQUMvQixJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNoQyxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxHQUFHLFFBQVEsQ0FBQztJQUN6QyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNa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QUFHLE1BQU0sQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBYSxzQkFBc0IsQ0FBQyxHQUFXO1FBQzdDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQseUJBQXlCLENBQUMsR0FBVztRQUNuQyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsR0FBRyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQzs7b0ZBeklVLGtCQUFrQjt1REFBbEIsa0JBQWtCO2tEQUFsQixrQkFBa0I7Y0FIOUIsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxjQUFjO2FBQ3pCO2tGQUVXLFdBQVc7a0JBQXBCLE1BQU07WUFDRyxVQUFVO2tCQUFuQixNQUFNO1lBcUVNLE9BQU87a0JBQW5CLEtBQUs7WUFLTyxRQUFRO2tCQUFwQixLQUFLO1lBS08sS0FBSztrQkFBakIsS0FBSztZQUtPLElBQUk7a0JBQWhCLEtBQUs7WUFlRixJQUFJO2tCQURQLEtBQUs7WUF1Qk8saUJBQWlCO2tCQUE3QixLQUFLO1lBSU8sc0JBQXNCO2tCQUFsQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyogdHNsaW50OmRpc2FibGUgKi9cblxuaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE5nWm9uZSwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgJ2JyYWNlJztcbmltcG9ydCAnYnJhY2UvdGhlbWUvbW9ub2thaSc7XG5cbmRlY2xhcmUgdmFyIGFjZTogYW55O1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYWNlLWVkaXRvcl0nXG59KVxuZXhwb3J0IGNsYXNzIEFjZUVkaXRvckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQE91dHB1dCgpIHRleHRDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgdGV4dENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgX29wdGlvbnM6IGFueSA9IHt9O1xuICBfcmVhZE9ubHkgPSBmYWxzZTtcbiAgX3RoZW1lID0gJ21vbm9rYWknO1xuICBfbW9kZSA9ICdodG1sJztcbiAgX2F1dG9VcGRhdGVDb250ZW50ID0gdHJ1ZTtcbiAgX2R1cmF0aW9uQmVmb3JlQ2FsbGJhY2sgPSAwO1xuICBfdGV4dCA9ICcnO1xuICBlZGl0b3I6IGFueTtcbiAgb2xkVGV4dDogYW55O1xuICB0aW1lb3V0U2F2aW5nOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSB6b25lOiBOZ1pvbmUpIHtcbiAgICBjb25zdCBlbCA9IGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgdGhpcy5lZGl0b3IgPSBhY2VbJ2VkaXQnXShlbCk7XG4gICAgfSk7XG4gICAgdGhpcy5lZGl0b3IuJGJsb2NrU2Nyb2xsaW5nID0gSW5maW5pdHk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXQoKTtcbiAgICB0aGlzLmluaXRFdmVudHMoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZWRpdG9yLmRlc3Ryb3koKTtcbiAgfVxuXG4gIGluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5lZGl0b3Iuc2V0T3B0aW9ucyh0aGlzLl9vcHRpb25zIHx8IHt9KTtcbiAgICB0aGlzLmVkaXRvci5zZXRUaGVtZShgYWNlL3RoZW1lLyR7dGhpcy5fdGhlbWV9YCk7XG4gICAgdGhpcy5zZXRNb2RlKHRoaXMuX21vZGUpO1xuICAgIHRoaXMuZWRpdG9yLnNldFJlYWRPbmx5KHRoaXMuX3JlYWRPbmx5KTtcbiAgfVxuXG4gIGluaXRFdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy5lZGl0b3Iub24oJ2NoYW5nZScsICgpID0+IHRoaXMudXBkYXRlVGV4dCgpKTtcbiAgICB0aGlzLmVkaXRvci5vbigncGFzdGUnLCAoKSA9PiB0aGlzLnVwZGF0ZVRleHQoKSk7XG4gIH1cblxuICB1cGRhdGVUZXh0KCk6IHZvaWQge1xuICAgIGNvbnN0IG5ld1ZhbCA9IHRoaXMuZWRpdG9yLmdldFZhbHVlKCk7XG4gICAgaWYgKG5ld1ZhbCA9PT0gdGhpcy5vbGRUZXh0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghdGhpcy5fZHVyYXRpb25CZWZvcmVDYWxsYmFjaykge1xuICAgICAgdGhpcy5fdGV4dCA9IG5ld1ZhbDtcbiAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLnRleHRDaGFuZ2UuZW1pdChuZXdWYWwpO1xuICAgICAgICB0aGlzLnRleHRDaGFuZ2VkLmVtaXQobmV3VmFsKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy50aW1lb3V0U2F2aW5nICE9IG51bGwpIHtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZW91dFNhdmluZyk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMudGltZW91dFNhdmluZyA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLl90ZXh0ID0gbmV3VmFsO1xuICAgICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnRleHRDaGFuZ2UuZW1pdChuZXdWYWwpO1xuICAgICAgICAgIHRoaXMudGV4dENoYW5nZWQuZW1pdChuZXdWYWwpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy50aW1lb3V0U2F2aW5nID0gbnVsbDtcbiAgICAgIH0sIHRoaXMuX2R1cmF0aW9uQmVmb3JlQ2FsbGJhY2spO1xuICAgIH1cbiAgICB0aGlzLm9sZFRleHQgPSBuZXdWYWw7XG4gIH1cblxuICBASW5wdXQoKSBzZXQgb3B0aW9ucyhvcHRpb25zOiBhbnkpIHtcbiAgICB0aGlzLl9vcHRpb25zID0gb3B0aW9ucztcbiAgICB0aGlzLmVkaXRvci5zZXRPcHRpb25zKG9wdGlvbnMgfHwge30pO1xuICB9XG5cbiAgQElucHV0KCkgc2V0IHJlYWRPbmx5KHJlYWRPbmx5OiBhbnkpIHtcbiAgICB0aGlzLl9yZWFkT25seSA9IHJlYWRPbmx5O1xuICAgIHRoaXMuZWRpdG9yLnNldFJlYWRPbmx5KHJlYWRPbmx5KTtcbiAgfVxuXG4gIEBJbnB1dCgpIHNldCB0aGVtZSh0aGVtZTogYW55KSB7XG4gICAgdGhpcy5fdGhlbWUgPSB0aGVtZTtcbiAgICB0aGlzLmVkaXRvci5zZXRUaGVtZShgYWNlL3RoZW1lLyR7dGhlbWV9YCk7XG4gIH1cblxuICBASW5wdXQoKSBzZXQgbW9kZShtb2RlOiBhbnkpIHtcbiAgICB0aGlzLnNldE1vZGUobW9kZSk7XG4gIH1cblxuICBzZXRNb2RlKG1vZGU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX21vZGUgPSBtb2RlO1xuICAgIGlmICh0eXBlb2YgdGhpcy5fbW9kZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgIHRoaXMuZWRpdG9yLmdldFNlc3Npb24oKS5zZXRNb2RlKHRoaXMuX21vZGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmVkaXRvci5nZXRTZXNzaW9uKCkuc2V0TW9kZShgYWNlL21vZGUvJHt0aGlzLl9tb2RlfWApO1xuICAgIH1cbiAgfVxuXG4gIC8vIEB0cy1pZ25vcmVcbiAgQElucHV0KClcbiAgZ2V0IHRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3RleHQ7XG4gIH1cblxuICBzZXQgdGV4dCh0ZXh0OiBzdHJpbmcpIHtcbiAgICB0aGlzLnNldFRleHQodGV4dCk7XG4gIH1cblxuICBzZXRUZXh0KHRleHQ6IGFueSk6IHZvaWQge1xuICAgIGlmICh0aGlzLl90ZXh0ICE9PSB0ZXh0KSB7XG4gICAgICBpZiAodGV4dCA9PT0gbnVsbCB8fCB0ZXh0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGV4dCA9ICcnO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5fYXV0b1VwZGF0ZUNvbnRlbnQpIHtcbiAgICAgICAgdGhpcy5fdGV4dCA9IHRleHQ7XG4gICAgICAgIHRoaXMuZWRpdG9yLnNldFZhbHVlKHRleHQpO1xuICAgICAgICB0aGlzLmVkaXRvci5jbGVhclNlbGVjdGlvbigpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpIHNldCBhdXRvVXBkYXRlQ29udGVudChzdGF0dXM6IGFueSkge1xuICAgIHRoaXMuX2F1dG9VcGRhdGVDb250ZW50ID0gc3RhdHVzO1xuICB9XG5cbiAgQElucHV0KCkgc2V0IGR1cmF0aW9uQmVmb3JlQ2FsbGJhY2sobnVtOiBudW1iZXIpIHtcbiAgICB0aGlzLnNldER1cmF0aW9uQmVmb3JlQ2FsbGJhY2sobnVtKTtcbiAgfVxuXG4gIHNldER1cmF0aW9uQmVmb3JlQ2FsbGJhY2sobnVtOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLl9kdXJhdGlvbkJlZm9yZUNhbGxiYWNrID0gbnVtO1xuICB9XG5cbiAgZ2V0IGFjZUVkaXRvcigpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLmVkaXRvcjtcbiAgfVxufVxuIl19
@@ -23,6 +23,8 @@ import { TranslateModule } from '@ngx-translate/core';
23
23
  import { RouterModule } from '@angular/router';
24
24
  import { MatPasswordStrengthModule } from '@angular-material-extensions/password-strength';
25
25
  import { InputFileComponent } from './input-file/input-file.component';
26
+ import { AceEditorComponent } from './ace-editor/component';
27
+ import { AceEditorDirective } from './ace-editor/directive';
26
28
  import * as i0 from "@angular/core";
27
29
  import * as i1 from "@angular/router";
28
30
  export class InputsModule {
@@ -53,7 +55,9 @@ InputsModule.ɵinj = i0.ɵɵdefineInjector({ factory: function InputsModule_Fact
53
55
  InputAvatarComponent,
54
56
  InputFileComponent,
55
57
  CustomSelectComponent,
56
- FieldComponent], imports: [i1.RouterModule, CommonModule,
58
+ FieldComponent,
59
+ AceEditorComponent,
60
+ AceEditorDirective], imports: [i1.RouterModule, CommonModule,
57
61
  FormsModule,
58
62
  MatFormFieldModule,
59
63
  MatInputModule,
@@ -73,7 +77,9 @@ InputsModule.ɵinj = i0.ɵɵdefineInjector({ factory: function InputsModule_Fact
73
77
  InputAvatarComponent,
74
78
  InputFileComponent,
75
79
  CustomSelectComponent,
76
- FieldComponent] }); })();
80
+ FieldComponent,
81
+ AceEditorComponent,
82
+ AceEditorDirective] }); })();
77
83
  /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(InputsModule, [{
78
84
  type: NgModule,
79
85
  args: [{
@@ -103,7 +109,9 @@ InputsModule.ɵinj = i0.ɵɵdefineInjector({ factory: function InputsModule_Fact
103
109
  InputAvatarComponent,
104
110
  InputFileComponent,
105
111
  CustomSelectComponent,
106
- FieldComponent
112
+ FieldComponent,
113
+ AceEditorComponent,
114
+ AceEditorDirective
107
115
  ],
108
116
  exports: [
109
117
  SelectBoxComponent,
@@ -113,9 +121,11 @@ InputsModule.ɵinj = i0.ɵɵdefineInjector({ factory: function InputsModule_Fact
113
121
  InputAvatarComponent,
114
122
  InputFileComponent,
115
123
  CustomSelectComponent,
116
- FieldComponent
124
+ FieldComponent,
125
+ AceEditorComponent,
126
+ AceEditorDirective
117
127
  ],
118
128
  providers: [],
119
129
  }]
120
130
  }], null, null); })();
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXRzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2lucHV0cy9zcmMvaW5wdXRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDeEUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDakYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDM0UsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ3hELE9BQU8sRUFBQyxnQ0FBZ0MsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQ25HLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQztBQUN6RixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQzs7O0FBMkNyRSxNQUFNLE9BQU8sWUFBWTs7Z0RBQVosWUFBWTt1R0FBWixZQUFZLG1CQUZaLEVBQUUsWUF0Q0o7WUFDUCxZQUFZLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUN6QixZQUFZO1lBQ1osV0FBVztZQUNYLGtCQUFrQjtZQUNsQixjQUFjO1lBQ2QseUJBQXlCO1lBQ3pCLGVBQWU7WUFDZixxQkFBcUI7WUFDckIsY0FBYztZQUNkLFVBQVU7WUFDVixhQUFhO1lBQ2IsZUFBZTtZQUNmLFdBQVc7WUFDWCxnQkFBZ0I7WUFDaEIsU0FBUztTQUNWO3dGQXdCVSxZQUFZLG1CQXRCckIsZ0NBQWdDO1FBQ2hDLGtCQUFrQjtRQUNsQixtQkFBbUI7UUFDbkIsa0JBQWtCO1FBQ2xCLHNCQUFzQjtRQUN0QixvQkFBb0I7UUFDcEIsa0JBQWtCO1FBQ2xCLHFCQUFxQjtRQUNyQixjQUFjLDhCQXhCZCxZQUFZO1FBQ1osV0FBVztRQUNYLGtCQUFrQjtRQUNsQixjQUFjO1FBQ2QseUJBQXlCO1FBQ3pCLGVBQWU7UUFDZixxQkFBcUI7UUFDckIsY0FBYztRQUNkLFVBQVU7UUFDVixhQUFhO1FBQ2IsZUFBZTtRQUNmLFdBQVc7UUFDWCxnQkFBZ0I7UUFDaEIsU0FBUyxhQWNULGtCQUFrQjtRQUNsQixtQkFBbUI7UUFDbkIsa0JBQWtCO1FBQ2xCLHNCQUFzQjtRQUN0QixvQkFBb0I7UUFDcEIsa0JBQWtCO1FBQ2xCLHFCQUFxQjtRQUNyQixjQUFjO2tEQUlMLFlBQVk7Y0F6Q3hCLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7b0JBQ3pCLFlBQVk7b0JBQ1osV0FBVztvQkFDWCxrQkFBa0I7b0JBQ2xCLGNBQWM7b0JBQ2QseUJBQXlCO29CQUN6QixlQUFlO29CQUNmLHFCQUFxQjtvQkFDckIsY0FBYztvQkFDZCxVQUFVO29CQUNWLGFBQWE7b0JBQ2IsZUFBZTtvQkFDZixXQUFXO29CQUNYLGdCQUFnQjtvQkFDaEIsU0FBUztpQkFDVjtnQkFDRCxZQUFZLEVBQUU7b0JBQ1osZ0NBQWdDO29CQUNoQyxrQkFBa0I7b0JBQ2xCLG1CQUFtQjtvQkFDbkIsa0JBQWtCO29CQUNsQixzQkFBc0I7b0JBQ3RCLG9CQUFvQjtvQkFDcEIsa0JBQWtCO29CQUNsQixxQkFBcUI7b0JBQ3JCLGNBQWM7aUJBQ2Y7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLGtCQUFrQjtvQkFDbEIsbUJBQW1CO29CQUNuQixrQkFBa0I7b0JBQ2xCLHNCQUFzQjtvQkFDdEIsb0JBQW9CO29CQUNwQixrQkFBa0I7b0JBQ2xCLHFCQUFxQjtvQkFDckIsY0FBYztpQkFDZjtnQkFDRCxTQUFTLEVBQUUsRUFBRTthQUNkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7U2VsZWN0RW51bUNvbXBvbmVudH0gZnJvbSAnLi9zZWxlY3QtZW51bS9zZWxlY3QtZW51bS5jb21wb25lbnQnO1xuaW1wb3J0IHtNYXRGb3JtRmllbGRNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHtNYXRJbnB1dE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHtNYXRTZWxlY3RNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQge01hdEljb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHtNYXRUb29sdGlwTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7SW5wdXRQYXNzd29yZENvbXBvbmVudH0gZnJvbSAnLi9pbnB1dC1wYXNzd29yZC9pbnB1dC1wYXNzd29yZC5jb21wb25lbnQnO1xuaW1wb3J0IHtJbnB1dFRleHRDb21wb25lbnR9IGZyb20gJy4vaW5wdXQtdGV4dC9pbnB1dC10ZXh0LmNvbXBvbmVudCc7XG5pbXBvcnQge0lucHV0QXZhdGFyQ29tcG9uZW50fSBmcm9tICcuL2lucHV0LWF2YXRhci9pbnB1dC1hdmF0YXIuY29tcG9uZW50JztcbmltcG9ydCB7RmllbGRDb21wb25lbnR9IGZyb20gJy4vZmllbGQvZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7U2VsZWN0Qm94Q29tcG9uZW50fSBmcm9tICcuL3NlbGVjdC1ib3gvc2VsZWN0LWJveC5jb21wb25lbnQnO1xuaW1wb3J0IHtNYXRTZWxlY3RGaWx0ZXJNb2R1bGV9IGZyb20gJ21hdC1zZWxlY3QtZmlsdGVyJztcbmltcG9ydCB7TWF0U2VsZWN0SW5maW5pdGVTY3JvbGxEaXJlY3RpdmV9IGZyb20gJy4vc2VsZWN0LWJveC9tYXQtc2VsZWN0LWluZmluaXRlLXNjcm9sbC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtOZ1NlbGVjdE1vZHVsZX0gZnJvbSAnQG5nLXNlbGVjdC9uZy1zZWxlY3QnO1xuaW1wb3J0IHtDdXN0b21TZWxlY3RDb21wb25lbnR9IGZyb20gJy4vY3VzdG9tLXNlbGVjdC9jdXN0b20tc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQge0RuZE1vZHVsZX0gZnJvbSAnbmd4LWRyYWctZHJvcCc7XG5pbXBvcnQge0ljb25zTW9kdWxlfSBmcm9tICdAYXBpcGFzcy9pY29ucyc7XG5pbXBvcnQge1BpcGVNb2R1bGV9IGZyb20gJ0BhcGlwYXNzL3BpcGVzJztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7Um91dGVyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtNYXRQYXNzd29yZFN0cmVuZ3RoTW9kdWxlfSBmcm9tICdAYW5ndWxhci1tYXRlcmlhbC1leHRlbnNpb25zL3Bhc3N3b3JkLXN0cmVuZ3RoJztcbmltcG9ydCB7SW5wdXRGaWxlQ29tcG9uZW50fSBmcm9tICcuL2lucHV0LWZpbGUvaW5wdXQtZmlsZS5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgUm91dGVyTW9kdWxlLmZvckNoaWxkKFtdKSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIE1hdFBhc3N3b3JkU3RyZW5ndGhNb2R1bGUsXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxuICAgIE1hdFNlbGVjdEZpbHRlck1vZHVsZSxcbiAgICBOZ1NlbGVjdE1vZHVsZSxcbiAgICBQaXBlTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIEljb25zTW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgRG5kTW9kdWxlLFxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBNYXRTZWxlY3RJbmZpbml0ZVNjcm9sbERpcmVjdGl2ZSxcbiAgICBTZWxlY3RCb3hDb21wb25lbnQsXG4gICAgU2VsZWN0RW51bUNvbXBvbmVudCxcbiAgICBJbnB1dFRleHRDb21wb25lbnQsXG4gICAgSW5wdXRQYXNzd29yZENvbXBvbmVudCxcbiAgICBJbnB1dEF2YXRhckNvbXBvbmVudCxcbiAgICBJbnB1dEZpbGVDb21wb25lbnQsXG4gICAgQ3VzdG9tU2VsZWN0Q29tcG9uZW50LFxuICAgIEZpZWxkQ29tcG9uZW50XG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBTZWxlY3RCb3hDb21wb25lbnQsXG4gICAgU2VsZWN0RW51bUNvbXBvbmVudCxcbiAgICBJbnB1dFRleHRDb21wb25lbnQsXG4gICAgSW5wdXRQYXNzd29yZENvbXBvbmVudCxcbiAgICBJbnB1dEF2YXRhckNvbXBvbmVudCxcbiAgICBJbnB1dEZpbGVDb21wb25lbnQsXG4gICAgQ3VzdG9tU2VsZWN0Q29tcG9uZW50LFxuICAgIEZpZWxkQ29tcG9uZW50XG4gIF0sXG4gIHByb3ZpZGVyczogW10sXG59KVxuZXhwb3J0IGNsYXNzIElucHV0c01vZHVsZSB7XG59XG4iXX0=
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXRzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2lucHV0cy9zcmMvaW5wdXRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDeEUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDakYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDM0UsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ3hELE9BQU8sRUFBQyxnQ0FBZ0MsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQ25HLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQztBQUN6RixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBK0MxRCxNQUFNLE9BQU8sWUFBWTs7Z0RBQVosWUFBWTt1R0FBWixZQUFZLG1CQUZaLEVBQUUsWUExQ0o7WUFDUCxZQUFZLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUN6QixZQUFZO1lBQ1osV0FBVztZQUNYLGtCQUFrQjtZQUNsQixjQUFjO1lBQ2QseUJBQXlCO1lBQ3pCLGVBQWU7WUFDZixxQkFBcUI7WUFDckIsY0FBYztZQUNkLFVBQVU7WUFDVixhQUFhO1lBQ2IsZUFBZTtZQUNmLFdBQVc7WUFDWCxnQkFBZ0I7WUFDaEIsU0FBUztTQUNWO3dGQTRCVSxZQUFZLG1CQTFCckIsZ0NBQWdDO1FBQ2hDLGtCQUFrQjtRQUNsQixtQkFBbUI7UUFDbkIsa0JBQWtCO1FBQ2xCLHNCQUFzQjtRQUN0QixvQkFBb0I7UUFDcEIsa0JBQWtCO1FBQ2xCLHFCQUFxQjtRQUNyQixjQUFjO1FBQ2Qsa0JBQWtCO1FBQ2xCLGtCQUFrQiw4QkExQmxCLFlBQVk7UUFDWixXQUFXO1FBQ1gsa0JBQWtCO1FBQ2xCLGNBQWM7UUFDZCx5QkFBeUI7UUFDekIsZUFBZTtRQUNmLHFCQUFxQjtRQUNyQixjQUFjO1FBQ2QsVUFBVTtRQUNWLGFBQWE7UUFDYixlQUFlO1FBQ2YsV0FBVztRQUNYLGdCQUFnQjtRQUNoQixTQUFTLGFBZ0JULGtCQUFrQjtRQUNsQixtQkFBbUI7UUFDbkIsa0JBQWtCO1FBQ2xCLHNCQUFzQjtRQUN0QixvQkFBb0I7UUFDcEIsa0JBQWtCO1FBQ2xCLHFCQUFxQjtRQUNyQixjQUFjO1FBQ2Qsa0JBQWtCO1FBQ2xCLGtCQUFrQjtrREFJVCxZQUFZO2NBN0N4QixRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO29CQUN6QixZQUFZO29CQUNaLFdBQVc7b0JBQ1gsa0JBQWtCO29CQUNsQixjQUFjO29CQUNkLHlCQUF5QjtvQkFDekIsZUFBZTtvQkFDZixxQkFBcUI7b0JBQ3JCLGNBQWM7b0JBQ2QsVUFBVTtvQkFDVixhQUFhO29CQUNiLGVBQWU7b0JBQ2YsV0FBVztvQkFDWCxnQkFBZ0I7b0JBQ2hCLFNBQVM7aUJBQ1Y7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLGdDQUFnQztvQkFDaEMsa0JBQWtCO29CQUNsQixtQkFBbUI7b0JBQ25CLGtCQUFrQjtvQkFDbEIsc0JBQXNCO29CQUN0QixvQkFBb0I7b0JBQ3BCLGtCQUFrQjtvQkFDbEIscUJBQXFCO29CQUNyQixjQUFjO29CQUNkLGtCQUFrQjtvQkFDbEIsa0JBQWtCO2lCQUNuQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1Asa0JBQWtCO29CQUNsQixtQkFBbUI7b0JBQ25CLGtCQUFrQjtvQkFDbEIsc0JBQXNCO29CQUN0QixvQkFBb0I7b0JBQ3BCLGtCQUFrQjtvQkFDbEIscUJBQXFCO29CQUNyQixjQUFjO29CQUNkLGtCQUFrQjtvQkFDbEIsa0JBQWtCO2lCQUNuQjtnQkFDRCxTQUFTLEVBQUUsRUFBRTthQUNkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7U2VsZWN0RW51bUNvbXBvbmVudH0gZnJvbSAnLi9zZWxlY3QtZW51bS9zZWxlY3QtZW51bS5jb21wb25lbnQnO1xuaW1wb3J0IHtNYXRGb3JtRmllbGRNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHtNYXRJbnB1dE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHtNYXRTZWxlY3RNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQge01hdEljb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHtNYXRUb29sdGlwTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7SW5wdXRQYXNzd29yZENvbXBvbmVudH0gZnJvbSAnLi9pbnB1dC1wYXNzd29yZC9pbnB1dC1wYXNzd29yZC5jb21wb25lbnQnO1xuaW1wb3J0IHtJbnB1dFRleHRDb21wb25lbnR9IGZyb20gJy4vaW5wdXQtdGV4dC9pbnB1dC10ZXh0LmNvbXBvbmVudCc7XG5pbXBvcnQge0lucHV0QXZhdGFyQ29tcG9uZW50fSBmcm9tICcuL2lucHV0LWF2YXRhci9pbnB1dC1hdmF0YXIuY29tcG9uZW50JztcbmltcG9ydCB7RmllbGRDb21wb25lbnR9IGZyb20gJy4vZmllbGQvZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7U2VsZWN0Qm94Q29tcG9uZW50fSBmcm9tICcuL3NlbGVjdC1ib3gvc2VsZWN0LWJveC5jb21wb25lbnQnO1xuaW1wb3J0IHtNYXRTZWxlY3RGaWx0ZXJNb2R1bGV9IGZyb20gJ21hdC1zZWxlY3QtZmlsdGVyJztcbmltcG9ydCB7TWF0U2VsZWN0SW5maW5pdGVTY3JvbGxEaXJlY3RpdmV9IGZyb20gJy4vc2VsZWN0LWJveC9tYXQtc2VsZWN0LWluZmluaXRlLXNjcm9sbC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtOZ1NlbGVjdE1vZHVsZX0gZnJvbSAnQG5nLXNlbGVjdC9uZy1zZWxlY3QnO1xuaW1wb3J0IHtDdXN0b21TZWxlY3RDb21wb25lbnR9IGZyb20gJy4vY3VzdG9tLXNlbGVjdC9jdXN0b20tc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQge0RuZE1vZHVsZX0gZnJvbSAnbmd4LWRyYWctZHJvcCc7XG5pbXBvcnQge0ljb25zTW9kdWxlfSBmcm9tICdAYXBpcGFzcy9pY29ucyc7XG5pbXBvcnQge1BpcGVNb2R1bGV9IGZyb20gJ0BhcGlwYXNzL3BpcGVzJztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7Um91dGVyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtNYXRQYXNzd29yZFN0cmVuZ3RoTW9kdWxlfSBmcm9tICdAYW5ndWxhci1tYXRlcmlhbC1leHRlbnNpb25zL3Bhc3N3b3JkLXN0cmVuZ3RoJztcbmltcG9ydCB7SW5wdXRGaWxlQ29tcG9uZW50fSBmcm9tICcuL2lucHV0LWZpbGUvaW5wdXQtZmlsZS5jb21wb25lbnQnO1xuaW1wb3J0IHtBY2VFZGl0b3JDb21wb25lbnR9IGZyb20gJy4vYWNlLWVkaXRvci9jb21wb25lbnQnO1xuaW1wb3J0IHtBY2VFZGl0b3JEaXJlY3RpdmV9IGZyb20gJy4vYWNlLWVkaXRvci9kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgUm91dGVyTW9kdWxlLmZvckNoaWxkKFtdKSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIE1hdFBhc3N3b3JkU3RyZW5ndGhNb2R1bGUsXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxuICAgIE1hdFNlbGVjdEZpbHRlck1vZHVsZSxcbiAgICBOZ1NlbGVjdE1vZHVsZSxcbiAgICBQaXBlTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIEljb25zTW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgRG5kTW9kdWxlLFxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBNYXRTZWxlY3RJbmZpbml0ZVNjcm9sbERpcmVjdGl2ZSxcbiAgICBTZWxlY3RCb3hDb21wb25lbnQsXG4gICAgU2VsZWN0RW51bUNvbXBvbmVudCxcbiAgICBJbnB1dFRleHRDb21wb25lbnQsXG4gICAgSW5wdXRQYXNzd29yZENvbXBvbmVudCxcbiAgICBJbnB1dEF2YXRhckNvbXBvbmVudCxcbiAgICBJbnB1dEZpbGVDb21wb25lbnQsXG4gICAgQ3VzdG9tU2VsZWN0Q29tcG9uZW50LFxuICAgIEZpZWxkQ29tcG9uZW50LFxuICAgIEFjZUVkaXRvckNvbXBvbmVudCxcbiAgICBBY2VFZGl0b3JEaXJlY3RpdmVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFNlbGVjdEJveENvbXBvbmVudCxcbiAgICBTZWxlY3RFbnVtQ29tcG9uZW50LFxuICAgIElucHV0VGV4dENvbXBvbmVudCxcbiAgICBJbnB1dFBhc3N3b3JkQ29tcG9uZW50LFxuICAgIElucHV0QXZhdGFyQ29tcG9uZW50LFxuICAgIElucHV0RmlsZUNvbXBvbmVudCxcbiAgICBDdXN0b21TZWxlY3RDb21wb25lbnQsXG4gICAgRmllbGRDb21wb25lbnQsXG4gICAgQWNlRWRpdG9yQ29tcG9uZW50LFxuICAgIEFjZUVkaXRvckRpcmVjdGl2ZVxuICBdLFxuICBwcm92aWRlcnM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dHNNb2R1bGUge1xufVxuIl19
@@ -8,4 +8,6 @@ export * from './input-password/input-password.component';
8
8
  export * from './input-text/input-text.component';
9
9
  export * from './select-box/select-box.component';
10
10
  export * from './select-enum/select-enum.component';
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2lucHV0cy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHFDQUFxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9pbnB1dHMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY3VzdG9tLXNlbGVjdC9jdXN0b20tc2VsZWN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2N1c3RvbS1zZWxlY3QvY3VzdG9tLXNlbGVjdC1pdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vZmllbGQvZmllbGQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vaW5wdXQtYXZhdGFyL2lucHV0LWF2YXRhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnB1dC1maWxlL2lucHV0LWZpbGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vaW5wdXQtcGFzc3dvcmQvaW5wdXQtcGFzc3dvcmQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vaW5wdXQtdGV4dC9pbnB1dC10ZXh0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NlbGVjdC1ib3gvc2VsZWN0LWJveC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zZWxlY3QtZW51bS9zZWxlY3QtZW51bS5jb21wb25lbnQnO1xuIl19
11
+ export * from './ace-editor/directive';
12
+ export * from './ace-editor/component';
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2lucHV0cy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaW5wdXRzLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2N1c3RvbS1zZWxlY3QvY3VzdG9tLXNlbGVjdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jdXN0b20tc2VsZWN0L2N1c3RvbS1zZWxlY3QtaXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL2ZpZWxkL2ZpZWxkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2lucHV0LWF2YXRhci9pbnB1dC1hdmF0YXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vaW5wdXQtZmlsZS9pbnB1dC1maWxlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2lucHV0LXBhc3N3b3JkL2lucHV0LXBhc3N3b3JkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2lucHV0LXRleHQvaW5wdXQtdGV4dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zZWxlY3QtYm94L3NlbGVjdC1ib3guY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0LWVudW0vc2VsZWN0LWVudW0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vYWNlLWVkaXRvci9kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9hY2UtZWRpdG9yL2NvbXBvbmVudCc7XG4iXX0=
@@ -107,6 +107,7 @@ export class SelectBoxComponent extends ValueAccessorBase {
107
107
  this.addNewItemText = '';
108
108
  this.addNewItemIcon = '';
109
109
  this.addNewItemClickCloseSelect = false;
110
+ this.closeOnBodyScroll = false;
110
111
  this.onOpenSelectBox = new EventEmitter();
111
112
  this.onCloseSelectBox = new EventEmitter();
112
113
  this.onSelectChange = new EventEmitter();
@@ -116,9 +117,27 @@ export class SelectBoxComponent extends ValueAccessorBase {
116
117
  this.loading = false;
117
118
  this.inputFilter = new Subject();
118
119
  this.lastSearchTerm = '';
120
+ this.onBodyScroll = (event) => {
121
+ var _a, _b;
122
+ if (this.closeOnBodyScroll && ((_a = this.ngSelectComponent) === null || _a === void 0 ? void 0 : _a.isOpen)) {
123
+ const isScrollingInScrollHost = ((_b = event.target.className) === null || _b === void 0 ? void 0 : _b.indexOf('ng-dropdown-panel-items')) > -1;
124
+ if (isScrollingInScrollHost) {
125
+ return;
126
+ }
127
+ this.ngSelectComponent.close();
128
+ }
129
+ };
119
130
  }
120
131
  ngOnInit() {
121
132
  this.onSearch();
133
+ if (this.closeOnBodyScroll) {
134
+ window.addEventListener('scroll', this.onBodyScroll, true);
135
+ }
136
+ }
137
+ ngOnDestroy() {
138
+ if (this.closeOnBodyScroll) {
139
+ window.removeEventListener('scroll', this.onBodyScroll, true);
140
+ }
122
141
  }
123
142
  onSearch() {
124
143
  this.inputFilter.pipe(debounceTime(200), distinctUntilChanged()).subscribe(searchString => {
@@ -201,7 +220,7 @@ SelectBoxComponent.ɵcmp = i0.ɵɵdefineComponent({ type: SelectBoxComponent, se
201
220
  } if (rf & 2) {
202
221
  var _t;
203
222
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.ngSelectComponent = _t.first);
204
- } }, inputs: { placeholder: "placeholder", searchPlaceHolder: "searchPlaceHolder", clearText: "clearText", notFoundText: "notFoundText", enabledSearch: "enabledSearch", data: "data", disabled: "disabled", selectedItem: "selectedItem", bindImageUrl: "bindImageUrl", bindKey: "bindKey", bindValue: "bindValue", limitItens: "limitItens", showAddNewItem: "showAddNewItem", addNewItemText: "addNewItemText", addNewItemIcon: "addNewItemIcon", addNewItemClickCloseSelect: "addNewItemClickCloseSelect" }, outputs: { onOpenSelectBox: "onOpenSelectBox", onCloseSelectBox: "onCloseSelectBox", onSelectChange: "onSelectChange", onSelectClear: "onSelectClear", onAddNewItemClick: "onAddNewItemClick" }, features: [i0.ɵɵProvidersFeature([{
223
+ } }, inputs: { placeholder: "placeholder", searchPlaceHolder: "searchPlaceHolder", clearText: "clearText", notFoundText: "notFoundText", enabledSearch: "enabledSearch", data: "data", disabled: "disabled", selectedItem: "selectedItem", bindImageUrl: "bindImageUrl", bindKey: "bindKey", bindValue: "bindValue", limitItens: "limitItens", showAddNewItem: "showAddNewItem", addNewItemText: "addNewItemText", addNewItemIcon: "addNewItemIcon", addNewItemClickCloseSelect: "addNewItemClickCloseSelect", closeOnBodyScroll: "closeOnBodyScroll" }, outputs: { onOpenSelectBox: "onOpenSelectBox", onCloseSelectBox: "onCloseSelectBox", onSelectChange: "onSelectChange", onSelectClear: "onSelectClear", onAddNewItemClick: "onAddNewItemClick" }, features: [i0.ɵɵProvidersFeature([{
205
224
  provide: NG_VALUE_ACCESSOR,
206
225
  useExisting: forwardRef(() => SelectBoxComponent),
207
226
  multi: true
@@ -265,6 +284,8 @@ const ɵSelectBoxComponent_BaseFactory = /*@__PURE__*/ i0.ɵɵgetInheritedFactor
265
284
  type: Input
266
285
  }], addNewItemClickCloseSelect: [{
267
286
  type: Input
287
+ }], closeOnBodyScroll: [{
288
+ type: Input
268
289
  }], onOpenSelectBox: [{
269
290
  type: Output
270
291
  }], onCloseSelectBox: [{
@@ -279,4 +300,4 @@ const ɵSelectBoxComponent_BaseFactory = /*@__PURE__*/ i0.ɵɵgetInheritedFactor
279
300
  type: ViewChild,
280
301
  args: ['ngSelectComponent']
281
302
  }] }); })();
282
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnB1dHMvc3JjL3NlbGVjdC1ib3gvc2VsZWN0LWJveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnB1dHMvc3JjL3NlbGVjdC1ib3gvc2VsZWN0LWJveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkgsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7OztJQ2tCcEQsOEJBRUU7SUFBQSx5QkFNRjtJQUFBLGlCQUFNOzs7SUFMQyxlQUE2RDtJQUE3RCwyR0FBNkQsdUNBQUEsOENBQUE7OztJQU1wRSwrQkFBc0Y7SUFBQSxZQUFvQjtJQUFBLGlCQUFPOzs7SUFBM0IsZUFBb0I7SUFBcEIsb0RBQW9COzs7SUFUMUcsaUZBRUU7SUFPRixtRkFBc0Y7OztJQVJqRiw0SEFBbUU7SUFRdEMsZUFBbUQ7SUFBbkQscUdBQW1EOzs7SUFLbkYsMkJBQTJIOzs7SUFBcEUsNkNBQXdCLCtCQUFBLFlBQUE7OztJQUMvRSxnQ0FDNkI7SUFBQSxZQUFrQjtJQUFBLGlCQUFPOzs7SUFBekIsZUFBa0I7SUFBbEIsMkNBQWtCOzs7O0lBSGpELCtCQUNFO0lBRDRGLDhMQUF3QjtJQUNwSCxvRkFBb0g7SUFDcEgsb0ZBQzZCO0lBQy9C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QUNVLGlCQUFpQjtrQkFBaEMsS0FBSztZQUNVLFNBQVM7a0JBQXhCLEtBQUs7WUFDVSxZQUFZO2tCQUEzQixLQUFLO1lBQ1UsYUFBYTtrQkFBNUIsS0FBSztZQUNVLElBQUk7a0JBQW5CLEtBQUs7WUFDVSxRQUFRO2tCQUF2QixLQUFLO1lBQ1UsWUFBWTtrQkFBM0IsS0FBSztZQUVVLFlBQVk7a0JBQTNCLEtBQUs7WUFDVSxPQUFPO2tCQUF0QixLQUFLO1lBQ1UsU0FBUztrQkFBeEIsS0FBSztZQUVVLFVBQVU7a0JBQXpCLEtBQUs7WUFFVSxjQUFjO2tCQUE3QixLQUFLO1lBQ1UsY0FBYztrQkFBN0IsS0FBSztZQUNVLGNBQWM7a0JBQTdCLEtBQUs7WUFDVSwwQkFBMEI7a0JBQXpDLEtBQUs7WUFFVyxlQUFlO2tCQUEvQixNQUFNO1lBQ1UsZ0JBQWdCO2tCQUFoQyxNQUFNO1lBQ1UsY0FBYztrQkFBOUIsTUFBTTtZQUNVLGFBQWE7a0JBQTdCLE1BQU07WUFDVSxpQkFBaUI7a0JBQWpDLE1BQU07WUFHQSxpQkFBaUI7a0JBRHZCLFNBQVM7bUJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7U3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2RlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWR9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7TmdTZWxlY3RDb21wb25lbnR9IGZyb20gJ0BuZy1zZWxlY3Qvbmctc2VsZWN0JztcbmltcG9ydCB7VmFsdWVBY2Nlc3NvckJhc2V9IGZyb20gJy4uL3ZhbHVlLWFjZXNzb3ItYmFzZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NlbGVjdC1ib3gnLFxuICB0ZW1wbGF0ZVVybDogJ3NlbGVjdC1ib3guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnc2VsZWN0LWJveC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFt7XG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2VsZWN0Qm94Q29tcG9uZW50KSxcbiAgICBtdWx0aTogdHJ1ZVxuICB9XSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RCb3hDb21wb25lbnQgZXh0ZW5kcyBWYWx1ZUFjY2Vzc29yQmFzZTxhbnk+IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKSBwdWJsaWMgcGxhY2Vob2xkZXIgPSAnU2VsZWNpb25lJztcbiAgQElucHV0KCkgcHVibGljIHNlYXJjaFBsYWNlSG9sZGVyID0gJ0J1c2Nhcic7XG4gIEBJbnB1dCgpIHB1YmxpYyBjbGVhclRleHQgPSAnTGltcGFyJztcbiAgQElucHV0KCkgcHVibGljIG5vdEZvdW5kVGV4dCA9ICdOZW5odW0gaXRlbSBlbmNvbnRyYWRvJztcbiAgQElucHV0KCkgcHVibGljIGVuYWJsZWRTZWFyY2ggPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgZGF0YTogQXJyYXk8YW55PiA9IFtdO1xuICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIHNlbGVjdGVkSXRlbTogYW55O1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBiaW5kSW1hZ2VVcmwgPSAnJztcbiAgQElucHV0KCkgcHVibGljIGJpbmRLZXkgPSAnJztcbiAgQElucHV0KCkgcHVibGljIGJpbmRWYWx1ZSA9ICcnO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBsaW1pdEl0ZW5zID0gMzA7XG5cbiAgQElucHV0KCkgcHVibGljIHNob3dBZGROZXdJdGVtID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBhZGROZXdJdGVtVGV4dCA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgYWRkTmV3SXRlbUljb24gPSAnJztcbiAgQElucHV0KCkgcHVibGljIGFkZE5ld0l0ZW1DbGlja0Nsb3NlU2VsZWN0ID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIHB1YmxpYyBvbk9wZW5TZWxlY3RCb3ggPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBvbkNsb3NlU2VsZWN0Qm94ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgb25TZWxlY3RDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBvblNlbGVjdENsZWFyID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgb25BZGROZXdJdGVtQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBAVmlld0NoaWxkKCduZ1NlbGVjdENvbXBvbmVudCcpXG4gIHB1YmxpYyBuZ1NlbGVjdENvbXBvbmVudDogTmdTZWxlY3RDb21wb25lbnQgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIHZpc2libGVJdGVuczogQXJyYXk8YW55PiA9IFtdO1xuICBwdWJsaWMgbG9hZGluZyA9IGZhbHNlO1xuICBwdWJsaWMgaW5wdXRGaWx0ZXIgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG4gIHB1YmxpYyBsYXN0U2VhcmNoVGVybSA9ICcnO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMub25TZWFyY2goKTtcbiAgfVxuXG4gIG9uU2VhcmNoKCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRGaWx0ZXIucGlwZShkZWJvdW5jZVRpbWUoMjAwKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSkuc3Vic2NyaWJlKHNlYXJjaFN0cmluZyA9PiB7XG4gICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgdGhpcy5sYXN0U2VhcmNoVGVybSA9IHNlYXJjaFN0cmluZztcbiAgICAgIGlmIChzZWFyY2hTdHJpbmcgJiYgdGhpcy5kYXRhKSB7XG4gICAgICAgIHRoaXMudmlzaWJsZUl0ZW5zID0gdGhpcy5kYXRhLmZpbHRlcihcbiAgICAgICAgICBpdGVtID0+IGl0ZW1bdGhpcy5iaW5kVmFsdWVdPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFN0cmluZy50b0xvd2VyQ2FzZSgpKVxuICAgICAgICApLnNsaWNlKDAsIHRoaXMubGltaXRJdGVucyk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuZGF0YSkge1xuICAgICAgICB0aGlzLnZpc2libGVJdGVucyA9IHRoaXMuZGF0YS5zbGljZSgwLCB0aGlzLmxpbWl0SXRlbnMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy52aXNpYmxlSXRlbnMgPSBbXTtcbiAgICAgIH1cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5sb2FkaW5nID0gZmFsc2UsIDMwMCk7XG4gICAgfSk7XG4gIH1cblxuICAvLyBAdHMtaWdub3JlXG4gIG9uU2Nyb2xsKHtlbmR9KTogdm9pZCB7XG4gICAgaWYgKHRoaXMubG9hZGluZyB8fCB0aGlzLmRhdGEubGVuZ3RoIDw9IHRoaXMudmlzaWJsZUl0ZW5zLmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoZW5kICsgNSA+PSB0aGlzLnZpc2libGVJdGVucy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuZmV0Y2hNb3JlKCk7XG4gICAgfVxuICB9XG5cbiAgb25TY3JvbGxUb0VuZCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5sb2FkaW5nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuZmV0Y2hNb3JlKCk7XG4gIH1cblxuICBmZXRjaE1vcmUoKTogdm9pZCB7XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICBjb25zdCBsZW4gPSB0aGlzLnZpc2libGVJdGVucy5sZW5ndGg7XG4gICAgY29uc3QgbW9yZSA9IHRoaXMubGFzdFNlYXJjaFRlcm0gP1xuICAgICAgdGhpcy5kYXRhLmZpbHRlcihcbiAgICAgICAgaXRlbSA9PiBpdGVtW3RoaXMuYmluZFZhbHVlXT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0aGlzLmxhc3RTZWFyY2hUZXJtLnRvTG93ZXJDYXNlKCkpXG4gICAgICApLnNsaWNlKGxlbiwgdGhpcy5saW1pdEl0ZW5zICsgbGVuKSA6XG4gICAgICB0aGlzLmRhdGEuc2xpY2UobGVuLCB0aGlzLmxpbWl0SXRlbnMgKyBsZW4pO1xuICAgIHRoaXMudmlzaWJsZUl0ZW5zID0gdGhpcy52aXNpYmxlSXRlbnMuY29uY2F0KG1vcmUpO1xuICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICB9XG5cbiAgb25LZXlEb3duKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQud2hpY2ggPT09IDMyKSB7XG4gICAgICBldmVudC50YXJnZXQudmFsdWUgKz0gJyAnO1xuICAgIH1cbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIG9uU2VsZWN0aW9uQ2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0gdGhpcy5kYXRhPy5maWx0ZXIoZWwgPT4gZWxbdGhpcy5iaW5kS2V5XSA9PT0gdGhpcy52YWx1ZSlbMF07XG4gICAgdGhpcy5vblNlbGVjdENoYW5nZS5lbWl0KHRoaXMuc2VsZWN0ZWRJdGVtKTtcbiAgfVxuXG4gIG9wZW5TZWxlY3RCb3goJGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnZpc2libGVJdGVucyA9IFtdO1xuICAgIGlmICh0aGlzLmRhdGEpIHtcbiAgICAgIHRoaXMudmlzaWJsZUl0ZW5zID0gdGhpcy5kYXRhLnNsaWNlKDAsIHRoaXMubGltaXRJdGVucyk7XG4gICAgfVxuICAgIHRoaXMub25PcGVuU2VsZWN0Qm94Lm5leHQoKTtcbiAgfVxuXG4gIHB1YmxpYyBjb21wYXJlRm4oYTogYW55LCBiOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gYVt0aGlzLmJpbmRLZXldID09PSBiW3RoaXMuYmluZEtleV07XG4gIH1cblxuICBvbkNsZWFyKCk6IHZvaWQge1xuICAgIHRoaXMub25TZWxlY3RDbGVhci5uZXh0KCk7XG4gIH1cblxuICBvbkNsb3NlKCRldmVudD86IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DbG9zZVNlbGVjdEJveC5uZXh0KCk7XG4gIH1cblxuICBvbkFkZE5ld0l0ZW0oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYWRkTmV3SXRlbUNsaWNrQ2xvc2VTZWxlY3QpIHtcbiAgICAgIHRoaXMubmdTZWxlY3RDb21wb25lbnQ/LmNsb3NlKCk7XG4gICAgfVxuICAgIHRoaXMub25BZGROZXdJdGVtQ2xpY2submV4dCgpO1xuICB9XG5cbn1cbiIsIjxuZy1zZWxlY3QgI25nU2VsZWN0Q29tcG9uZW50XG4gICAgICAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxuICAgICAgICAgICBbaXRlbXNdPVwidmlzaWJsZUl0ZW5zXCJcbiAgICAgICAgICAgW3ZpcnR1YWxTY3JvbGxdPVwidHJ1ZVwiXG4gICAgICAgICAgIFtsb2FkaW5nXT1cImxvYWRpbmdcIlxuICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICAgICBbY2xlYXJBbGxUZXh0XT1cImNsZWFyVGV4dFwiXG4gICAgICAgICAgIFtzZWFyY2hhYmxlXT1cImVuYWJsZWRTZWFyY2hcIlxuICAgICAgICAgICBbdHlwZVRvU2VhcmNoVGV4dF09XCJzZWFyY2hQbGFjZUhvbGRlclwiXG4gICAgICAgICAgIChvcGVuKT1cIm9wZW5TZWxlY3RCb3goJGV2ZW50KVwiXG4gICAgICAgICAgIChjbG9zZSk9XCJvbkNsb3NlKCRldmVudClcIlxuICAgICAgICAgICAoY2xlYXIpPVwib25DbGVhcigpXCJcbiAgICAgICAgICAgW25vdEZvdW5kVGV4dF09XCJub3RGb3VuZFRleHRcIlxuICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIlxuICAgICAgICAgICAoc2Nyb2xsKT1cIm9uU2Nyb2xsKCRldmVudClcIlxuICAgICAgICAgICAoc2Nyb2xsVG9FbmQpPVwib25TY3JvbGxUb0VuZCgpXCJcbiAgICAgICAgICAgKGNoYW5nZSk9XCJvblNlbGVjdGlvbkNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgW3R5cGVhaGVhZF09XCJpbnB1dEZpbHRlclwiXG4gICAgICAgICAgIFtuZ0NsYXNzXT1cInsnYXBpcGFzcy1zZWxlY3QtaW1hZ2UnIDogYmluZEltYWdlVXJsLCAnYXBpcGFzcy1zZWxlY3QnOiAhYmluZEltYWdlVXJsfVwiXG4gICAgICAgICAgIFtjb21wYXJlV2l0aF09XCJjb21wYXJlRm5cIj5cblxuICA8bmctdGVtcGxhdGUgbmctbGFiZWwtdG1wIGxldC1pdGVtPVwiaXRlbVwiIFtuZ0lmXT1cInZhbHVlICYmIHZhbHVlW2JpbmRLZXldICYmIHZhbHVlW2JpbmRWYWx1ZV1cIj5cbiAgICA8ZGl2IGNsYXNzPVwiaW1hZ2VcIiBzdHlsZT1cIndpZHRoOiA0MHB4O2hlaWdodDogNDBweDsgbWFyZ2luLXJpZ2h0OiAxMHB4O1wiXG4gICAgICAgICAqbmdJZj1cInZhbHVlICYmIHZhbHVlW2JpbmRLZXldICYmIHZhbHVlW2JpbmRWYWx1ZV0gJiYgYmluZEltYWdlVXJsXCI+XG4gICAgICA8aW1nIGxvYWRpbmc9XCJsYXp5XCJcbiAgICAgICAgICAgW3NyY109XCJ2YWx1ZVtiaW5kSW1hZ2VVcmxdIHx8ICcuL2Fzc2V0cy9pbWFnZXMvbm8taW1hZ2UucG5nJ1wiXG4gICAgICAgICAgIFthbHRdPVwidmFsdWVbYmluZFZhbHVlXVwiXG4gICAgICAgICAgIFttYXRUb29sdGlwXT1cInZhbHVlW2JpbmRWYWx1ZV1cIlxuICAgICAgICAgICBzdHlsZT1cIndpZHRoOiBhdXRvO21heC13aWR0aDogNDBweDtoZWlnaHQ6IDQwcHg7XCJcbiAgICAgIC8+XG4gICAgPC9kaXY+XG4gICAgPHNwYW4gY2xhc3M9XCJzZWxlY3QtdGV4dC1lbGVtZW50XCIgKm5nSWY9XCJ2YWx1ZSAmJiB2YWx1ZVtiaW5kS2V5XSAmJiB2YWx1ZVtiaW5kVmFsdWVdXCI+e3t2YWx1ZVtiaW5kVmFsdWVdfX08L3NwYW4+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPG5nLXRlbXBsYXRlIG5nLWhlYWRlci10bXAgW25nSWZdPVwidGhpcy5zaG93QWRkTmV3SXRlbVwiPlxuICAgIDxkaXYgY2xhc3M9XCJhZGQtbmV3LWl0ZW0tb3B0aW9uXCIgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBjdXJzb3I6IHBvaW50ZXI7XCIgKGNsaWNrKT1cIm9uQWRkTmV3SXRlbSgpXCI+XG4gICAgICA8aWNvbiBzdHlsZT1cIm1hcmdpbi1yaWdodDogNXB4XCIgKm5nSWY9XCJhZGROZXdJdGVtSWNvblwiIFt0aXRsZV09XCJhZGROZXdJdGVtVGV4dFwiIFtuYW1lXT1cImFkZE5ld0l0ZW1JY29uXCIgW3NpemVdPVwiMjBcIj48L2ljb24+XG4gICAgICA8c3BhbiBjbGFzcz1cImFkZC1uZXctaXRlbS10ZXh0XCIgc3R5bGU9XCJ3aGl0ZS1zcGFjZTogbm93cmFwO292ZXJmbG93OiBoaWRkZW47dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XCJcbiAgICAgICAgICAgICpuZ0lmPVwiYWRkTmV3SXRlbVRleHRcIj57e2FkZE5ld0l0ZW1UZXh0fX08L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPG5nLXRlbXBsYXRlIG5nLW9wdGlvbi10bXAgbGV0LWl0ZW09XCJpdGVtXCIgbGV0LWluZGV4PVwiaW5kZXhcIj5cbiAgICA8ZGl2IGNsYXNzPVwiaW1hZ2VcIiBzdHlsZT1cIndpZHRoOiA0MHB4O2hlaWdodDogNDBweDsgbWFyZ2luLXJpZ2h0OiAxMHB4O1wiICpuZ0lmPVwiYmluZEltYWdlVXJsXCI+XG4gICAgICA8aW1nIGxvYWRpbmc9XCJsYXp5XCJcbiAgICAgICAgICAgW3NyY109XCJpdGVtW2JpbmRJbWFnZVVybF0gfHwgJy4vYXNzZXRzL2ltYWdlcy9uby1pbWFnZS5wbmcnXCJcbiAgICAgICAgICAgW2FsdF09XCJpdGVtW2JpbmRWYWx1ZV1cIlxuICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJpdGVtW2JpbmRWYWx1ZV1cIlxuICAgICAgICAgICBzdHlsZT1cIndpZHRoOiBhdXRvO21heC13aWR0aDogNDBweDtoZWlnaHQ6IDQwcHg7XCJcbiAgICAgIC8+XG4gICAgPC9kaXY+XG4gICAgPHNwYW4gY2xhc3M9XCJzZWxlY3QtdGV4dC1lbGVtZW50XCJcbiAgICAgICAgICBzdHlsZT1cIndoaXRlLXNwYWNlOiBub3dyYXA7b3ZlcmZsb3c6IGhpZGRlbjt0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcIj57e2l0ZW1bYmluZFZhbHVlXX19PC9zcGFuPlxuICA8L25nLXRlbXBsYXRlPlxuXG48L25nLXNlbGVjdD5cbiJdfQ==
303
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnB1dHMvc3JjL3NlbGVjdC1ib3gvc2VsZWN0LWJveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnB1dHMvc3JjL3NlbGVjdC1ib3gvc2VsZWN0LWJveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUdMLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyxFQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7Ozs7SUNRcEQsOEJBRUU7SUFBQSx5QkFNRjtJQUFBLGlCQUFNOzs7SUFMQyxlQUE2RDtJQUE3RCwyR0FBNkQsdUNBQUEsOENBQUE7OztJQU1wRSwrQkFBc0Y7SUFBQSxZQUFvQjtJQUFBLGlCQUFPOzs7SUFBM0IsZUFBb0I7SUFBcEIsb0RBQW9COzs7SUFUMUcsaUZBRUU7SUFPRixtRkFBc0Y7OztJQVJqRiw0SEFBbUU7SUFRdEMsZUFBbUQ7SUFBbkQscUdBQW1EOzs7SUFLbkYsMkJBQTJIOzs7SUFBcEUsNkNBQXdCLCtCQUFBLFlBQUE7OztJQUMvRSxnQ0FDNkI7SUFBQSxZQUFrQjtJQUFBLGlCQUFPOzs7SUFBekIsZUFBa0I7SUFBbEIsMkNBQWtCOzs7O0lBSGpELCtCQUNFO0lBRDRGLDhMQUF3QjtJQUNwSCxvRkFBb0g7SUFDcEgsb0ZBQzZCO0lBQy9C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MEI7a0JBQXpDLEtBQUs7WUFFVSxpQkFBaUI7a0JBQWhDLEtBQUs7WUFFVyxlQUFlO2tCQUEvQixNQUFNO1lBQ1UsZ0JBQWdCO2tCQUFoQyxNQUFNO1lBQ1UsY0FBYztrQkFBOUIsTUFBTTtZQUNVLGFBQWE7a0JBQTdCLE1BQU07WUFDVSxpQkFBaUI7a0JBQWpDLE1BQU07WUFHQSxpQkFBaUI7a0JBRHZCLFNBQVM7bUJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOR19WQUxVRV9BQ0NFU1NPUn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtOZ1NlbGVjdENvbXBvbmVudH0gZnJvbSAnQG5nLXNlbGVjdC9uZy1zZWxlY3QnO1xuaW1wb3J0IHtWYWx1ZUFjY2Vzc29yQmFzZX0gZnJvbSAnLi4vdmFsdWUtYWNlc3Nvci1iYXNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2VsZWN0LWJveCcsXG4gIHRlbXBsYXRlVXJsOiAnc2VsZWN0LWJveC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWydzZWxlY3QtYm94LmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW3tcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTZWxlY3RCb3hDb21wb25lbnQpLFxuICAgIG11bHRpOiB0cnVlXG4gIH1dLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdEJveENvbXBvbmVudCBleHRlbmRzIFZhbHVlQWNjZXNzb3JCYXNlPGFueT4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KCkgcHVibGljIHBsYWNlaG9sZGVyID0gJ1NlbGVjaW9uZSc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZWFyY2hQbGFjZUhvbGRlciA9ICdCdXNjYXInO1xuICBASW5wdXQoKSBwdWJsaWMgY2xlYXJUZXh0ID0gJ0xpbXBhcic7XG4gIEBJbnB1dCgpIHB1YmxpYyBub3RGb3VuZFRleHQgPSAnTmVuaHVtIGl0ZW0gZW5jb250cmFkbyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBlbmFibGVkU2VhcmNoID0gdHJ1ZTtcbiAgQElucHV0KCkgcHVibGljIGRhdGE6IEFycmF5PGFueT4gPSBbXTtcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZWxlY3RlZEl0ZW06IGFueTtcblxuICBASW5wdXQoKSBwdWJsaWMgYmluZEltYWdlVXJsID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBiaW5kS2V5ID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBiaW5kVmFsdWUgPSAnJztcblxuICBASW5wdXQoKSBwdWJsaWMgbGltaXRJdGVucyA9IDMwO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBzaG93QWRkTmV3SXRlbSA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgYWRkTmV3SXRlbVRleHQgPSAnJztcbiAgQElucHV0KCkgcHVibGljIGFkZE5ld0l0ZW1JY29uID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBhZGROZXdJdGVtQ2xpY2tDbG9zZVNlbGVjdCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBjbG9zZU9uQm9keVNjcm9sbCA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSBwdWJsaWMgb25PcGVuU2VsZWN0Qm94ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgb25DbG9zZVNlbGVjdEJveCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgcHVibGljIG9uU2VsZWN0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgb25TZWxlY3RDbGVhciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgcHVibGljIG9uQWRkTmV3SXRlbUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgQFZpZXdDaGlsZCgnbmdTZWxlY3RDb21wb25lbnQnKVxuICBwdWJsaWMgbmdTZWxlY3RDb21wb25lbnQ6IE5nU2VsZWN0Q29tcG9uZW50IHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyB2aXNpYmxlSXRlbnM6IEFycmF5PGFueT4gPSBbXTtcbiAgcHVibGljIGxvYWRpbmcgPSBmYWxzZTtcbiAgcHVibGljIGlucHV0RmlsdGVyID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuICBwdWJsaWMgbGFzdFNlYXJjaFRlcm0gPSAnJztcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm9uU2VhcmNoKCk7XG4gICAgaWYgKHRoaXMuY2xvc2VPbkJvZHlTY3JvbGwpIHtcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLm9uQm9keVNjcm9sbCwgdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvbkJvZHlTY3JvbGwgPSAoZXZlbnQ6IGFueSkgPT4ge1xuICAgIGlmICh0aGlzLmNsb3NlT25Cb2R5U2Nyb2xsICYmIHRoaXMubmdTZWxlY3RDb21wb25lbnQ/LmlzT3Blbikge1xuICAgICAgY29uc3QgaXNTY3JvbGxpbmdJblNjcm9sbEhvc3QgPSAoZXZlbnQudGFyZ2V0LmNsYXNzTmFtZSBhcyBzdHJpbmcpPy5pbmRleE9mKCduZy1kcm9wZG93bi1wYW5lbC1pdGVtcycpID4gLTE7XG4gICAgICBpZiAoaXNTY3JvbGxpbmdJblNjcm9sbEhvc3QpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdGhpcy5uZ1NlbGVjdENvbXBvbmVudC5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNsb3NlT25Cb2R5U2Nyb2xsKSB7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5vbkJvZHlTY3JvbGwsIHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIG9uU2VhcmNoKCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRGaWx0ZXIucGlwZShkZWJvdW5jZVRpbWUoMjAwKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSkuc3Vic2NyaWJlKHNlYXJjaFN0cmluZyA9PiB7XG4gICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgdGhpcy5sYXN0U2VhcmNoVGVybSA9IHNlYXJjaFN0cmluZztcbiAgICAgIGlmIChzZWFyY2hTdHJpbmcgJiYgdGhpcy5kYXRhKSB7XG4gICAgICAgIHRoaXMudmlzaWJsZUl0ZW5zID0gdGhpcy5kYXRhLmZpbHRlcihcbiAgICAgICAgICBpdGVtID0+IGl0ZW1bdGhpcy5iaW5kVmFsdWVdPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFN0cmluZy50b0xvd2VyQ2FzZSgpKVxuICAgICAgICApLnNsaWNlKDAsIHRoaXMubGltaXRJdGVucyk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuZGF0YSkge1xuICAgICAgICB0aGlzLnZpc2libGVJdGVucyA9IHRoaXMuZGF0YS5zbGljZSgwLCB0aGlzLmxpbWl0SXRlbnMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy52aXNpYmxlSXRlbnMgPSBbXTtcbiAgICAgIH1cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5sb2FkaW5nID0gZmFsc2UsIDMwMCk7XG4gICAgfSk7XG4gIH1cblxuICAvLyBAdHMtaWdub3JlXG4gIG9uU2Nyb2xsKHtlbmR9KTogdm9pZCB7XG4gICAgaWYgKHRoaXMubG9hZGluZyB8fCB0aGlzLmRhdGEubGVuZ3RoIDw9IHRoaXMudmlzaWJsZUl0ZW5zLmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoZW5kICsgNSA+PSB0aGlzLnZpc2libGVJdGVucy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuZmV0Y2hNb3JlKCk7XG4gICAgfVxuICB9XG5cbiAgb25TY3JvbGxUb0VuZCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5sb2FkaW5nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuZmV0Y2hNb3JlKCk7XG4gIH1cblxuICBmZXRjaE1vcmUoKTogdm9pZCB7XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICBjb25zdCBsZW4gPSB0aGlzLnZpc2libGVJdGVucy5sZW5ndGg7XG4gICAgY29uc3QgbW9yZSA9IHRoaXMubGFzdFNlYXJjaFRlcm0gP1xuICAgICAgdGhpcy5kYXRhLmZpbHRlcihcbiAgICAgICAgaXRlbSA9PiBpdGVtW3RoaXMuYmluZFZhbHVlXT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0aGlzLmxhc3RTZWFyY2hUZXJtLnRvTG93ZXJDYXNlKCkpXG4gICAgICApLnNsaWNlKGxlbiwgdGhpcy5saW1pdEl0ZW5zICsgbGVuKSA6XG4gICAgICB0aGlzLmRhdGEuc2xpY2UobGVuLCB0aGlzLmxpbWl0SXRlbnMgKyBsZW4pO1xuICAgIHRoaXMudmlzaWJsZUl0ZW5zID0gdGhpcy52aXNpYmxlSXRlbnMuY29uY2F0KG1vcmUpO1xuICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICB9XG5cbiAgb25LZXlEb3duKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQud2hpY2ggPT09IDMyKSB7XG4gICAgICBldmVudC50YXJnZXQudmFsdWUgKz0gJyAnO1xuICAgIH1cbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIG9uU2VsZWN0aW9uQ2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0gdGhpcy5kYXRhPy5maWx0ZXIoZWwgPT4gZWxbdGhpcy5iaW5kS2V5XSA9PT0gdGhpcy52YWx1ZSlbMF07XG4gICAgdGhpcy5vblNlbGVjdENoYW5nZS5lbWl0KHRoaXMuc2VsZWN0ZWRJdGVtKTtcbiAgfVxuXG4gIG9wZW5TZWxlY3RCb3goJGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnZpc2libGVJdGVucyA9IFtdO1xuICAgIGlmICh0aGlzLmRhdGEpIHtcbiAgICAgIHRoaXMudmlzaWJsZUl0ZW5zID0gdGhpcy5kYXRhLnNsaWNlKDAsIHRoaXMubGltaXRJdGVucyk7XG4gICAgfVxuICAgIHRoaXMub25PcGVuU2VsZWN0Qm94Lm5leHQoKTtcbiAgfVxuXG4gIHB1YmxpYyBjb21wYXJlRm4oYTogYW55LCBiOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gYVt0aGlzLmJpbmRLZXldID09PSBiW3RoaXMuYmluZEtleV07XG4gIH1cblxuICBvbkNsZWFyKCk6IHZvaWQge1xuICAgIHRoaXMub25TZWxlY3RDbGVhci5uZXh0KCk7XG4gIH1cblxuICBvbkNsb3NlKCRldmVudD86IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DbG9zZVNlbGVjdEJveC5uZXh0KCk7XG4gIH1cblxuICBvbkFkZE5ld0l0ZW0oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYWRkTmV3SXRlbUNsaWNrQ2xvc2VTZWxlY3QpIHtcbiAgICAgIHRoaXMubmdTZWxlY3RDb21wb25lbnQ/LmNsb3NlKCk7XG4gICAgfVxuICAgIHRoaXMub25BZGROZXdJdGVtQ2xpY2submV4dCgpO1xuICB9XG5cbn1cbiIsIjxuZy1zZWxlY3QgI25nU2VsZWN0Q29tcG9uZW50XG4gICAgICAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxuICAgICAgICAgICBbaXRlbXNdPVwidmlzaWJsZUl0ZW5zXCJcbiAgICAgICAgICAgW3ZpcnR1YWxTY3JvbGxdPVwidHJ1ZVwiXG4gICAgICAgICAgIFtsb2FkaW5nXT1cImxvYWRpbmdcIlxuICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICAgICBbY2xlYXJBbGxUZXh0XT1cImNsZWFyVGV4dFwiXG4gICAgICAgICAgIFtzZWFyY2hhYmxlXT1cImVuYWJsZWRTZWFyY2hcIlxuICAgICAgICAgICBbdHlwZVRvU2VhcmNoVGV4dF09XCJzZWFyY2hQbGFjZUhvbGRlclwiXG4gICAgICAgICAgIChvcGVuKT1cIm9wZW5TZWxlY3RCb3goJGV2ZW50KVwiXG4gICAgICAgICAgIChjbG9zZSk9XCJvbkNsb3NlKCRldmVudClcIlxuICAgICAgICAgICAoY2xlYXIpPVwib25DbGVhcigpXCJcbiAgICAgICAgICAgW25vdEZvdW5kVGV4dF09XCJub3RGb3VuZFRleHRcIlxuICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIlxuICAgICAgICAgICAoc2Nyb2xsKT1cIm9uU2Nyb2xsKCRldmVudClcIlxuICAgICAgICAgICAoc2Nyb2xsVG9FbmQpPVwib25TY3JvbGxUb0VuZCgpXCJcbiAgICAgICAgICAgKGNoYW5nZSk9XCJvblNlbGVjdGlvbkNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgW3R5cGVhaGVhZF09XCJpbnB1dEZpbHRlclwiXG4gICAgICAgICAgIFtuZ0NsYXNzXT1cInsnYXBpcGFzcy1zZWxlY3QtaW1hZ2UnIDogYmluZEltYWdlVXJsLCAnYXBpcGFzcy1zZWxlY3QnOiAhYmluZEltYWdlVXJsfVwiXG4gICAgICAgICAgIFtjb21wYXJlV2l0aF09XCJjb21wYXJlRm5cIj5cblxuICA8bmctdGVtcGxhdGUgbmctbGFiZWwtdG1wIGxldC1pdGVtPVwiaXRlbVwiIFtuZ0lmXT1cInZhbHVlICYmIHZhbHVlW2JpbmRLZXldICYmIHZhbHVlW2JpbmRWYWx1ZV1cIj5cbiAgICA8ZGl2IGNsYXNzPVwiaW1hZ2VcIiBzdHlsZT1cIndpZHRoOiA0MHB4O2hlaWdodDogNDBweDsgbWFyZ2luLXJpZ2h0OiAxMHB4O1wiXG4gICAgICAgICAqbmdJZj1cInZhbHVlICYmIHZhbHVlW2JpbmRLZXldICYmIHZhbHVlW2JpbmRWYWx1ZV0gJiYgYmluZEltYWdlVXJsXCI+XG4gICAgICA8aW1nIGxvYWRpbmc9XCJsYXp5XCJcbiAgICAgICAgICAgW3NyY109XCJ2YWx1ZVtiaW5kSW1hZ2VVcmxdIHx8ICcuL2Fzc2V0cy9pbWFnZXMvbm8taW1hZ2UucG5nJ1wiXG4gICAgICAgICAgIFthbHRdPVwidmFsdWVbYmluZFZhbHVlXVwiXG4gICAgICAgICAgIFttYXRUb29sdGlwXT1cInZhbHVlW2JpbmRWYWx1ZV1cIlxuICAgICAgICAgICBzdHlsZT1cIndpZHRoOiBhdXRvO21heC13aWR0aDogNDBweDtoZWlnaHQ6IDQwcHg7XCJcbiAgICAgIC8+XG4gICAgPC9kaXY+XG4gICAgPHNwYW4gY2xhc3M9XCJzZWxlY3QtdGV4dC1lbGVtZW50XCIgKm5nSWY9XCJ2YWx1ZSAmJiB2YWx1ZVtiaW5kS2V5XSAmJiB2YWx1ZVtiaW5kVmFsdWVdXCI+e3t2YWx1ZVtiaW5kVmFsdWVdfX08L3NwYW4+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPG5nLXRlbXBsYXRlIG5nLWhlYWRlci10bXAgW25nSWZdPVwidGhpcy5zaG93QWRkTmV3SXRlbVwiPlxuICAgIDxkaXYgY2xhc3M9XCJhZGQtbmV3LWl0ZW0tb3B0aW9uXCIgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBjdXJzb3I6IHBvaW50ZXI7XCIgKGNsaWNrKT1cIm9uQWRkTmV3SXRlbSgpXCI+XG4gICAgICA8aWNvbiBzdHlsZT1cIm1hcmdpbi1yaWdodDogNXB4XCIgKm5nSWY9XCJhZGROZXdJdGVtSWNvblwiIFt0aXRsZV09XCJhZGROZXdJdGVtVGV4dFwiIFtuYW1lXT1cImFkZE5ld0l0ZW1JY29uXCIgW3NpemVdPVwiMjBcIj48L2ljb24+XG4gICAgICA8c3BhbiBjbGFzcz1cImFkZC1uZXctaXRlbS10ZXh0XCIgc3R5bGU9XCJ3aGl0ZS1zcGFjZTogbm93cmFwO292ZXJmbG93OiBoaWRkZW47dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XCJcbiAgICAgICAgICAgICpuZ0lmPVwiYWRkTmV3SXRlbVRleHRcIj57e2FkZE5ld0l0ZW1UZXh0fX08L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPG5nLXRlbXBsYXRlIG5nLW9wdGlvbi10bXAgbGV0LWl0ZW09XCJpdGVtXCIgbGV0LWluZGV4PVwiaW5kZXhcIj5cbiAgICA8ZGl2IGNsYXNzPVwiaW1hZ2VcIiBzdHlsZT1cIndpZHRoOiA0MHB4O2hlaWdodDogNDBweDsgbWFyZ2luLXJpZ2h0OiAxMHB4O1wiICpuZ0lmPVwiYmluZEltYWdlVXJsXCI+XG4gICAgICA8aW1nIGxvYWRpbmc9XCJsYXp5XCJcbiAgICAgICAgICAgW3NyY109XCJpdGVtW2JpbmRJbWFnZVVybF0gfHwgJy4vYXNzZXRzL2ltYWdlcy9uby1pbWFnZS5wbmcnXCJcbiAgICAgICAgICAgW2FsdF09XCJpdGVtW2JpbmRWYWx1ZV1cIlxuICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJpdGVtW2JpbmRWYWx1ZV1cIlxuICAgICAgICAgICBzdHlsZT1cIndpZHRoOiBhdXRvO21heC13aWR0aDogNDBweDtoZWlnaHQ6IDQwcHg7XCJcbiAgICAgIC8+XG4gICAgPC9kaXY+XG4gICAgPHNwYW4gY2xhc3M9XCJzZWxlY3QtdGV4dC1lbGVtZW50XCJcbiAgICAgICAgICBzdHlsZT1cIndoaXRlLXNwYWNlOiBub3dyYXA7b3ZlcmZsb3c6IGhpZGRlbjt0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcIj57e2l0ZW1bYmluZFZhbHVlXX19PC9zcGFuPlxuICA8L25nLXRlbXBsYXRlPlxuXG48L25nLXNlbGVjdD5cbiJdfQ==