speechrecorderng 3.0.1 → 3.3.1
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.
- package/esm2020/lib/action/action.mjs +2 -1
- package/esm2020/lib/audio/array_audio_buffer.mjs +65 -2
- package/esm2020/lib/audio/array_audio_buffer_input_stream.mjs +2 -2
- package/esm2020/lib/audio/array_audio_buffer_random_access_stream.mjs +16 -0
- package/esm2020/lib/audio/audio_data_holder.mjs +203 -48
- package/esm2020/lib/audio/audio_display.mjs +10 -34
- package/esm2020/lib/audio/audio_player.mjs +18 -45
- package/esm2020/lib/audio/capture/capture.mjs +293 -69
- package/esm2020/lib/audio/dsp/level_measure.mjs +211 -88
- package/esm2020/lib/audio/impl/wavformat.mjs +1 -1
- package/esm2020/lib/audio/impl/wavreader.mjs +134 -0
- package/esm2020/lib/audio/impl/wavwriter.mjs +10 -9
- package/esm2020/lib/audio/inddb_audio_buffer.mjs +508 -0
- package/esm2020/lib/audio/net_audio_buffer.mjs +297 -0
- package/esm2020/lib/audio/persistor.mjs +8 -2
- package/esm2020/lib/audio/playback/array_audio_buffer_source_node.mjs +15 -154
- package/esm2020/lib/audio/playback/audio_source_node.mjs +18 -0
- package/esm2020/lib/audio/playback/audio_source_worklet_module_loader.mjs +167 -0
- package/esm2020/lib/audio/playback/inddb_audio_buffer_source_node.mjs +167 -0
- package/esm2020/lib/audio/playback/net_audio_buffer_source_node.mjs +218 -0
- package/esm2020/lib/audio/playback/player.mjs +190 -171
- package/esm2020/lib/audio/ui/audio_canvas_layer_comp.mjs +35 -76
- package/esm2020/lib/audio/ui/audio_display_control.mjs +12 -24
- package/esm2020/lib/audio/ui/audio_display_scroll_pane.mjs +14 -45
- package/esm2020/lib/audio/ui/audiosignal.mjs +333 -267
- package/esm2020/lib/audio/ui/container.mjs +40 -57
- package/esm2020/lib/audio/ui/livelevel.mjs +53 -52
- package/esm2020/lib/audio/ui/scroll_pane_horizontal.mjs +5 -19
- package/esm2020/lib/audio/ui/sonagram.mjs +386 -339
- package/esm2020/lib/db/inddb.mjs +120 -0
- package/esm2020/lib/io/BinaryReader.mjs +85 -0
- package/esm2020/lib/io/stream.mjs +101 -1
- package/esm2020/lib/net/uploader.mjs +111 -5
- package/esm2020/lib/recorder_component.mjs +59 -1
- package/esm2020/lib/speechrecorder/project/project.mjs +10 -1
- package/esm2020/lib/speechrecorder/project/project.service.mjs +3 -3
- package/esm2020/lib/speechrecorder/recording.mjs +19 -6
- package/esm2020/lib/speechrecorder/recordings/basic_recording.service.mjs +213 -0
- package/esm2020/lib/speechrecorder/recordings/recordings.service.mjs +724 -54
- package/esm2020/lib/speechrecorder/script/script.service.mjs +3 -3
- package/esm2020/lib/speechrecorder/session/audiorecorder.mjs +358 -184
- package/esm2020/lib/speechrecorder/session/basicrecorder.mjs +181 -28
- package/esm2020/lib/speechrecorder/session/controlpanel.mjs +47 -129
- package/esm2020/lib/speechrecorder/session/item.mjs +13 -1
- package/esm2020/lib/speechrecorder/session/progress.mjs +26 -55
- package/esm2020/lib/speechrecorder/session/prompting.mjs +33 -176
- package/esm2020/lib/speechrecorder/session/recorder_combi_pane.mjs +6 -6
- package/esm2020/lib/speechrecorder/session/recording_file_cache.mjs +10 -10
- package/esm2020/lib/speechrecorder/session/recording_list.mjs +92 -55
- package/esm2020/lib/speechrecorder/session/recordingfile/recording-file-meta.component.mjs +9 -13
- package/esm2020/lib/speechrecorder/session/recordingfile/recording-file-navi.component.mjs +9 -18
- package/esm2020/lib/speechrecorder/session/recordingfile/recording-file-u-i.component.mjs +10 -36
- package/esm2020/lib/speechrecorder/session/recordingfile/recording-file-view.component.mjs +10 -37
- package/esm2020/lib/speechrecorder/session/recordingfile/recordingfile-service.mjs +80 -56
- package/esm2020/lib/speechrecorder/session/session.service.mjs +3 -3
- package/esm2020/lib/speechrecorder/session/session_finished_dialog.mjs +4 -4
- package/esm2020/lib/speechrecorder/session/sessionmanager.mjs +409 -165
- package/esm2020/lib/speechrecorder/session/warning_bar.mjs +6 -29
- package/esm2020/lib/speechrecorder/spruploader.mjs +3 -3
- package/esm2020/lib/speechrecorder/startstopsignal/ui/simpletrafficlight.mjs +6 -41
- package/esm2020/lib/speechrecorderng.component.mjs +42 -31
- package/esm2020/lib/speechrecorderng.module.mjs +5 -5
- package/esm2020/lib/spr.config.mjs +3 -3
- package/esm2020/lib/spr.module.version.mjs +2 -2
- package/esm2020/lib/ui/canvas_layer_comp.mjs +3 -3
- package/esm2020/lib/ui/message_dialog.mjs +7 -7
- package/esm2020/lib/ui/recordingitem_display.mjs +26 -59
- package/esm2020/lib/utils/scrollIntoViewToBottom.mjs +3 -3
- package/esm2020/lib/utils/ua-parser.mjs +28 -4
- package/esm2020/lib/utils/utils.mjs +29 -1
- package/fesm2015/speechrecorderng.mjs +12675 -9136
- package/fesm2015/speechrecorderng.mjs.map +1 -1
- package/fesm2020/speechrecorderng.mjs +11580 -8050
- package/fesm2020/speechrecorderng.mjs.map +1 -1
- package/{speechrecorderng.d.ts → index.d.ts} +0 -0
- package/lib/audio/array_audio_buffer.d.ts +17 -1
- package/lib/audio/array_audio_buffer_random_access_stream.d.ts +9 -0
- package/lib/audio/audio_data_holder.d.ts +69 -14
- package/lib/audio/audio_display.d.ts +1 -1
- package/lib/audio/audio_player.d.ts +3 -7
- package/lib/audio/capture/capture.d.ts +24 -4
- package/lib/audio/dsp/level_measure.d.ts +2 -23
- package/lib/audio/impl/wavformat.d.ts +3 -3
- package/lib/audio/impl/wavreader.d.ts +16 -0
- package/lib/audio/impl/wavwriter.d.ts +1 -4
- package/lib/audio/inddb_audio_buffer.d.ts +68 -0
- package/lib/audio/net_audio_buffer.d.ts +59 -0
- package/lib/audio/persistor.d.ts +3 -9
- package/lib/audio/playback/array_audio_buffer_source_node.d.ts +2 -8
- package/lib/audio/playback/audio_source_node.d.ts +10 -0
- package/lib/audio/playback/audio_source_worklet_module_loader.d.ts +4 -0
- package/lib/audio/playback/inddb_audio_buffer_source_node.d.ts +21 -0
- package/lib/audio/playback/net_audio_buffer_source_node.d.ts +27 -0
- package/lib/audio/playback/player.d.ts +19 -16
- package/lib/audio/ui/audio_canvas_layer_comp.d.ts +3 -3
- package/lib/audio/ui/audio_display_control.d.ts +3 -6
- package/lib/audio/ui/audio_display_scroll_pane.d.ts +1 -1
- package/lib/audio/ui/audiosignal.d.ts +4 -3
- package/lib/audio/ui/container.d.ts +1 -1
- package/lib/audio/ui/livelevel.d.ts +11 -4
- package/lib/audio/ui/scroll_pane_horizontal.d.ts +1 -1
- package/lib/audio/ui/sonagram.d.ts +4 -3
- package/lib/db/inddb.d.ts +21 -0
- package/lib/io/BinaryReader.d.ts +18 -0
- package/lib/io/stream.d.ts +18 -0
- package/lib/net/uploader.d.ts +20 -2
- package/lib/recorder_component.d.ts +5 -0
- package/lib/speechrecorder/project/project.d.ts +9 -0
- package/lib/speechrecorder/recording.d.ts +7 -2
- package/lib/speechrecorder/recordings/basic_recording.service.d.ts +27 -0
- package/lib/speechrecorder/recordings/recordings.service.d.ts +21 -6
- package/lib/speechrecorder/session/audiorecorder.d.ts +7 -18
- package/lib/speechrecorder/session/basicrecorder.d.ts +28 -4
- package/lib/speechrecorder/session/controlpanel.d.ts +7 -7
- package/lib/speechrecorder/session/item.d.ts +1 -0
- package/lib/speechrecorder/session/progress.d.ts +2 -1
- package/lib/speechrecorder/session/prompting.d.ts +5 -5
- package/lib/speechrecorder/session/recorder_combi_pane.d.ts +1 -1
- package/lib/speechrecorder/session/recording_list.d.ts +2 -1
- package/lib/speechrecorder/session/recordingfile/recording-file-meta.component.d.ts +1 -1
- package/lib/speechrecorder/session/recordingfile/recording-file-navi.component.d.ts +1 -1
- package/lib/speechrecorder/session/recordingfile/recording-file-u-i.component.d.ts +1 -1
- package/lib/speechrecorder/session/recordingfile/recording-file-view.component.d.ts +1 -1
- package/lib/speechrecorder/session/recordingfile/recordingfile-service.d.ts +4 -5
- package/lib/speechrecorder/session/session_finished_dialog.d.ts +1 -1
- package/lib/speechrecorder/session/sessionmanager.d.ts +10 -10
- package/lib/speechrecorder/session/warning_bar.d.ts +1 -1
- package/lib/speechrecorder/startstopsignal/ui/simpletrafficlight.d.ts +1 -1
- package/lib/speechrecorderng.component.d.ts +2 -1
- package/lib/spr.module.version.d.ts +1 -1
- package/lib/ui/canvas_layer_comp.d.ts +1 -1
- package/lib/ui/message_dialog.d.ts +1 -1
- package/lib/ui/recordingitem_display.d.ts +3 -2
- package/lib/utils/scrollIntoViewToBottom.d.ts +1 -1
- package/lib/utils/ua-parser.d.ts +4 -1
- package/lib/utils/utils.d.ts +6 -0
- package/package.json +15 -15
- package/esm2020/lib/math/utils.mjs +0 -14
- package/esm2020/lib/utils/css_utils.mjs +0 -7
- package/lib/math/utils.d.ts +0 -3
- package/lib/utils/css_utils.d.ts +0 -3
|
@@ -45,14 +45,15 @@ export class AudioDisplay {
|
|
|
45
45
|
set audioData(audioData) {
|
|
46
46
|
this.audioDisplayScrollPane.audioData = audioData;
|
|
47
47
|
if (this.playStartAction) {
|
|
48
|
+
console.debug("Play start action (by AudioDisplay::set audioData) disabled: " + (audioData == null));
|
|
48
49
|
this.playStartAction.disabled = (audioData == null);
|
|
49
50
|
}
|
|
50
51
|
}
|
|
51
52
|
set audioClip(audioClip) {
|
|
52
|
-
let audioData
|
|
53
|
+
//let audioData:AudioBuffer|null=null;
|
|
53
54
|
let sel = null;
|
|
54
55
|
if (audioClip) {
|
|
55
|
-
audioData
|
|
56
|
+
//audioData=audioClip.audioDataHolder.buffer;
|
|
56
57
|
sel = audioClip.selection;
|
|
57
58
|
}
|
|
58
59
|
this._audioClip = audioClip;
|
|
@@ -69,8 +70,8 @@ export class AudioDisplay {
|
|
|
69
70
|
this.status = 'ERROR';
|
|
70
71
|
}
|
|
71
72
|
}
|
|
72
|
-
AudioDisplay.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
73
|
-
AudioDisplay.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
73
|
+
AudioDisplay.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AudioDisplay, deps: [{ token: i1.ActivatedRoute }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
74
|
+
AudioDisplay.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: AudioDisplay, selector: "app-audiodisplay", inputs: { playStartAction: "playStartAction", playStopAction: "playStopAction", playSelectionAction: "playSelectionAction", autoPlayOnSelectToggleAction: "autoPlayOnSelectToggleAction", audioData: "audioData", audioClip: "audioClip" }, viewQueries: [{ propertyName: "audioDisplayScrollPane", first: true, predicate: AudioDisplayScrollPane, descendants: true, static: true }], ngImport: i0, template: `
|
|
74
75
|
|
|
75
76
|
<audio-display-scroll-pane #audioDisplayScrollPane></audio-display-scroll-pane>
|
|
76
77
|
|
|
@@ -83,12 +84,10 @@ AudioDisplay.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
|
|
|
83
84
|
[zoomOutAction]="zoomOutAction"
|
|
84
85
|
[zoomSelectedAction]="zoomSelectedAction"
|
|
85
86
|
[zoomFitToPanelAction]="zoomFitToPanelAction"></audio-display-control>
|
|
86
|
-
`, isInline: true, styles: [":host{display:flex;flex-direction:column;position:absolute;bottom:0px;height:100%;width:100%;overflow:hidden;padding:20px;z-index:5;box-sizing:border-box;background-color:#e6e6e6}\n", "legend{margin-left:1em;padding:.2em .8em;font-size:.8em}\n", "fieldset{border:1px darkgray solid}\n"],
|
|
87
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
87
|
+
`, isInline: true, styles: [":host{display:flex;flex-direction:column;position:absolute;bottom:0px;height:100%;width:100%;overflow:hidden;padding:20px;z-index:5;box-sizing:border-box;background-color:#e6e6e6}\n", "legend{margin-left:1em;padding:.2em .8em;font-size:.8em}\n", "fieldset{border:1px darkgray solid}\n"], dependencies: [{ kind: "component", type: i2.AudioDisplayScrollPane, selector: "audio-display-scroll-pane", inputs: ["audioClip"], outputs: ["zoomInAction", "zoomOutAction", "zoomSelectedAction", "zoomFitToPanelAction"] }, { kind: "component", type: i3.AudioDisplayControl, selector: "audio-display-control", inputs: ["audioClip", "playStartAction", "playSelectionAction", "playStopAction", "zoomInAction", "zoomOutAction", "zoomFitToPanelAction", "zoomSelectedAction", "autoPlayOnSelectToggleAction"] }] });
|
|
88
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AudioDisplay, decorators: [{
|
|
88
89
|
type: Component,
|
|
89
|
-
args: [{
|
|
90
|
-
selector: 'app-audiodisplay',
|
|
91
|
-
template: `
|
|
90
|
+
args: [{ selector: 'app-audiodisplay', template: `
|
|
92
91
|
|
|
93
92
|
<audio-display-scroll-pane #audioDisplayScrollPane></audio-display-scroll-pane>
|
|
94
93
|
|
|
@@ -101,30 +100,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
101
100
|
[zoomOutAction]="zoomOutAction"
|
|
102
101
|
[zoomSelectedAction]="zoomSelectedAction"
|
|
103
102
|
[zoomFitToPanelAction]="zoomFitToPanelAction"></audio-display-control>
|
|
104
|
-
`,
|
|
105
|
-
styles: [
|
|
106
|
-
`:host {
|
|
107
|
-
display: flex;
|
|
108
|
-
flex-direction: column;
|
|
109
|
-
position: absolute;
|
|
110
|
-
bottom: 0px;
|
|
111
|
-
height: 100%;
|
|
112
|
-
width: 100%;
|
|
113
|
-
overflow: hidden;
|
|
114
|
-
padding: 20px;
|
|
115
|
-
z-index: 5;
|
|
116
|
-
box-sizing: border-box;
|
|
117
|
-
background-color: rgba(230, 230, 230, 1.0)
|
|
118
|
-
}`, `
|
|
119
|
-
legend{
|
|
120
|
-
margin-left: 1em; padding: 0.2em 0.8em;font-size: 0.8em;
|
|
121
|
-
}`, `
|
|
122
|
-
fieldset{
|
|
123
|
-
border: 1px darkgray solid
|
|
124
|
-
}
|
|
125
|
-
`
|
|
126
|
-
]
|
|
127
|
-
}]
|
|
103
|
+
`, styles: [":host{display:flex;flex-direction:column;position:absolute;bottom:0px;height:100%;width:100%;overflow:hidden;padding:20px;z-index:5;box-sizing:border-box;background-color:#e6e6e6}\n", "legend{margin-left:1em;padding:.2em .8em;font-size:.8em}\n", "fieldset{border:1px darkgray solid}\n"] }]
|
|
128
104
|
}], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }]; }, propDecorators: { playStartAction: [{
|
|
129
105
|
type: Input
|
|
130
106
|
}], playStopAction: [{
|
|
@@ -141,4 +117,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
141
117
|
}], audioClip: [{
|
|
142
118
|
type: Input
|
|
143
119
|
}] } });
|
|
144
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW9fZGlzcGxheS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NwZWVjaHJlY29yZGVybmcvc3JjL2xpYi9hdWRpby9hdWRpb19kaXNwbGF5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsU0FBUyxFQUVNLEtBQUssR0FDdkIsTUFBTSxlQUFlLENBQUE7QUFJdEIsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3hDLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLGdDQUFnQyxDQUFDOzs7OztBQTRDdEUsTUFBTSxPQUFPLFlBQVk7SUE0QnZCLFlBQW9CLEtBQXFCLEVBQVUsR0FBc0IsRUFBUyxJQUFlO1FBQTdFLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFBUyxTQUFJLEdBQUosSUFBSSxDQUFXO1FBekJ6RixlQUFVLEdBQWdCLElBQUksQ0FBQTtRQTBCcEMsdUNBQXVDO1FBQ3JDLElBQUksQ0FBQyxPQUFPLEdBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDdkMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsbUJBQW1CLEdBQUMsSUFBSSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsTUFBTSxHQUFDLGlCQUFpQixDQUFDO0lBRWhDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGtCQUFrQixHQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxrQkFBa0IsQ0FBQTtRQUN0RSxJQUFJLENBQUMsb0JBQW9CLEdBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLG9CQUFv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O3NCQURyQixTQUFTO3VCQUFDLHNCQUFzQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkE4Qy9DLFNBQVM7c0JBRFosS0FBSztnQkFVRixTQUFTO3NCQURaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgVmlld0NoaWxkLFxyXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBBZnRlclZpZXdJbml0LCBJbnB1dCwgT25Jbml0LCBFbGVtZW50UmVmLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcblxyXG5pbXBvcnQge0F1ZGlvQ2xpcCwgU2VsZWN0aW9ufSBmcm9tICcuL3BlcnNpc3RvcidcclxuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZX0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQge0FjdGlvbn0gZnJvbSBcIi4uL2FjdGlvbi9hY3Rpb25cIjtcclxuaW1wb3J0IHtBdWRpb0Rpc3BsYXlTY3JvbGxQYW5lfSBmcm9tIFwiLi91aS9hdWRpb19kaXNwbGF5X3Njcm9sbF9wYW5lXCI7XHJcbmltcG9ydCB7QXVkaW9EYXRhSG9sZGVyfSBmcm9tIFwiLi9hdWRpb19kYXRhX2hvbGRlclwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblxyXG4gIHNlbGVjdG9yOiAnYXBwLWF1ZGlvZGlzcGxheScsXHJcblxyXG4gIHRlbXBsYXRlOiBgXHJcblxyXG4gICAgPGF1ZGlvLWRpc3BsYXktc2Nyb2xsLXBhbmUgI2F1ZGlvRGlzcGxheVNjcm9sbFBhbmU+PC9hdWRpby1kaXNwbGF5LXNjcm9sbC1wYW5lPlxyXG5cclxuICAgIDxhdWRpby1kaXNwbGF5LWNvbnRyb2wgW2F1ZGlvQ2xpcF09XCJhdWRpb0NsaXBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGF5U3RhcnRBY3Rpb25dPVwicGxheVN0YXJ0QWN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxheVNlbGVjdGlvbkFjdGlvbl09XCJwbGF5U2VsZWN0aW9uQWN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGF5U3RvcEFjdGlvbl09XCJwbGF5U3RvcEFjdGlvblwiXHJcbiAgICBbYXV0b1BsYXlPblNlbGVjdFRvZ2dsZUFjdGlvbl09XCJhdXRvUGxheU9uU2VsZWN0VG9nZ2xlQWN0aW9uXCJcclxuICAgIFt6b29tSW5BY3Rpb25dPVwiem9vbUluQWN0aW9uXCJcclxuICAgIFt6b29tT3V0QWN0aW9uXT1cInpvb21PdXRBY3Rpb25cIlxyXG4gICAgW3pvb21TZWxlY3RlZEFjdGlvbl09XCJ6b29tU2VsZWN0ZWRBY3Rpb25cIlxyXG4gICAgW3pvb21GaXRUb1BhbmVsQWN0aW9uXT1cInpvb21GaXRUb1BhbmVsQWN0aW9uXCI+PC9hdWRpby1kaXNwbGF5LWNvbnRyb2w+XHJcbiAgYCxcclxuICBzdHlsZXM6IFtcclxuICAgICAgYDpob3N0IHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBib3R0b206IDBweDtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgei1pbmRleDogNTtcclxuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMzAsIDIzMCwgMjMwLCAxLjApXHJcbiAgICB9YCxgXHJcbiAgICAgICAgICBsZWdlbmR7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDFlbTsgcGFkZGluZzogMC4yZW0gMC44ZW07Zm9udC1zaXplOiAwLjhlbTtcclxuICAgICAgfWAsYFxyXG4gICAgICAgIGZpZWxkc2V0e1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBkYXJrZ3JheSBzb2xpZFxyXG4gICAgICB9XHJcbiAgICAgIGBdXHJcblxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXVkaW9EaXNwbGF5IGltcGxlbWVudHMgT25Jbml0LEFmdGVyVmlld0luaXQge1xyXG5cclxuICBwYXJlbnRFOiBIVE1MRWxlbWVudDtcclxuICBwcml2YXRlIF9hdWRpb0NsaXA6QXVkaW9DbGlwfG51bGw9bnVsbFxyXG5cclxuICBASW5wdXQoKVxyXG4gIHBsYXlTdGFydEFjdGlvbjogQWN0aW9uPHZvaWQ+fHVuZGVmaW5lZDtcclxuICBASW5wdXQoKVxyXG4gIHBsYXlTdG9wQWN0aW9uOiBBY3Rpb248dm9pZD58dW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpXHJcbiAgcGxheVNlbGVjdGlvbkFjdGlvbjpBY3Rpb248dm9pZD58dW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpXHJcbiAgYXV0b1BsYXlPblNlbGVjdFRvZ2dsZUFjdGlvbiE6QWN0aW9uPGJvb2xlYW4+fHVuZGVmaW5lZDtcclxuXHJcbiAgem9vbUZpdFRvUGFuZWxBY3Rpb24hOkFjdGlvbjx2b2lkPjtcclxuICB6b29tU2VsZWN0ZWRBY3Rpb24hOkFjdGlvbjx2b2lkPlxyXG4gIHpvb21JbkFjdGlvbiE6QWN0aW9uPHZvaWQ+O1xyXG4gIHpvb21PdXRBY3Rpb24hOkFjdGlvbjx2b2lkPjtcclxuXHJcbiAgY2xlYXJTZWxlY3Rpb25BY3Rpb24hOkFjdGlvbjx2b2lkPlxyXG5cclxuICBzdGF0dXM6IHN0cmluZztcclxuXHJcbiAgYXVkaW86IGFueTtcclxuXHJcbiAgQFZpZXdDaGlsZChBdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG4gIGF1ZGlvRGlzcGxheVNjcm9sbFBhbmUhOiBBdWRpb0Rpc3BsYXlTY3JvbGxQYW5lO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSwgcHJpdmF0ZSByZWY6IENoYW5nZURldGVjdG9yUmVmLHByaXZhdGUgZVJlZjpFbGVtZW50UmVmKSB7XHJcbiAgICAvL2NvbnNvbGUubG9nKFwiY29uc3RydWN0b3I6IFwiK3RoaXMuYWMpO1xyXG4gICAgICB0aGlzLnBhcmVudEU9dGhpcy5lUmVmLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICB0aGlzLnBsYXlTdGFydEFjdGlvbiA9IG5ldyBBY3Rpb24oXCJTdGFydFwiKTtcclxuICAgIHRoaXMucGxheVNlbGVjdGlvbkFjdGlvbj1uZXcgQWN0aW9uKFwiUGxheSBzZWxlY3RlZFwiKTtcclxuICAgIHRoaXMucGxheVN0b3BBY3Rpb24gPSBuZXcgQWN0aW9uKFwiU3RvcFwiKTtcclxuICAgIHRoaXMuc3RhdHVzPVwiUGxheWVyIGNyZWF0ZWQuXCI7XHJcblxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKXtcclxuICAgIHRoaXMuem9vbVNlbGVjdGVkQWN0aW9uPXRoaXMuYXVkaW9EaXNwbGF5U2Nyb2xsUGFuZS56b29tU2VsZWN0ZWRBY3Rpb25cclxuICAgIHRoaXMuem9vbUZpdFRvUGFuZWxBY3Rpb249dGhpcy5hdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLnpvb21GaXRUb1BhbmVsQWN0aW9uXHJcbiAgICB0aGlzLnpvb21PdXRBY3Rpb249dGhpcy5hdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLnpvb21PdXRBY3Rpb25cclxuICAgIHRoaXMuem9vbUluQWN0aW9uPXRoaXMuYXVkaW9EaXNwbGF5U2Nyb2xsUGFuZS56b29tSW5BY3Rpb25cclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuXHJcbiAgICAgIHRoaXMubGF5b3V0KCk7XHJcbiAgICAgIGxldCBoZWlnaHRMaXN0ZW5lcj1uZXcgTXV0YXRpb25PYnNlcnZlcigobXJzOkFycmF5PE11dGF0aW9uUmVjb3JkPixtbzpNdXRhdGlvbk9ic2VydmVyKT0+e1xyXG4gICAgICAgICAgbXJzLmZvckVhY2goKG1yOk11dGF0aW9uUmVjb3JkKT0+e1xyXG4gICAgICAgICAgICAgIGlmKCdhdHRyaWJ1dGVzJz09PW1yLnR5cGUgJiYgKCdjbGFzcyc9PT1tci5hdHRyaWJ1dGVOYW1lIHx8ICdzdHlsZSc9PT1tci5hdHRyaWJ1dGVOYW1lKSl7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMubGF5b3V0KCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSlcclxuICAgICAgfSk7XHJcbiAgICAgIGhlaWdodExpc3RlbmVyLm9ic2VydmUodGhpcy5wYXJlbnRFLHthdHRyaWJ1dGVzOiB0cnVlLGNoaWxkTGlzdDogdHJ1ZSwgY2hhcmFjdGVyRGF0YTogdHJ1ZX0pO1xyXG4gIH1cclxuXHJcblxyXG4gIGxheW91dCgpe1xyXG4gICAgdGhpcy5hdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLmxheW91dCgpO1xyXG4gIH1cclxuXHJcblxyXG4gIHN0YXJ0ZWQoKSB7XHJcbiAgICBjb25zb2xlLmxvZyhcIlBsYXkgc3RhcnRlZFwiKTtcclxuICAgIHRoaXMuc3RhdHVzID0gJ1BsYXlpbmcuLi4nO1xyXG4gIH1cclxuXHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGF1ZGlvRGF0YShhdWRpb0RhdGE6IEF1ZGlvRGF0YUhvbGRlcil7XHJcbiAgICAgIHRoaXMuYXVkaW9EaXNwbGF5U2Nyb2xsUGFuZS5hdWRpb0RhdGEgPSBhdWRpb0RhdGE7XHJcbiAgICAgIGlmKHRoaXMucGxheVN0YXJ0QWN0aW9uKSB7XHJcbiAgICAgICAgICB0aGlzLnBsYXlTdGFydEFjdGlvbi5kaXNhYmxlZCA9IChhdWRpb0RhdGEgPT0gbnVsbClcclxuICAgICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGF1ZGlvQ2xpcChhdWRpb0NsaXA6IEF1ZGlvQ2xpcCB8IG51bGwpIHtcclxuXHJcbiAgICBsZXQgYXVkaW9EYXRhOkF1ZGlvQnVmZmVyfG51bGw9bnVsbDtcclxuICAgIGxldCBzZWw6U2VsZWN0aW9ufG51bGw9bnVsbDtcclxuICAgIGlmKGF1ZGlvQ2xpcCl7XHJcbiAgICAgIGF1ZGlvRGF0YT1hdWRpb0NsaXAuYXVkaW9EYXRhSG9sZGVyLmJ1ZmZlcjtcclxuICAgICAgc2VsPWF1ZGlvQ2xpcC5zZWxlY3Rpb247XHJcbiAgICAgIH1cclxuICAgIHRoaXMuX2F1ZGlvQ2xpcD1hdWRpb0NsaXBcclxuICAgIHRoaXMuYXVkaW9EaXNwbGF5U2Nyb2xsUGFuZS5hdWRpb0NsaXAgPSBhdWRpb0NsaXA7XHJcbiAgICAvL3RoaXMucGxheVN0YXJ0QWN0aW9uLmRpc2FibGVkID0gKGF1ZGlvRGF0YSE9PW51bGwpXHJcbiAgfVxyXG5cclxuICBnZXQgYXVkaW9DbGlwKCk6QXVkaW9DbGlwfG51bGx7XHJcbiAgICByZXR1cm4gdGhpcy5fYXVkaW9DbGlwXHJcbiAgfVxyXG5cclxuICBzZXQgcGxheUZyYW1lUG9zaXRpb24ocGxheUZyYW1lUG9zaXRpb246bnVtYmVyKXtcclxuICAgICAgdGhpcy5hdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLnBsYXlGcmFtZVBvc2l0aW9uID0gcGxheUZyYW1lUG9zaXRpb25cclxuICB9XHJcblxyXG4gIGVycm9yKCkge1xyXG4gICAgdGhpcy5zdGF0dXMgPSAnRVJST1InO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbiJdfQ==
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW9fZGlzcGxheS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NwZWVjaHJlY29yZGVybmcvc3JjL2xpYi9hdWRpby9hdWRpb19kaXNwbGF5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsU0FBUyxFQUVNLEtBQUssR0FDdkIsTUFBTSxlQUFlLENBQUE7QUFJdEIsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3hDLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLGdDQUFnQyxDQUFDOzs7OztBQTRDdEUsTUFBTSxPQUFPLFlBQVk7SUE0QnZCLFlBQW9CLEtBQXFCLEVBQVUsR0FBc0IsRUFBUyxJQUFlO1FBQTdFLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFBUyxTQUFJLEdBQUosSUFBSSxDQUFXO1FBekJ6RixlQUFVLEdBQWdCLElBQUksQ0FBQTtRQTBCcEMsdUNBQXVDO1FBQ3JDLElBQUksQ0FBQyxPQUFPLEdBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDdkMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsbUJBQW1CLEdBQUMsSUFBSSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsTUFBTSxHQUFDLGlCQUFpQixDQUFDO0lBRWhDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGtCQUFrQixHQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxrQkFBa0IsQ0FBQTtRQUN0RSxJQUFJLENBQUMsb0JBQW9CLEdBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLG9CQUFv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Z0JBV0YsU0FBUztzQkFEWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIENvbXBvbmVudCxcclxuICAgIFZpZXdDaGlsZCxcclxuICAgIENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgQWZ0ZXJWaWV3SW5pdCwgSW5wdXQsIE9uSW5pdCwgRWxlbWVudFJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5cclxuaW1wb3J0IHtBdWRpb0NsaXAsIFNlbGVjdGlvbn0gZnJvbSAnLi9wZXJzaXN0b3InXHJcbmltcG9ydCB7QWN0aXZhdGVkUm91dGV9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHtBY3Rpb259IGZyb20gXCIuLi9hY3Rpb24vYWN0aW9uXCI7XHJcbmltcG9ydCB7QXVkaW9EaXNwbGF5U2Nyb2xsUGFuZX0gZnJvbSBcIi4vdWkvYXVkaW9fZGlzcGxheV9zY3JvbGxfcGFuZVwiO1xyXG5pbXBvcnQge0F1ZGlvRGF0YUhvbGRlcn0gZnJvbSBcIi4vYXVkaW9fZGF0YV9ob2xkZXJcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cclxuICBzZWxlY3RvcjogJ2FwcC1hdWRpb2Rpc3BsYXknLFxyXG5cclxuICB0ZW1wbGF0ZTogYFxyXG5cclxuICAgIDxhdWRpby1kaXNwbGF5LXNjcm9sbC1wYW5lICNhdWRpb0Rpc3BsYXlTY3JvbGxQYW5lPjwvYXVkaW8tZGlzcGxheS1zY3JvbGwtcGFuZT5cclxuXHJcbiAgICA8YXVkaW8tZGlzcGxheS1jb250cm9sIFthdWRpb0NsaXBdPVwiYXVkaW9DbGlwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxheVN0YXJ0QWN0aW9uXT1cInBsYXlTdGFydEFjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYXlTZWxlY3Rpb25BY3Rpb25dPVwicGxheVNlbGVjdGlvbkFjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxheVN0b3BBY3Rpb25dPVwicGxheVN0b3BBY3Rpb25cIlxyXG4gICAgW2F1dG9QbGF5T25TZWxlY3RUb2dnbGVBY3Rpb25dPVwiYXV0b1BsYXlPblNlbGVjdFRvZ2dsZUFjdGlvblwiXHJcbiAgICBbem9vbUluQWN0aW9uXT1cInpvb21JbkFjdGlvblwiXHJcbiAgICBbem9vbU91dEFjdGlvbl09XCJ6b29tT3V0QWN0aW9uXCJcclxuICAgIFt6b29tU2VsZWN0ZWRBY3Rpb25dPVwiem9vbVNlbGVjdGVkQWN0aW9uXCJcclxuICAgIFt6b29tRml0VG9QYW5lbEFjdGlvbl09XCJ6b29tRml0VG9QYW5lbEFjdGlvblwiPjwvYXVkaW8tZGlzcGxheS1jb250cm9sPlxyXG4gIGAsXHJcbiAgc3R5bGVzOiBbXHJcbiAgICAgIGA6aG9zdCB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgYm90dG9tOiAwcHg7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgIHotaW5kZXg6IDU7XHJcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjMwLCAyMzAsIDIzMCwgMS4wKVxyXG4gICAgfWAsYFxyXG4gICAgICAgICAgbGVnZW5ke1xyXG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxZW07IHBhZGRpbmc6IDAuMmVtIDAuOGVtO2ZvbnQtc2l6ZTogMC44ZW07XHJcbiAgICAgIH1gLGBcclxuICAgICAgICBmaWVsZHNldHtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggZGFya2dyYXkgc29saWRcclxuICAgICAgfVxyXG4gICAgICBgXVxyXG5cclxufSlcclxuZXhwb3J0IGNsYXNzIEF1ZGlvRGlzcGxheSBpbXBsZW1lbnRzIE9uSW5pdCxBZnRlclZpZXdJbml0IHtcclxuXHJcbiAgcGFyZW50RTogSFRNTEVsZW1lbnQ7XHJcbiAgcHJpdmF0ZSBfYXVkaW9DbGlwOkF1ZGlvQ2xpcHxudWxsPW51bGxcclxuXHJcbiAgQElucHV0KClcclxuICBwbGF5U3RhcnRBY3Rpb246IEFjdGlvbjx2b2lkPnx1bmRlZmluZWQ7XHJcbiAgQElucHV0KClcclxuICBwbGF5U3RvcEFjdGlvbjogQWN0aW9uPHZvaWQ+fHVuZGVmaW5lZDtcclxuICBASW5wdXQoKVxyXG4gIHBsYXlTZWxlY3Rpb25BY3Rpb246QWN0aW9uPHZvaWQ+fHVuZGVmaW5lZDtcclxuICBASW5wdXQoKVxyXG4gIGF1dG9QbGF5T25TZWxlY3RUb2dnbGVBY3Rpb24hOkFjdGlvbjxib29sZWFuPnx1bmRlZmluZWQ7XHJcblxyXG4gIHpvb21GaXRUb1BhbmVsQWN0aW9uITpBY3Rpb248dm9pZD47XHJcbiAgem9vbVNlbGVjdGVkQWN0aW9uITpBY3Rpb248dm9pZD5cclxuICB6b29tSW5BY3Rpb24hOkFjdGlvbjx2b2lkPjtcclxuICB6b29tT3V0QWN0aW9uITpBY3Rpb248dm9pZD47XHJcblxyXG4gIGNsZWFyU2VsZWN0aW9uQWN0aW9uITpBY3Rpb248dm9pZD5cclxuXHJcbiAgc3RhdHVzOiBzdHJpbmc7XHJcblxyXG4gIGF1ZGlvOiBhbnk7XHJcblxyXG4gIEBWaWV3Q2hpbGQoQXVkaW9EaXNwbGF5U2Nyb2xsUGFuZSwgeyBzdGF0aWM6IHRydWUgfSlcclxuICBhdWRpb0Rpc3BsYXlTY3JvbGxQYW5lITogQXVkaW9EaXNwbGF5U2Nyb2xsUGFuZTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsIHByaXZhdGUgcmVmOiBDaGFuZ2VEZXRlY3RvclJlZixwcml2YXRlIGVSZWY6RWxlbWVudFJlZikge1xyXG4gICAgLy9jb25zb2xlLmxvZyhcImNvbnN0cnVjdG9yOiBcIit0aGlzLmFjKTtcclxuICAgICAgdGhpcy5wYXJlbnRFPXRoaXMuZVJlZi5uYXRpdmVFbGVtZW50O1xyXG4gICAgdGhpcy5wbGF5U3RhcnRBY3Rpb24gPSBuZXcgQWN0aW9uKFwiU3RhcnRcIik7XHJcbiAgICB0aGlzLnBsYXlTZWxlY3Rpb25BY3Rpb249bmV3IEFjdGlvbihcIlBsYXkgc2VsZWN0ZWRcIik7XHJcbiAgICB0aGlzLnBsYXlTdG9wQWN0aW9uID0gbmV3IEFjdGlvbihcIlN0b3BcIik7XHJcbiAgICB0aGlzLnN0YXR1cz1cIlBsYXllciBjcmVhdGVkLlwiO1xyXG5cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCl7XHJcbiAgICB0aGlzLnpvb21TZWxlY3RlZEFjdGlvbj10aGlzLmF1ZGlvRGlzcGxheVNjcm9sbFBhbmUuem9vbVNlbGVjdGVkQWN0aW9uXHJcbiAgICB0aGlzLnpvb21GaXRUb1BhbmVsQWN0aW9uPXRoaXMuYXVkaW9EaXNwbGF5U2Nyb2xsUGFuZS56b29tRml0VG9QYW5lbEFjdGlvblxyXG4gICAgdGhpcy56b29tT3V0QWN0aW9uPXRoaXMuYXVkaW9EaXNwbGF5U2Nyb2xsUGFuZS56b29tT3V0QWN0aW9uXHJcbiAgICB0aGlzLnpvb21JbkFjdGlvbj10aGlzLmF1ZGlvRGlzcGxheVNjcm9sbFBhbmUuem9vbUluQWN0aW9uXHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcblxyXG4gICAgICB0aGlzLmxheW91dCgpO1xyXG4gICAgICBsZXQgaGVpZ2h0TGlzdGVuZXI9bmV3IE11dGF0aW9uT2JzZXJ2ZXIoKG1yczpBcnJheTxNdXRhdGlvblJlY29yZD4sbW86TXV0YXRpb25PYnNlcnZlcik9PntcclxuICAgICAgICAgIG1ycy5mb3JFYWNoKChtcjpNdXRhdGlvblJlY29yZCk9PntcclxuICAgICAgICAgICAgICBpZignYXR0cmlidXRlcyc9PT1tci50eXBlICYmICgnY2xhc3MnPT09bXIuYXR0cmlidXRlTmFtZSB8fCAnc3R5bGUnPT09bXIuYXR0cmlidXRlTmFtZSkpe1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmxheW91dCgpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pXHJcbiAgICAgIH0pO1xyXG4gICAgICBoZWlnaHRMaXN0ZW5lci5vYnNlcnZlKHRoaXMucGFyZW50RSx7YXR0cmlidXRlczogdHJ1ZSxjaGlsZExpc3Q6IHRydWUsIGNoYXJhY3RlckRhdGE6IHRydWV9KTtcclxuICB9XHJcblxyXG5cclxuICBsYXlvdXQoKXtcclxuICAgIHRoaXMuYXVkaW9EaXNwbGF5U2Nyb2xsUGFuZS5sYXlvdXQoKTtcclxuICB9XHJcblxyXG5cclxuICBzdGFydGVkKCkge1xyXG4gICAgY29uc29sZS5sb2coXCJQbGF5IHN0YXJ0ZWRcIik7XHJcbiAgICB0aGlzLnN0YXR1cyA9ICdQbGF5aW5nLi4uJztcclxuICB9XHJcblxyXG5cclxuICBASW5wdXQoKVxyXG4gIHNldCBhdWRpb0RhdGEoYXVkaW9EYXRhOiBBdWRpb0RhdGFIb2xkZXIpe1xyXG4gICAgICB0aGlzLmF1ZGlvRGlzcGxheVNjcm9sbFBhbmUuYXVkaW9EYXRhID0gYXVkaW9EYXRhO1xyXG4gICAgICBpZih0aGlzLnBsYXlTdGFydEFjdGlvbikge1xyXG4gICAgICAgIGNvbnNvbGUuZGVidWcoXCJQbGF5IHN0YXJ0IGFjdGlvbiAoYnkgQXVkaW9EaXNwbGF5OjpzZXQgYXVkaW9EYXRhKSBkaXNhYmxlZDogXCIrKGF1ZGlvRGF0YT09bnVsbCkpO1xyXG4gICAgICAgICAgdGhpcy5wbGF5U3RhcnRBY3Rpb24uZGlzYWJsZWQgPSAoYXVkaW9EYXRhID09IG51bGwpXHJcbiAgICAgIH1cclxuICB9XHJcblxyXG5cclxuICBASW5wdXQoKVxyXG4gIHNldCBhdWRpb0NsaXAoYXVkaW9DbGlwOiBBdWRpb0NsaXAgfCBudWxsKSB7XHJcblxyXG4gICAgLy9sZXQgYXVkaW9EYXRhOkF1ZGlvQnVmZmVyfG51bGw9bnVsbDtcclxuICAgIGxldCBzZWw6U2VsZWN0aW9ufG51bGw9bnVsbDtcclxuICAgIGlmKGF1ZGlvQ2xpcCl7XHJcbiAgICAgIC8vYXVkaW9EYXRhPWF1ZGlvQ2xpcC5hdWRpb0RhdGFIb2xkZXIuYnVmZmVyO1xyXG4gICAgICBzZWw9YXVkaW9DbGlwLnNlbGVjdGlvbjtcclxuICAgICAgfVxyXG4gICAgdGhpcy5fYXVkaW9DbGlwPWF1ZGlvQ2xpcFxyXG4gICAgdGhpcy5hdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLmF1ZGlvQ2xpcCA9IGF1ZGlvQ2xpcDtcclxuICAgIC8vdGhpcy5wbGF5U3RhcnRBY3Rpb24uZGlzYWJsZWQgPSAoYXVkaW9EYXRhIT09bnVsbClcclxuICB9XHJcblxyXG4gIGdldCBhdWRpb0NsaXAoKTpBdWRpb0NsaXB8bnVsbHtcclxuICAgIHJldHVybiB0aGlzLl9hdWRpb0NsaXBcclxuICB9XHJcblxyXG4gIHNldCBwbGF5RnJhbWVQb3NpdGlvbihwbGF5RnJhbWVQb3NpdGlvbjpudW1iZXIpe1xyXG4gICAgICB0aGlzLmF1ZGlvRGlzcGxheVNjcm9sbFBhbmUucGxheUZyYW1lUG9zaXRpb24gPSBwbGF5RnJhbWVQb3NpdGlvblxyXG4gIH1cclxuXHJcbiAgZXJyb3IoKSB7XHJcbiAgICB0aGlzLnN0YXR1cyA9ICdFUlJPUic7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuIl19
|
|
@@ -4,7 +4,7 @@ import { AudioPlayer, EventType } from './playback/player';
|
|
|
4
4
|
import { Action } from "../action/action";
|
|
5
5
|
import { AudioDisplayScrollPane } from "./ui/audio_display_scroll_pane";
|
|
6
6
|
import { AudioContextProvider } from "./context";
|
|
7
|
-
import { AudioDataHolder } from "./audio_data_holder";
|
|
7
|
+
import { AudioBufferSource, AudioDataHolder } from "./audio_data_holder";
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
import * as i1 from "@angular/router";
|
|
10
10
|
import * as i2 from "./ui/audio_display_scroll_pane";
|
|
@@ -43,12 +43,6 @@ export class AudioDisplayPlayer {
|
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
|
-
ngAfterContentInit() {
|
|
47
|
-
//console.log("AfterContentInit: "+this.ac);
|
|
48
|
-
}
|
|
49
|
-
ngAfterContentChecked() {
|
|
50
|
-
//console.log("AfterContentChecked: "+this.ac);
|
|
51
|
-
}
|
|
52
46
|
ngAfterViewInit() {
|
|
53
47
|
if (this.aCtx && this.ap) {
|
|
54
48
|
this.playStartAction.onAction = () => this.ap?.start();
|
|
@@ -70,11 +64,6 @@ export class AudioDisplayPlayer {
|
|
|
70
64
|
}
|
|
71
65
|
});
|
|
72
66
|
}
|
|
73
|
-
ngAfterViewChecked() {
|
|
74
|
-
//console.log("AfterViewChecked: "+this.ac);
|
|
75
|
-
}
|
|
76
|
-
init() {
|
|
77
|
-
}
|
|
78
67
|
layout() {
|
|
79
68
|
this.audioDisplayScrollPane.layout();
|
|
80
69
|
}
|
|
@@ -112,10 +101,8 @@ export class AudioDisplayPlayer {
|
|
|
112
101
|
};
|
|
113
102
|
this.currentLoader.onerror = (e) => {
|
|
114
103
|
console.error("Error downloading ...");
|
|
115
|
-
//this.statusMsg.innerHTML = 'Error loading audio file!';
|
|
116
104
|
this.currentLoader = null;
|
|
117
105
|
};
|
|
118
|
-
//this.statusMsg.innerHTML = 'Loading...';
|
|
119
106
|
this.currentLoader.send();
|
|
120
107
|
}
|
|
121
108
|
}
|
|
@@ -127,7 +114,8 @@ export class AudioDisplayPlayer {
|
|
|
127
114
|
if (this.aCtx) {
|
|
128
115
|
this.aCtx.decodeAudioData(data, (audioBuffer) => {
|
|
129
116
|
//console.debug("Audio Buffer Samplerate: ", audioBuffer.sampleRate)
|
|
130
|
-
let
|
|
117
|
+
let as = new AudioBufferSource(audioBuffer);
|
|
118
|
+
let adh = new AudioDataHolder(as);
|
|
131
119
|
this.audioClip = new AudioClip(adh);
|
|
132
120
|
});
|
|
133
121
|
}
|
|
@@ -155,20 +143,16 @@ export class AudioDisplayPlayer {
|
|
|
155
143
|
set audioClip(audioClip) {
|
|
156
144
|
this._audioClip = audioClip;
|
|
157
145
|
let audioData = null;
|
|
158
|
-
let sel = null;
|
|
159
146
|
if (audioClip) {
|
|
160
147
|
audioData = audioClip.audioDataHolder;
|
|
161
|
-
sel = audioClip.selection;
|
|
162
148
|
if (this._audioClip) {
|
|
163
149
|
this._audioClip.addSelectionObserver((ac) => {
|
|
164
150
|
this.playSelectionAction.disabled = this.startSelectionDisabled();
|
|
165
|
-
// if(this.ap && ac.selection && this.autoplaySelectedCheckbox.checked){
|
|
166
|
-
// this.ap.startSelected()
|
|
167
|
-
// }
|
|
168
151
|
});
|
|
169
152
|
}
|
|
170
153
|
}
|
|
171
154
|
if (audioData) {
|
|
155
|
+
//console.debug("Play start action (by AudioDisplayPlayer::set audioClip) disabled: "+(!this.ap));
|
|
172
156
|
this.playStartAction.disabled = (!this.ap);
|
|
173
157
|
this.playSelectionAction.disabled = this.startSelectionDisabled();
|
|
174
158
|
}
|
|
@@ -204,14 +188,21 @@ export class AudioDisplayPlayer {
|
|
|
204
188
|
this.playSelectionAction.disabled = this.startSelectionDisabled();
|
|
205
189
|
this.playStopAction.disabled = true;
|
|
206
190
|
}
|
|
191
|
+
else if (EventType.ERROR === e.type) {
|
|
192
|
+
this.status = 'Error.';
|
|
193
|
+
window.clearInterval(this.updateTimerId);
|
|
194
|
+
this.playStartAction.disabled = false;
|
|
195
|
+
this.playSelectionAction.disabled = this.startSelectionDisabled();
|
|
196
|
+
this.playStopAction.disabled = true;
|
|
197
|
+
}
|
|
207
198
|
this.ref.detectChanges();
|
|
208
199
|
}
|
|
209
200
|
error() {
|
|
210
201
|
this.status = 'ERROR';
|
|
211
202
|
}
|
|
212
203
|
}
|
|
213
|
-
AudioDisplayPlayer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
214
|
-
AudioDisplayPlayer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
204
|
+
AudioDisplayPlayer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AudioDisplayPlayer, deps: [{ token: i1.ActivatedRoute }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
205
|
+
AudioDisplayPlayer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: AudioDisplayPlayer, selector: "app-audiodisplayplayer", inputs: { playStartAction: "playStartAction", playStopAction: "playStopAction", playSelectionAction: "playSelectionAction", autoPlayOnSelectToggleAction: "autoPlayOnSelectToggleAction", audioData: "audioData", audioClip: "audioClip" }, viewQueries: [{ propertyName: "audioDisplayScrollPane", first: true, predicate: AudioDisplayScrollPane, descendants: true, static: true }], ngImport: i0, template: `
|
|
215
206
|
|
|
216
207
|
<audio-display-scroll-pane #audioDisplayScrollPane></audio-display-scroll-pane>
|
|
217
208
|
|
|
@@ -224,12 +215,10 @@ AudioDisplayPlayer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
|
|
|
224
215
|
[zoomOutAction]="zoomOutAction"
|
|
225
216
|
[zoomSelectedAction]="zoomSelectedAction"
|
|
226
217
|
[zoomFitToPanelAction]="zoomFitToPanelAction"></audio-display-control><p>{{status}}
|
|
227
|
-
`, isInline: true, styles: [":host{display:flex;flex-direction:column;position:absolute;bottom:0px;height:100%;width:100%;overflow:hidden;padding:20px;z-index:5;box-sizing:border-box;background-color:#000000bf}\n"],
|
|
228
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
218
|
+
`, isInline: true, styles: [":host{display:flex;flex-direction:column;position:absolute;bottom:0px;height:100%;width:100%;overflow:hidden;padding:20px;z-index:5;box-sizing:border-box;background-color:#000000bf}\n"], dependencies: [{ kind: "component", type: i2.AudioDisplayScrollPane, selector: "audio-display-scroll-pane", inputs: ["audioClip"], outputs: ["zoomInAction", "zoomOutAction", "zoomSelectedAction", "zoomFitToPanelAction"] }, { kind: "component", type: i3.AudioDisplayControl, selector: "audio-display-control", inputs: ["audioClip", "playStartAction", "playSelectionAction", "playStopAction", "zoomInAction", "zoomOutAction", "zoomFitToPanelAction", "zoomSelectedAction", "autoPlayOnSelectToggleAction"] }] });
|
|
219
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AudioDisplayPlayer, decorators: [{
|
|
229
220
|
type: Component,
|
|
230
|
-
args: [{
|
|
231
|
-
selector: 'app-audiodisplayplayer',
|
|
232
|
-
template: `
|
|
221
|
+
args: [{ selector: 'app-audiodisplayplayer', template: `
|
|
233
222
|
|
|
234
223
|
<audio-display-scroll-pane #audioDisplayScrollPane></audio-display-scroll-pane>
|
|
235
224
|
|
|
@@ -242,23 +231,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
242
231
|
[zoomOutAction]="zoomOutAction"
|
|
243
232
|
[zoomSelectedAction]="zoomSelectedAction"
|
|
244
233
|
[zoomFitToPanelAction]="zoomFitToPanelAction"></audio-display-control><p>{{status}}
|
|
245
|
-
`,
|
|
246
|
-
styles: [
|
|
247
|
-
`:host {
|
|
248
|
-
display: flex;
|
|
249
|
-
flex-direction: column;
|
|
250
|
-
position: absolute;
|
|
251
|
-
bottom: 0px;
|
|
252
|
-
height: 100%;
|
|
253
|
-
width: 100%;
|
|
254
|
-
overflow: hidden;
|
|
255
|
-
padding: 20px;
|
|
256
|
-
z-index: 5;
|
|
257
|
-
box-sizing: border-box;
|
|
258
|
-
background-color: rgba(0, 0, 0, 0.75)
|
|
259
|
-
}`
|
|
260
|
-
]
|
|
261
|
-
}]
|
|
234
|
+
`, styles: [":host{display:flex;flex-direction:column;position:absolute;bottom:0px;height:100%;width:100%;overflow:hidden;padding:20px;z-index:5;box-sizing:border-box;background-color:#000000bf}\n"] }]
|
|
262
235
|
}], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }]; }, propDecorators: { playStartAction: [{
|
|
263
236
|
type: Input
|
|
264
237
|
}], playStopAction: [{
|
|
@@ -275,4 +248,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
275
248
|
}], audioClip: [{
|
|
276
249
|
type: Input
|
|
277
250
|
}] } });
|
|
278
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW9fcGxheWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlZWNocmVjb3JkZXJuZy9zcmMvbGliL2F1ZGlvL2F1ZGlvX3BsYXllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFNBQVMsRUFFTSxLQUFLLEdBQ3ZCLE1BQU0sZUFBZSxDQUFBO0FBRXRCLE9BQU8sRUFBQyxTQUFTLEVBQVksTUFBTSxhQUFhLENBQUE7QUFDaEQsT0FBTyxFQUFDLFdBQVcsRUFBeUMsU0FBUyxFQUFDLE1BQU0sbUJBQW1CLENBQUE7QUFFL0YsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3hDLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLFdBQVcsQ0FBQztBQUMvQyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7Ozs7O0FBb0NwRCxNQUFNLE9BQU8sa0JBQWtCO0lBa0M3QixZQUFzQixLQUFxQixFQUFZLEdBQXNCLEVBQVcsSUFBZTtRQUFqRixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUFZLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQVcsU0FBSSxHQUFKLElBQUksQ0FBVztRQWpDL0YsY0FBUyxHQUFjLElBQUksQ0FBQztRQW1CcEMsU0FBSSxHQUFvQixJQUFJLENBQUM7UUFDckIsZUFBVSxHQUFnQixJQUFJLENBQUM7UUFJdkMsa0JBQWEsR0FBd0IsSUFBSSxDQUFDO1FBVXhDLHVDQUF1QztRQUNyQyxJQUFJLENBQUMsT0FBTyxHQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLG1CQUFtQixHQUFD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Q29tcG9uZW50LFxyXG4gICAgVmlld0NoaWxkLFxyXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBBZnRlclZpZXdJbml0LCBJbnB1dCwgQWZ0ZXJDb250ZW50SW5pdCwgT25Jbml0LCBBZnRlckNvbnRlbnRDaGVja2VkLCBBZnRlclZpZXdDaGVja2VkLCBFbGVtZW50UmVmLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcblxyXG5pbXBvcnQge0F1ZGlvQ2xpcCwgU2VsZWN0aW9ufSBmcm9tICcuL3BlcnNpc3RvcidcclxuaW1wb3J0IHtBdWRpb1BsYXllciwgQXVkaW9QbGF5ZXJMaXN0ZW5lciwgQXVkaW9QbGF5ZXJFdmVudCwgRXZlbnRUeXBlfSBmcm9tICcuL3BsYXliYWNrL3BsYXllcidcclxuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUGFyYW1zfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7QWN0aW9ufSBmcm9tIFwiLi4vYWN0aW9uL2FjdGlvblwiO1xyXG5pbXBvcnQge0F1ZGlvRGlzcGxheVNjcm9sbFBhbmV9IGZyb20gXCIuL3VpL2F1ZGlvX2Rpc3BsYXlfc2Nyb2xsX3BhbmVcIjtcclxuaW1wb3J0IHtBdWRpb0NvbnRleHRQcm92aWRlcn0gZnJvbSBcIi4vY29udGV4dFwiO1xyXG5pbXBvcnQge0F1ZGlvRGF0YUhvbGRlcn0gZnJvbSBcIi4vYXVkaW9fZGF0YV9ob2xkZXJcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cclxuICBzZWxlY3RvcjogJ2FwcC1hdWRpb2Rpc3BsYXlwbGF5ZXInLFxyXG5cclxuICB0ZW1wbGF0ZTogYFxyXG5cclxuICAgIDxhdWRpby1kaXNwbGF5LXNjcm9sbC1wYW5lICNhdWRpb0Rpc3BsYXlTY3JvbGxQYW5lPjwvYXVkaW8tZGlzcGxheS1zY3JvbGwtcGFuZT5cclxuXHJcbiAgICA8YXVkaW8tZGlzcGxheS1jb250cm9sIFthdWRpb0NsaXBdPVwiYXVkaW9DbGlwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxheVN0YXJ0QWN0aW9uXT1cInBsYXlTdGFydEFjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYXlTZWxlY3Rpb25BY3Rpb25dPVwicGxheVNlbGVjdGlvbkFjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYXlTdG9wQWN0aW9uXT1cInBsYXlTdG9wQWN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXV0b1BsYXlPblNlbGVjdFRvZ2dsZUFjdGlvbl09XCJhcD8uYXV0b1BsYXlPblNlbGVjdFRvZ2dsZUFjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3pvb21JbkFjdGlvbl09XCJ6b29tSW5BY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt6b29tT3V0QWN0aW9uXT1cInpvb21PdXRBY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt6b29tU2VsZWN0ZWRBY3Rpb25dPVwiem9vbVNlbGVjdGVkQWN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbem9vbUZpdFRvUGFuZWxBY3Rpb25dPVwiem9vbUZpdFRvUGFuZWxBY3Rpb25cIj48L2F1ZGlvLWRpc3BsYXktY29udHJvbD48cD57e3N0YXR1c319XHJcbiAgYCxcclxuICBzdHlsZXM6IFtcclxuICAgICAgYDpob3N0IHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBib3R0b206IDBweDtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgei1pbmRleDogNTtcclxuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjc1KVxyXG4gICAgfWBdXHJcblxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXVkaW9EaXNwbGF5UGxheWVyIGltcGxlbWVudHMgQXVkaW9QbGF5ZXJMaXN0ZW5lciwgT25Jbml0LEFmdGVyQ29udGVudEluaXQsQWZ0ZXJDb250ZW50Q2hlY2tlZCxBZnRlclZpZXdJbml0LEFmdGVyVmlld0NoZWNrZWQge1xyXG4gIHByaXZhdGUgX2F1ZGlvVXJsOiBzdHJpbmd8bnVsbD1udWxsO1xyXG5cclxuICBwYXJlbnRFOiBIVE1MRWxlbWVudDtcclxuXHJcbiAgQElucHV0KClcclxuICBwbGF5U3RhcnRBY3Rpb246IEFjdGlvbjx2b2lkPjtcclxuICBASW5wdXQoKVxyXG4gIHBsYXlTdG9wQWN0aW9uOiBBY3Rpb248dm9pZD47XHJcbiAgQElucHV0KClcclxuICBwbGF5U2VsZWN0aW9uQWN0aW9uOkFjdGlvbjx2b2lkPlxyXG4gIEBJbnB1dCgpXHJcbiAgYXV0b1BsYXlPblNlbGVjdFRvZ2dsZUFjdGlvbiE6QWN0aW9uPGJvb2xlYW4+O1xyXG5cclxuICB6b29tRml0VG9QYW5lbEFjdGlvbiE6QWN0aW9uPHZvaWQ+O1xyXG4gIHpvb21TZWxlY3RlZEFjdGlvbiE6QWN0aW9uPHZvaWQ+O1xyXG4gIHpvb21JbkFjdGlvbiE6QWN0aW9uPHZvaWQ+O1xyXG4gIHpvb21PdXRBY3Rpb24hOkFjdGlvbjx2b2lkPjtcclxuXHJcblxyXG4gIGFDdHg6IEF1ZGlvQ29udGV4dHxudWxsPW51bGw7XHJcbiAgcHJpdmF0ZSBfYXVkaW9DbGlwOkF1ZGlvQ2xpcHxudWxsPW51bGw7XHJcbiAgYXA6IEF1ZGlvUGxheWVyfHVuZGVmaW5lZDtcclxuICBzdGF0dXM6IHN0cmluZztcclxuXHJcbiAgY3VycmVudExvYWRlcjogWE1MSHR0cFJlcXVlc3QgfCBudWxsPW51bGw7XHJcblxyXG4gIGF1ZGlvOiBhbnk7XHJcbiAgdXBkYXRlVGltZXJJZDogYW55O1xyXG5cclxuXHJcbiAgQFZpZXdDaGlsZChBdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG4gIHByaXZhdGUgYXVkaW9EaXNwbGF5U2Nyb2xsUGFuZSE6IEF1ZGlvRGlzcGxheVNjcm9sbFBhbmU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCByb3V0ZTogQWN0aXZhdGVkUm91dGUsIHByb3RlY3RlZCByZWY6IENoYW5nZURldGVjdG9yUmVmLHByb3RlY3RlZCBlUmVmOkVsZW1lbnRSZWYpIHtcclxuICAgIC8vY29uc29sZS5sb2coXCJjb25zdHJ1Y3RvcjogXCIrdGhpcy5hYyk7XHJcbiAgICAgIHRoaXMucGFyZW50RT10aGlzLmVSZWYubmF0aXZlRWxlbWVudDtcclxuICAgIHRoaXMucGxheVN0YXJ0QWN0aW9uID0gbmV3IEFjdGlvbihcIlN0YXJ0XCIpO1xyXG4gICAgdGhpcy5wbGF5U2VsZWN0aW9uQWN0aW9uPW5ldyBBY3Rpb24oXCJQbGF5IHNlbGVjdGVkXCIpO1xyXG4gICAgdGhpcy5wbGF5U3RvcEFjdGlvbiA9IG5ldyBBY3Rpb24oXCJTdG9wXCIpO1xyXG4gICAgdGhpcy5zdGF0dXM9XCJQbGF5ZXIgY3JlYXRlZC5cIjtcclxuXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpe1xyXG4gICAgLy9jb25zb2xlLmxvZyhcIk9uSW5pdDogXCIrdGhpcy5hYyk7XHJcbiAgICB0aGlzLnpvb21TZWxlY3RlZEFjdGlvbj10aGlzLmF1ZGlvRGlzcGxheVNjcm9sbFBhbmUuem9vbVNlbGVjdGVkQWN0aW9uXHJcbiAgICAgIHRoaXMuem9vbUZpdFRvUGFuZWxBY3Rpb249dGhpcy5hdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLnpvb21GaXRUb1BhbmVsQWN0aW9uO1xyXG4gICAgdGhpcy56b29tT3V0QWN0aW9uPXRoaXMuYXVkaW9EaXNwbGF5U2Nyb2xsUGFuZS56b29tT3V0QWN0aW9uO1xyXG4gICAgdGhpcy56b29tSW5BY3Rpb249dGhpcy5hdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLnpvb21JbkFjdGlvbjtcclxuICAgICB0cnkge1xyXG4gICAgICAgdGhpcy5hQ3R4ID0gQXVkaW9Db250ZXh0UHJvdmlkZXIuYXVkaW9Db250ZXh0SW5zdGFuY2UoKTtcclxuICAgICAgIGlmKHRoaXMuYUN0eCkge1xyXG4gICAgICAgICB0aGlzLmFwID0gbmV3IEF1ZGlvUGxheWVyKHRoaXMuYUN0eCwgdGhpcyk7XHJcbiAgICAgICB9XHJcbiAgICAgfWNhdGNoKGVycil7XHJcbiAgICAgICBpZihlcnIgaW5zdGFuY2VvZiBFcnJvcikge1xyXG4gICAgICAgICB0aGlzLnN0YXR1cyA9IGVyci5tZXNzYWdlO1xyXG4gICAgICAgfVxyXG4gICAgICB9XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyQ29udGVudEluaXQoKXtcclxuICAgIC8vY29uc29sZS5sb2coXCJBZnRlckNvbnRlbnRJbml0OiBcIit0aGlzLmFjKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpe1xyXG4gICAgLy9jb25zb2xlLmxvZyhcIkFmdGVyQ29udGVudENoZWNrZWQ6IFwiK3RoaXMuYWMpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgICBpZiAodGhpcy5hQ3R4ICYmIHRoaXMuYXApIHtcclxuICAgICAgICAgIHRoaXMucGxheVN0YXJ0QWN0aW9uLm9uQWN0aW9uID0gKCkgPT4gdGhpcy5hcD8uc3RhcnQoKTtcclxuICAgICAgICAgIHRoaXMucGxheVNlbGVjdGlvbkFjdGlvbi5vbkFjdGlvbiA9ICgpID0+IHRoaXMuYXA/LnN0YXJ0U2VsZWN0ZWQoKTtcclxuICAgICAgICAgIHRoaXMucGxheVN0b3BBY3Rpb24ub25BY3Rpb24gPSAoKSA9PiB0aGlzLmFwPy5zdG9wKCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5sYXlvdXQoKTtcclxuICAgICAgbGV0IGhlaWdodExpc3RlbmVyPW5ldyBNdXRhdGlvbk9ic2VydmVyKChtcnM6QXJyYXk8TXV0YXRpb25SZWNvcmQ+LG1vOk11dGF0aW9uT2JzZXJ2ZXIpPT57XHJcbiAgICAgICAgICBtcnMuZm9yRWFjaCgobXI6TXV0YXRpb25SZWNvcmQpPT57XHJcbiAgICAgICAgICAgICAgaWYoJ2F0dHJpYnV0ZXMnPT09bXIudHlwZSAmJiAoJ2NsYXNzJz09PW1yLmF0dHJpYnV0ZU5hbWUgfHwgJ3N0eWxlJz09PW1yLmF0dHJpYnV0ZU5hbWUpKXtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5sYXlvdXQoKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KVxyXG4gICAgICB9KTtcclxuICAgICAgaGVpZ2h0TGlzdGVuZXIub2JzZXJ2ZSh0aGlzLnBhcmVudEUse2F0dHJpYnV0ZXM6IHRydWUsY2hpbGRMaXN0OiB0cnVlLCBjaGFyYWN0ZXJEYXRhOiB0cnVlfSk7XHJcbiAgICB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zLnN1YnNjcmliZSgocGFyYW1zOiBQYXJhbXMpID0+IHtcclxuICAgICAgaWYgKHBhcmFtc1sndXJsJ10pIHtcclxuICAgICAgICB0aGlzLmF1ZGlvVXJsID0gcGFyYW1zWyd1cmwnXTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgbmdBZnRlclZpZXdDaGVja2VkKCl7XHJcbiAgICAvL2NvbnNvbGUubG9nKFwiQWZ0ZXJWaWV3Q2hlY2tlZDogXCIrdGhpcy5hYyk7XHJcbiAgfVxyXG5cclxuXHJcbiAgaW5pdCgpIHtcclxuXHJcblxyXG4gIH1cclxuXHJcbiAgbGF5b3V0KCl7XHJcbiAgICB0aGlzLmF1ZGlvRGlzcGxheVNjcm9sbFBhbmUubGF5b3V0KCk7XHJcbiAgfVxyXG5cclxuICBnZXQgYXVkaW9VcmwoKTogc3RyaW5nfG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMuX2F1ZGlvVXJsO1xyXG4gIH1cclxuXHJcbiAgc2V0IGF1ZGlvVXJsKHZhbHVlOiBzdHJpbmd8bnVsbCkge1xyXG4gICAgaWYodGhpcy5hcCkge1xyXG4gICAgICB0aGlzLmFwLnN0b3AoKTtcclxuICAgIH1cclxuICAgIHRoaXMuX2F1ZGlvVXJsID0gdmFsdWU7XHJcbiAgICB0aGlzLmxvYWQoKTtcclxuICB9XHJcblxyXG5cclxuICBzdGFydGVkKCkge1xyXG4gICAgLy9jb25zb2xlLmRlYnVnKFwiUGxheSBzdGFydGVkXCIpO1xyXG4gICAgdGhpcy5zdGF0dXMgPSAnUGxheWluZy4uLic7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvYWQoKSB7XHJcblxyXG4gICAgaWYgKHRoaXMuY3VycmVudExvYWRlcikge1xyXG4gICAgICB0aGlzLmN1cnJlbnRMb2FkZXIuYWJvcnQoKTtcclxuICAgICAgdGhpcy5jdXJyZW50TG9hZGVyID0gbnVsbDtcclxuICAgIH1cclxuICAgIGlmKHRoaXMuX2F1ZGlvVXJsKSB7XHJcbiAgICAgIC8vdGhpcy5zdGF0dXNNc2cuaW5uZXJIVE1MID0gJ0Nvbm5lY3RpbmcuLi4nO1xyXG4gICAgICB0aGlzLmN1cnJlbnRMb2FkZXIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTtcclxuICAgICAgdGhpcy5jdXJyZW50TG9hZGVyLm9wZW4oXCJHRVRcIiwgdGhpcy5fYXVkaW9VcmwsIHRydWUpO1xyXG4gICAgICB0aGlzLmN1cnJlbnRMb2FkZXIucmVzcG9uc2VUeXBlID0gXCJhcnJheWJ1ZmZlclwiO1xyXG4gICAgICB0aGlzLmN1cnJlbnRMb2FkZXIub25sb2FkID0gKGUpID0+IHtcclxuICAgICAgICBpZiAodGhpcy5jdXJyZW50TG9hZGVyKSB7XHJcblxyXG4gICAgICAgICAgdmFyIGRhdGEgPSB0aGlzLmN1cnJlbnRMb2FkZXIucmVzcG9uc2U7IC8vIG5vdCByZXNwb25zZVRleHRcclxuICAgICAgICAgIC8vY29uc29sZS5kZWJ1ZyhcIlJlY2VpdmVkIGRhdGEgXCIsIGRhdGEuYnl0ZUxlbmd0aCk7XHJcbiAgICAgICAgICB0aGlzLmN1cnJlbnRMb2FkZXIgPSBudWxsO1xyXG4gICAgICAgICAgdGhpcy5sb2FkZWQoZGF0YSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuY3VycmVudExvYWRlci5vbmVycm9yID0gKGUpID0+IHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKFwiRXJyb3IgZG93bmxvYWRpbmcgLi4uXCIpO1xyXG4gICAgICAgIC8vdGhpcy5zdGF0dXNNc2cuaW5uZXJIVE1MID0gJ0Vycm9yIGxvYWRpbmcgYXVkaW8gZmlsZSEnO1xyXG4gICAgICAgIHRoaXMuY3VycmVudExvYWRlciA9IG51bGw7XHJcbiAgICAgIH1cclxuICAgICAgLy90aGlzLnN0YXR1c01zZy5pbm5lckhUTUwgPSAnTG9hZGluZy4uLic7XHJcblxyXG4gICAgICB0aGlzLmN1cnJlbnRMb2FkZXIuc2VuZCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsb2FkZWQoZGF0YTogQXJyYXlCdWZmZXIpIHtcclxuXHJcbiAgICAvL2NvbnNvbGUuZGVidWcoXCJMb2FkZWRcIik7XHJcbiAgICB0aGlzLnN0YXR1cyA9ICdBdWRpbyBmaWxlIGxvYWRlZC4nO1xyXG4gICAgLy9jb25zb2xlLmRlYnVnKFwiUmVjZWl2ZWQgZGF0YSBcIiwgZGF0YS5ieXRlTGVuZ3RoKTtcclxuXHJcbiAgICAvLyBEbyBub3QgdXNlIFByb21pc2UgdmVyc2lvbiwgd2hpY2ggZG9lcyBub3Qgd29yayB3aXRoIFNhZmFyaSAxM1xyXG4gICAgaWYodGhpcy5hQ3R4KSB7XHJcbiAgICAgIHRoaXMuYUN0eC5kZWNvZGVBdWRpb0RhdGEoZGF0YSwgKGF1ZGlvQnVmZmVyKSA9PiB7XHJcbiAgICAgICAgLy9jb25zb2xlLmRlYnVnKFwiQXVkaW8gQnVmZmVyIFNhbXBsZXJhdGU6IFwiLCBhdWRpb0J1ZmZlci5zYW1wbGVSYXRlKVxyXG4gICAgICAgIGxldCBhZGg9bmV3IEF1ZGlvRGF0YUhvbGRlcihhdWRpb0J1ZmZlcixudWxsKTtcclxuICAgICAgICB0aGlzLmF1ZGlvQ2xpcCA9IG5ldyBBdWRpb0NsaXAoYWRoKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHNldCBhdWRpb0RhdGEoYXVkaW9EYXRhOiBBdWRpb0RhdGFIb2xkZXIpe1xyXG4gICAgICB0aGlzLmF1ZGlvRGlzcGxheVNjcm9sbFBhbmUuYXVkaW9EYXRhID0gYXVkaW9EYXRhO1xyXG4gICAgICBpZihhdWRpb0RhdGEpIHtcclxuICAgICAgICAgIGxldCBjbGlwID0gbmV3IEF1ZGlvQ2xpcChhdWRpb0RhdGEpO1xyXG4gICAgICAgICAgaWYgKHRoaXMuYXApe1xyXG4gICAgICAgICAgICAgIHRoaXMuYXAuYXVkaW9DbGlwID0gY2xpcDtcclxuICAgICAgICAgICAgICAgIHRoaXMucGxheVN0YXJ0QWN0aW9uLmRpc2FibGVkID0gZmFsc2VcclxuICAgICAgICAgICAgfVxyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICAgIHRoaXMucGxheVN0YXJ0QWN0aW9uLmRpc2FibGVkID0gdHJ1ZVxyXG4gICAgICAgICAgaWYgKHRoaXMuYXApe1xyXG4gICAgICAgICAgICAgIHRoaXMuYXAuYXVkaW9DbGlwID0gbnVsbDtcclxuICAgICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgdGhpcy5wbGF5U2VsZWN0aW9uQWN0aW9uLmRpc2FibGVkPXRydWVcclxuICB9XHJcblxyXG4gIHN0YXJ0U2VsZWN0aW9uRGlzYWJsZWQoKXtcclxuICAgIHJldHVybiAhKHRoaXMuX2F1ZGlvQ2xpcCAmJiB0aGlzLmFwIT1udWxsICYmICF0aGlzLnBsYXlTdGFydEFjdGlvbi5kaXNhYmxlZCAmJiB0aGlzLl9hdWRpb0NsaXAuc2VsZWN0aW9uIClcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGF1ZGlvQ2xpcChhdWRpb0NsaXA6IEF1ZGlvQ2xpcCB8IG51bGwpIHtcclxuICAgIHRoaXMuX2F1ZGlvQ2xpcD1hdWRpb0NsaXBcclxuICAgIGxldCBhdWRpb0RhdGE6QXVkaW9EYXRhSG9sZGVyfCBudWxsPW51bGw7XHJcbiAgICBsZXQgc2VsOlNlbGVjdGlvbnxudWxsPW51bGw7XHJcbiAgICBpZihhdWRpb0NsaXApe1xyXG4gICAgICBhdWRpb0RhdGE9YXVkaW9DbGlwLmF1ZGlvRGF0YUhvbGRlcjtcclxuICAgICAgc2VsPWF1ZGlvQ2xpcC5zZWxlY3Rpb247XHJcbiAgICAgIGlmKHRoaXMuX2F1ZGlvQ2xpcCkge1xyXG4gICAgICAgIHRoaXMuX2F1ZGlvQ2xpcC5hZGRTZWxlY3Rpb25PYnNlcnZlcigoYWMpID0+IHtcclxuXHJcbiAgICAgICAgICB0aGlzLnBsYXlTZWxlY3Rpb25BY3Rpb24uZGlzYWJsZWQgPSB0aGlzLnN0YXJ0U2VsZWN0aW9uRGlzYWJsZWQoKVxyXG4gICAgICAgICAgLy8gaWYodGhpcy5hcCAmJiBhYy5zZWxlY3Rpb24gJiYgdGhpcy5hdXRvcGxheVNlbGVjdGVkQ2hlY2tib3guY2hlY2tlZCl7XHJcbiAgICAgICAgICAvLyAgIHRoaXMuYXAuc3RhcnRTZWxlY3RlZCgpXHJcbiAgICAgICAgICAvLyB9XHJcblxyXG4gICAgICAgIH0pXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmKGF1ZGlvRGF0YSkge1xyXG4gICAgICB0aGlzLnBsYXlTdGFydEFjdGlvbi5kaXNhYmxlZCA9KCF0aGlzLmFwKVxyXG4gICAgICB0aGlzLnBsYXlTZWxlY3Rpb25BY3Rpb24uZGlzYWJsZWQ9dGhpcy5zdGFydFNlbGVjdGlvbkRpc2FibGVkKClcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLnBsYXlTdGFydEFjdGlvbi5kaXNhYmxlZCA9IHRydWVcclxuICAgICAgdGhpcy5wbGF5U2VsZWN0aW9uQWN0aW9uLmRpc2FibGVkPXRydWVcclxuICB9XHJcblxyXG4gICAgdGhpcy5hdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLmF1ZGlvQ2xpcD1hdWRpb0NsaXBcclxuICAgIGlmKHRoaXMuYXApIHtcclxuICAgICAgdGhpcy5hcC5hdWRpb0NsaXAgPSBhdWRpb0NsaXBcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldCBhdWRpb0NsaXAoKTpBdWRpb0NsaXB8bnVsbHtcclxuICAgIHJldHVybiB0aGlzLl9hdWRpb0NsaXBcclxuICB9XHJcblxyXG4gIHVwZGF0ZVBsYXlQb3NpdGlvbigpIHtcclxuXHJcbiAgICBpZiAodGhpcy5hcCAmJiB0aGlzLmFwLnBsYXlQb3NpdGlvbkZyYW1lcykge1xyXG4gICAgICB0aGlzLmF1ZGlvRGlzcGxheVNjcm9sbFBhbmUucGxheUZyYW1lUG9zaXRpb24gPSB0aGlzLmFwLnBsYXlQb3NpdGlvbkZyYW1lcztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGF1ZGlvUGxheWVyVXBkYXRlKGU6IEF1ZGlvUGxheWVyRXZlbnQpIHtcclxuICAgIGlmIChFdmVudFR5cGUuU1RBUlRFRCA9PT0gZS50eXBlKSB7XHJcbiAgICAgIHRoaXMuc3RhdHVzID0gJ1BsYXliYWNrLi4uJztcclxuICAgICAgdGhpcy51cGRhdGVUaW1lcklkID0gd2luZG93LnNldEludGVydmFsKCgpID0+IHRoaXMudXBkYXRlUGxheVBvc2l0aW9uKCksIDUwKTtcclxuICAgICAgdGhpcy5wbGF5U3RhcnRBY3Rpb24uZGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgICB0aGlzLnBsYXlTZWxlY3Rpb25BY3Rpb24uZGlzYWJsZWQ9dHJ1ZVxyXG4gICAgICB0aGlzLnBsYXlTdG9wQWN0aW9uLmRpc2FibGVkID0gZmFsc2U7XHJcbiAgICB9IGVsc2UgaWYgKEV2ZW50VHlwZS5FTkRFRCA9PT0gZS50eXBlKSB7XHJcbiAgICAgIHRoaXMuc3RhdHVzID0gJ1JlYWR5Lic7XHJcbiAgICAgIHdpbmRvdy5jbGVhckludGVydmFsKHRoaXMudXBkYXRlVGltZXJJZCk7XHJcbiAgICAgIHRoaXMucGxheVN0YXJ0QWN0aW9uLmRpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgIHRoaXMucGxheVNlbGVjdGlvbkFjdGlvbi5kaXNhYmxlZD10aGlzLnN0YXJ0U2VsZWN0aW9uRGlzYWJsZWQoKVxyXG4gICAgICB0aGlzLnBsYXlTdG9wQWN0aW9uLmRpc2FibGVkID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcblxyXG4gIH1cclxuXHJcbiAgZXJyb3IoKSB7XHJcbiAgICB0aGlzLnN0YXR1cyA9ICdFUlJPUic7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuIl19
|
|
251
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW9fcGxheWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlZWNocmVjb3JkZXJuZy9zcmMvbGliL2F1ZGlvL2F1ZGlvX3BsYXllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFNBQVMsRUFFTSxLQUFLLEdBQ3ZCLE1BQU0sZUFBZSxDQUFBO0FBRXRCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxhQUFhLENBQUE7QUFDckMsT0FBTyxFQUFDLFdBQVcsRUFBeUMsU0FBUyxFQUFDLE1BQU0sbUJBQW1CLENBQUE7QUFFL0YsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3hDLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLFdBQVcsQ0FBQztBQUMvQyxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7Ozs7O0FBb0N2RSxNQUFNLE9BQU8sa0JBQWtCO0lBa0M3QixZQUFzQixLQUFxQixFQUFZLEdBQXNCLEVBQVcsSUFBZTtRQUFqRixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUFZLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQVcsU0FBSSxHQUFKLElBQUksQ0FBVztRQWpDL0YsY0FBUyxHQUFjLElBQUksQ0FBQztRQW1CcEMsU0FBSSxHQUFvQixJQUFJLENBQUM7UUFDckIsZUFBVSxHQUFnQixJQUFJLENBQUM7UUFJdkMsa0JBQWEsR0FBd0IsSUFBSSxDQUFDO1FBVXhDLHVDQUF1QztRQUNyQyxJQUFJLENBQUMsT0FBTyxHQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFD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cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIENvbXBvbmVudCxcclxuICAgIFZpZXdDaGlsZCxcclxuICAgIENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgQWZ0ZXJWaWV3SW5pdCwgSW5wdXQsIEFmdGVyQ29udGVudEluaXQsIE9uSW5pdCwgQWZ0ZXJDb250ZW50Q2hlY2tlZCwgQWZ0ZXJWaWV3Q2hlY2tlZCwgRWxlbWVudFJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5cclxuaW1wb3J0IHtBdWRpb0NsaXB9IGZyb20gJy4vcGVyc2lzdG9yJ1xyXG5pbXBvcnQge0F1ZGlvUGxheWVyLCBBdWRpb1BsYXllckxpc3RlbmVyLCBBdWRpb1BsYXllckV2ZW50LCBFdmVudFR5cGV9IGZyb20gJy4vcGxheWJhY2svcGxheWVyJ1xyXG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBQYXJhbXN9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHtBY3Rpb259IGZyb20gXCIuLi9hY3Rpb24vYWN0aW9uXCI7XHJcbmltcG9ydCB7QXVkaW9EaXNwbGF5U2Nyb2xsUGFuZX0gZnJvbSBcIi4vdWkvYXVkaW9fZGlzcGxheV9zY3JvbGxfcGFuZVwiO1xyXG5pbXBvcnQge0F1ZGlvQ29udGV4dFByb3ZpZGVyfSBmcm9tIFwiLi9jb250ZXh0XCI7XHJcbmltcG9ydCB7QXVkaW9CdWZmZXJTb3VyY2UsIEF1ZGlvRGF0YUhvbGRlcn0gZnJvbSBcIi4vYXVkaW9fZGF0YV9ob2xkZXJcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cclxuICBzZWxlY3RvcjogJ2FwcC1hdWRpb2Rpc3BsYXlwbGF5ZXInLFxyXG5cclxuICB0ZW1wbGF0ZTogYFxyXG5cclxuICAgIDxhdWRpby1kaXNwbGF5LXNjcm9sbC1wYW5lICNhdWRpb0Rpc3BsYXlTY3JvbGxQYW5lPjwvYXVkaW8tZGlzcGxheS1zY3JvbGwtcGFuZT5cclxuXHJcbiAgICA8YXVkaW8tZGlzcGxheS1jb250cm9sIFthdWRpb0NsaXBdPVwiYXVkaW9DbGlwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxheVN0YXJ0QWN0aW9uXT1cInBsYXlTdGFydEFjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYXlTZWxlY3Rpb25BY3Rpb25dPVwicGxheVNlbGVjdGlvbkFjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYXlTdG9wQWN0aW9uXT1cInBsYXlTdG9wQWN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXV0b1BsYXlPblNlbGVjdFRvZ2dsZUFjdGlvbl09XCJhcD8uYXV0b1BsYXlPblNlbGVjdFRvZ2dsZUFjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3pvb21JbkFjdGlvbl09XCJ6b29tSW5BY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt6b29tT3V0QWN0aW9uXT1cInpvb21PdXRBY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt6b29tU2VsZWN0ZWRBY3Rpb25dPVwiem9vbVNlbGVjdGVkQWN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbem9vbUZpdFRvUGFuZWxBY3Rpb25dPVwiem9vbUZpdFRvUGFuZWxBY3Rpb25cIj48L2F1ZGlvLWRpc3BsYXktY29udHJvbD48cD57e3N0YXR1c319XHJcbiAgYCxcclxuICBzdHlsZXM6IFtcclxuICAgICAgYDpob3N0IHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBib3R0b206IDBweDtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgei1pbmRleDogNTtcclxuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjc1KVxyXG4gICAgfWBdXHJcblxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXVkaW9EaXNwbGF5UGxheWVyIGltcGxlbWVudHMgQXVkaW9QbGF5ZXJMaXN0ZW5lciwgT25Jbml0LEFmdGVyVmlld0luaXQge1xyXG4gIHByaXZhdGUgX2F1ZGlvVXJsOiBzdHJpbmd8bnVsbD1udWxsO1xyXG5cclxuICBwYXJlbnRFOiBIVE1MRWxlbWVudDtcclxuXHJcbiAgQElucHV0KClcclxuICBwbGF5U3RhcnRBY3Rpb246IEFjdGlvbjx2b2lkPjtcclxuICBASW5wdXQoKVxyXG4gIHBsYXlTdG9wQWN0aW9uOiBBY3Rpb248dm9pZD47XHJcbiAgQElucHV0KClcclxuICBwbGF5U2VsZWN0aW9uQWN0aW9uOkFjdGlvbjx2b2lkPlxyXG4gIEBJbnB1dCgpXHJcbiAgYXV0b1BsYXlPblNlbGVjdFRvZ2dsZUFjdGlvbiE6QWN0aW9uPGJvb2xlYW4+O1xyXG5cclxuICB6b29tRml0VG9QYW5lbEFjdGlvbiE6QWN0aW9uPHZvaWQ+O1xyXG4gIHpvb21TZWxlY3RlZEFjdGlvbiE6QWN0aW9uPHZvaWQ+O1xyXG4gIHpvb21JbkFjdGlvbiE6QWN0aW9uPHZvaWQ+O1xyXG4gIHpvb21PdXRBY3Rpb24hOkFjdGlvbjx2b2lkPjtcclxuXHJcblxyXG4gIGFDdHg6IEF1ZGlvQ29udGV4dHxudWxsPW51bGw7XHJcbiAgcHJpdmF0ZSBfYXVkaW9DbGlwOkF1ZGlvQ2xpcHxudWxsPW51bGw7XHJcbiAgYXA6IEF1ZGlvUGxheWVyfHVuZGVmaW5lZDtcclxuICBzdGF0dXM6IHN0cmluZztcclxuXHJcbiAgY3VycmVudExvYWRlcjogWE1MSHR0cFJlcXVlc3QgfCBudWxsPW51bGw7XHJcblxyXG4gIGF1ZGlvOiBhbnk7XHJcbiAgdXBkYXRlVGltZXJJZDogYW55O1xyXG5cclxuXHJcbiAgQFZpZXdDaGlsZChBdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG4gIHByaXZhdGUgYXVkaW9EaXNwbGF5U2Nyb2xsUGFuZSE6IEF1ZGlvRGlzcGxheVNjcm9sbFBhbmU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCByb3V0ZTogQWN0aXZhdGVkUm91dGUsIHByb3RlY3RlZCByZWY6IENoYW5nZURldGVjdG9yUmVmLHByb3RlY3RlZCBlUmVmOkVsZW1lbnRSZWYpIHtcclxuICAgIC8vY29uc29sZS5sb2coXCJjb25zdHJ1Y3RvcjogXCIrdGhpcy5hYyk7XHJcbiAgICAgIHRoaXMucGFyZW50RT10aGlzLmVSZWYubmF0aXZlRWxlbWVudDtcclxuICAgIHRoaXMucGxheVN0YXJ0QWN0aW9uID0gbmV3IEFjdGlvbihcIlN0YXJ0XCIpO1xyXG4gICAgdGhpcy5wbGF5U2VsZWN0aW9uQWN0aW9uPW5ldyBBY3Rpb24oXCJQbGF5IHNlbGVjdGVkXCIpO1xyXG4gICAgdGhpcy5wbGF5U3RvcEFjdGlvbiA9IG5ldyBBY3Rpb24oXCJTdG9wXCIpO1xyXG4gICAgdGhpcy5zdGF0dXM9XCJQbGF5ZXIgY3JlYXRlZC5cIjtcclxuXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpe1xyXG4gICAgLy9jb25zb2xlLmxvZyhcIk9uSW5pdDogXCIrdGhpcy5hYyk7XHJcbiAgICB0aGlzLnpvb21TZWxlY3RlZEFjdGlvbj10aGlzLmF1ZGlvRGlzcGxheVNjcm9sbFBhbmUuem9vbVNlbGVjdGVkQWN0aW9uXHJcbiAgICAgIHRoaXMuem9vbUZpdFRvUGFuZWxBY3Rpb249dGhpcy5hdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLnpvb21GaXRUb1BhbmVsQWN0aW9uO1xyXG4gICAgdGhpcy56b29tT3V0QWN0aW9uPXRoaXMuYXVkaW9EaXNwbGF5U2Nyb2xsUGFuZS56b29tT3V0QWN0aW9uO1xyXG4gICAgdGhpcy56b29tSW5BY3Rpb249dGhpcy5hdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLnpvb21JbkFjdGlvbjtcclxuICAgICB0cnkge1xyXG4gICAgICAgdGhpcy5hQ3R4ID0gQXVkaW9Db250ZXh0UHJvdmlkZXIuYXVkaW9Db250ZXh0SW5zdGFuY2UoKTtcclxuICAgICAgIGlmKHRoaXMuYUN0eCkge1xyXG4gICAgICAgICB0aGlzLmFwID0gbmV3IEF1ZGlvUGxheWVyKHRoaXMuYUN0eCwgdGhpcyk7XHJcbiAgICAgICB9XHJcbiAgICAgfWNhdGNoKGVycil7XHJcbiAgICAgICBpZihlcnIgaW5zdGFuY2VvZiBFcnJvcikge1xyXG4gICAgICAgICB0aGlzLnN0YXR1cyA9IGVyci5tZXNzYWdlO1xyXG4gICAgICAgfVxyXG4gICAgICB9XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICAgIGlmICh0aGlzLmFDdHggJiYgdGhpcy5hcCkge1xyXG4gICAgICAgICAgdGhpcy5wbGF5U3RhcnRBY3Rpb24ub25BY3Rpb24gPSAoKSA9PiB0aGlzLmFwPy5zdGFydCgpO1xyXG4gICAgICAgICAgdGhpcy5wbGF5U2VsZWN0aW9uQWN0aW9uLm9uQWN0aW9uID0gKCkgPT4gdGhpcy5hcD8uc3RhcnRTZWxlY3RlZCgpO1xyXG4gICAgICAgICAgdGhpcy5wbGF5U3RvcEFjdGlvbi5vbkFjdGlvbiA9ICgpID0+IHRoaXMuYXA/LnN0b3AoKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmxheW91dCgpO1xyXG4gICAgICBsZXQgaGVpZ2h0TGlzdGVuZXI9bmV3IE11dGF0aW9uT2JzZXJ2ZXIoKG1yczpBcnJheTxNdXRhdGlvblJlY29yZD4sbW86TXV0YXRpb25PYnNlcnZlcik9PntcclxuICAgICAgICAgIG1ycy5mb3JFYWNoKChtcjpNdXRhdGlvblJlY29yZCk9PntcclxuICAgICAgICAgICAgICBpZignYXR0cmlidXRlcyc9PT1tci50eXBlICYmICgnY2xhc3MnPT09bXIuYXR0cmlidXRlTmFtZSB8fCAnc3R5bGUnPT09bXIuYXR0cmlidXRlTmFtZSkpe1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmxheW91dCgpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pXHJcbiAgICAgIH0pO1xyXG4gICAgICBoZWlnaHRMaXN0ZW5lci5vYnNlcnZlKHRoaXMucGFyZW50RSx7YXR0cmlidXRlczogdHJ1ZSxjaGlsZExpc3Q6IHRydWUsIGNoYXJhY3RlckRhdGE6IHRydWV9KTtcclxuICAgIHRoaXMucm91dGUucXVlcnlQYXJhbXMuc3Vic2NyaWJlKChwYXJhbXM6IFBhcmFtcykgPT4ge1xyXG4gICAgICBpZiAocGFyYW1zWyd1cmwnXSkge1xyXG4gICAgICAgIHRoaXMuYXVkaW9VcmwgPSBwYXJhbXNbJ3VybCddO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGxheW91dCgpe1xyXG4gICAgdGhpcy5hdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLmxheW91dCgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGF1ZGlvVXJsKCk6IHN0cmluZ3xudWxsIHtcclxuICAgIHJldHVybiB0aGlzLl9hdWRpb1VybDtcclxuICB9XHJcblxyXG4gIHNldCBhdWRpb1VybCh2YWx1ZTogc3RyaW5nfG51bGwpIHtcclxuICAgIGlmKHRoaXMuYXApIHtcclxuICAgICAgdGhpcy5hcC5zdG9wKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9hdWRpb1VybCA9IHZhbHVlO1xyXG4gICAgdGhpcy5sb2FkKCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgc3RhcnRlZCgpIHtcclxuICAgIC8vY29uc29sZS5kZWJ1ZyhcIlBsYXkgc3RhcnRlZFwiKTtcclxuICAgIHRoaXMuc3RhdHVzID0gJ1BsYXlpbmcuLi4nO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsb2FkKCkge1xyXG5cclxuICAgIGlmICh0aGlzLmN1cnJlbnRMb2FkZXIpIHtcclxuICAgICAgdGhpcy5jdXJyZW50TG9hZGVyLmFib3J0KCk7XHJcbiAgICAgIHRoaXMuY3VycmVudExvYWRlciA9IG51bGw7XHJcbiAgICB9XHJcbiAgICBpZih0aGlzLl9hdWRpb1VybCkge1xyXG4gICAgICAvL3RoaXMuc3RhdHVzTXNnLmlubmVySFRNTCA9ICdDb25uZWN0aW5nLi4uJztcclxuICAgICAgdGhpcy5jdXJyZW50TG9hZGVyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7XHJcbiAgICAgIHRoaXMuY3VycmVudExvYWRlci5vcGVuKFwiR0VUXCIsIHRoaXMuX2F1ZGlvVXJsLCB0cnVlKTtcclxuICAgICAgdGhpcy5jdXJyZW50TG9hZGVyLnJlc3BvbnNlVHlwZSA9IFwiYXJyYXlidWZmZXJcIjtcclxuICAgICAgdGhpcy5jdXJyZW50TG9hZGVyLm9ubG9hZCA9IChlKSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudExvYWRlcikge1xyXG5cclxuICAgICAgICAgIHZhciBkYXRhID0gdGhpcy5jdXJyZW50TG9hZGVyLnJlc3BvbnNlOyAvLyBub3QgcmVzcG9uc2VUZXh0XHJcbiAgICAgICAgICAvL2NvbnNvbGUuZGVidWcoXCJSZWNlaXZlZCBkYXRhIFwiLCBkYXRhLmJ5dGVMZW5ndGgpO1xyXG4gICAgICAgICAgdGhpcy5jdXJyZW50TG9hZGVyID0gbnVsbDtcclxuICAgICAgICAgIHRoaXMubG9hZGVkKGRhdGEpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICB0aGlzLmN1cnJlbnRMb2FkZXIub25lcnJvciA9IChlKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihcIkVycm9yIGRvd25sb2FkaW5nIC4uLlwiKTtcclxuICAgICAgICB0aGlzLmN1cnJlbnRMb2FkZXIgPSBudWxsO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuY3VycmVudExvYWRlci5zZW5kKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvYWRlZChkYXRhOiBBcnJheUJ1ZmZlcikge1xyXG5cclxuICAgIC8vY29uc29sZS5kZWJ1ZyhcIkxvYWRlZFwiKTtcclxuICAgIHRoaXMuc3RhdHVzID0gJ0F1ZGlvIGZpbGUgbG9hZGVkLic7XHJcbiAgICAvL2NvbnNvbGUuZGVidWcoXCJSZWNlaXZlZCBkYXRhIFwiLCBkYXRhLmJ5dGVMZW5ndGgpO1xyXG5cclxuICAgIC8vIERvIG5vdCB1c2UgUHJvbWlzZSB2ZXJzaW9uLCB3aGljaCBkb2VzIG5vdCB3b3JrIHdpdGggU2FmYXJpIDEzXHJcbiAgICBpZih0aGlzLmFDdHgpIHtcclxuICAgICAgdGhpcy5hQ3R4LmRlY29kZUF1ZGlvRGF0YShkYXRhLCAoYXVkaW9CdWZmZXIpID0+IHtcclxuICAgICAgICAvL2NvbnNvbGUuZGVidWcoXCJBdWRpbyBCdWZmZXIgU2FtcGxlcmF0ZTogXCIsIGF1ZGlvQnVmZmVyLnNhbXBsZVJhdGUpXHJcbiAgICAgICAgbGV0IGFzPW5ldyBBdWRpb0J1ZmZlclNvdXJjZShhdWRpb0J1ZmZlcik7XHJcbiAgICAgICAgbGV0IGFkaD1uZXcgQXVkaW9EYXRhSG9sZGVyKGFzKTtcclxuICAgICAgICB0aGlzLmF1ZGlvQ2xpcCA9IG5ldyBBdWRpb0NsaXAoYWRoKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHNldCBhdWRpb0RhdGEoYXVkaW9EYXRhOiBBdWRpb0RhdGFIb2xkZXIpe1xyXG4gICAgICB0aGlzLmF1ZGlvRGlzcGxheVNjcm9sbFBhbmUuYXVkaW9EYXRhID0gYXVkaW9EYXRhO1xyXG4gICAgICBpZihhdWRpb0RhdGEpIHtcclxuICAgICAgICAgIGxldCBjbGlwID0gbmV3IEF1ZGlvQ2xpcChhdWRpb0RhdGEpO1xyXG4gICAgICAgICAgaWYgKHRoaXMuYXApe1xyXG4gICAgICAgICAgICAgIHRoaXMuYXAuYXVkaW9DbGlwID0gY2xpcDtcclxuICAgICAgICAgICAgICAgIHRoaXMucGxheVN0YXJ0QWN0aW9uLmRpc2FibGVkID0gZmFsc2VcclxuICAgICAgICAgICAgfVxyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICAgIHRoaXMucGxheVN0YXJ0QWN0aW9uLmRpc2FibGVkID0gdHJ1ZVxyXG4gICAgICAgICAgaWYgKHRoaXMuYXApe1xyXG4gICAgICAgICAgICAgIHRoaXMuYXAuYXVkaW9DbGlwID0gbnVsbDtcclxuICAgICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgdGhpcy5wbGF5U2VsZWN0aW9uQWN0aW9uLmRpc2FibGVkPXRydWVcclxuICB9XHJcblxyXG4gIHN0YXJ0U2VsZWN0aW9uRGlzYWJsZWQoKXtcclxuICAgIHJldHVybiAhKHRoaXMuX2F1ZGlvQ2xpcCAmJiB0aGlzLmFwIT1udWxsICYmICF0aGlzLnBsYXlTdGFydEFjdGlvbi5kaXNhYmxlZCAmJiB0aGlzLl9hdWRpb0NsaXAuc2VsZWN0aW9uIClcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGF1ZGlvQ2xpcChhdWRpb0NsaXA6IEF1ZGlvQ2xpcCB8IG51bGwpIHtcclxuICAgIHRoaXMuX2F1ZGlvQ2xpcD1hdWRpb0NsaXBcclxuICAgIGxldCBhdWRpb0RhdGE6QXVkaW9EYXRhSG9sZGVyfCBudWxsPW51bGw7XHJcbiAgICBpZihhdWRpb0NsaXApe1xyXG4gICAgICBhdWRpb0RhdGE9YXVkaW9DbGlwLmF1ZGlvRGF0YUhvbGRlcjtcclxuICAgICAgaWYodGhpcy5fYXVkaW9DbGlwKSB7XHJcbiAgICAgICAgdGhpcy5fYXVkaW9DbGlwLmFkZFNlbGVjdGlvbk9ic2VydmVyKChhYykgPT4ge1xyXG4gICAgICAgICAgdGhpcy5wbGF5U2VsZWN0aW9uQWN0aW9uLmRpc2FibGVkID0gdGhpcy5zdGFydFNlbGVjdGlvbkRpc2FibGVkKClcclxuICAgICAgICB9KVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZihhdWRpb0RhdGEpIHtcclxuICAgICAgLy9jb25zb2xlLmRlYnVnKFwiUGxheSBzdGFydCBhY3Rpb24gKGJ5IEF1ZGlvRGlzcGxheVBsYXllcjo6c2V0IGF1ZGlvQ2xpcCkgZGlzYWJsZWQ6IFwiKyghdGhpcy5hcCkpO1xyXG4gICAgICB0aGlzLnBsYXlTdGFydEFjdGlvbi5kaXNhYmxlZCA9KCF0aGlzLmFwKVxyXG4gICAgICB0aGlzLnBsYXlTZWxlY3Rpb25BY3Rpb24uZGlzYWJsZWQ9dGhpcy5zdGFydFNlbGVjdGlvbkRpc2FibGVkKClcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLnBsYXlTdGFydEFjdGlvbi5kaXNhYmxlZCA9IHRydWVcclxuICAgICAgdGhpcy5wbGF5U2VsZWN0aW9uQWN0aW9uLmRpc2FibGVkPXRydWVcclxuICB9XHJcblxyXG4gICAgdGhpcy5hdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLmF1ZGlvQ2xpcD1hdWRpb0NsaXBcclxuICAgIGlmKHRoaXMuYXApIHtcclxuICAgICAgdGhpcy5hcC5hdWRpb0NsaXAgPSBhdWRpb0NsaXBcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldCBhdWRpb0NsaXAoKTpBdWRpb0NsaXB8bnVsbHtcclxuICAgIHJldHVybiB0aGlzLl9hdWRpb0NsaXBcclxuICB9XHJcblxyXG4gIHVwZGF0ZVBsYXlQb3NpdGlvbigpIHtcclxuXHJcbiAgICBpZiAodGhpcy5hcCAmJiB0aGlzLmFwLnBsYXlQb3NpdGlvbkZyYW1lcykge1xyXG4gICAgICB0aGlzLmF1ZGlvRGlzcGxheVNjcm9sbFBhbmUucGxheUZyYW1lUG9zaXRpb24gPSB0aGlzLmFwLnBsYXlQb3NpdGlvbkZyYW1lcztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGF1ZGlvUGxheWVyVXBkYXRlKGU6IEF1ZGlvUGxheWVyRXZlbnQpIHtcclxuICAgIGlmIChFdmVudFR5cGUuU1RBUlRFRCA9PT0gZS50eXBlKSB7XHJcbiAgICAgIHRoaXMuc3RhdHVzID0gJ1BsYXliYWNrLi4uJztcclxuICAgICAgdGhpcy51cGRhdGVUaW1lcklkID0gd2luZG93LnNldEludGVydmFsKCgpID0+IHRoaXMudXBkYXRlUGxheVBvc2l0aW9uKCksIDUwKTtcclxuICAgICAgdGhpcy5wbGF5U3RhcnRBY3Rpb24uZGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgICB0aGlzLnBsYXlTZWxlY3Rpb25BY3Rpb24uZGlzYWJsZWQ9dHJ1ZVxyXG4gICAgICB0aGlzLnBsYXlTdG9wQWN0aW9uLmRpc2FibGVkID0gZmFsc2U7XHJcbiAgICB9IGVsc2UgaWYgKEV2ZW50VHlwZS5FTkRFRCA9PT0gZS50eXBlKSB7XHJcbiAgICAgIHRoaXMuc3RhdHVzID0gJ1JlYWR5Lic7XHJcbiAgICAgIHdpbmRvdy5jbGVhckludGVydmFsKHRoaXMudXBkYXRlVGltZXJJZCk7XHJcbiAgICAgIHRoaXMucGxheVN0YXJ0QWN0aW9uLmRpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgIHRoaXMucGxheVNlbGVjdGlvbkFjdGlvbi5kaXNhYmxlZD10aGlzLnN0YXJ0U2VsZWN0aW9uRGlzYWJsZWQoKVxyXG4gICAgICB0aGlzLnBsYXlTdG9wQWN0aW9uLmRpc2FibGVkID0gdHJ1ZTtcclxuICAgIH1lbHNlIGlmIChFdmVudFR5cGUuRVJST1IgPT09IGUudHlwZSkge1xyXG4gICAgICB0aGlzLnN0YXR1cyA9ICdFcnJvci4nO1xyXG4gICAgICB3aW5kb3cuY2xlYXJJbnRlcnZhbCh0aGlzLnVwZGF0ZVRpbWVySWQpO1xyXG4gICAgICB0aGlzLnBsYXlTdGFydEFjdGlvbi5kaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnBsYXlTZWxlY3Rpb25BY3Rpb24uZGlzYWJsZWQ9dGhpcy5zdGFydFNlbGVjdGlvbkRpc2FibGVkKClcclxuICAgICAgdGhpcy5wbGF5U3RvcEFjdGlvbi5kaXNhYmxlZCA9IHRydWU7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHRoaXMucmVmLmRldGVjdENoYW5nZXMoKTtcclxuXHJcbiAgfVxyXG5cclxuICBlcnJvcigpIHtcclxuICAgIHRoaXMuc3RhdHVzID0gJ0VSUk9SJztcclxuICB9XHJcblxyXG59XHJcblxyXG4iXX0=
|