speechrecorderng 2.21.4 → 2.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{esm2015/lib/action/action.js → esm2020/lib/action/action.mjs} +0 -0
- package/{esm2015/lib/audio/audio_display.js → esm2020/lib/audio/audio_display.mjs} +5 -5
- package/esm2020/lib/audio/audio_player.mjs +276 -0
- package/esm2020/lib/audio/capture/capture.mjs +547 -0
- package/{esm2015/lib/audio/context.js → esm2020/lib/audio/context.mjs} +0 -0
- package/esm2020/lib/audio/dsp/level_measure.mjs +351 -0
- package/{esm2015/lib/audio/format.js → esm2020/lib/audio/format.mjs} +0 -0
- package/{esm2015/lib/audio/impl/wavformat.js → esm2020/lib/audio/impl/wavformat.mjs} +0 -0
- package/{esm2015/lib/audio/impl/wavwriter.js → esm2020/lib/audio/impl/wavwriter.mjs} +0 -0
- package/{esm2015/lib/audio/io/stream.js → esm2020/lib/audio/io/stream.mjs} +0 -0
- package/{esm2015/lib/audio/persistor.js → esm2020/lib/audio/persistor.mjs} +0 -0
- package/{esm2015/lib/audio/playback/player.js → esm2020/lib/audio/playback/player.mjs} +0 -0
- package/esm2020/lib/audio/ui/audio_canvas_layer_comp.mjs +376 -0
- package/{esm2015/lib/audio/ui/audio_display_control.js → esm2020/lib/audio/ui/audio_display_control.mjs} +5 -5
- package/{esm2015/lib/audio/ui/audio_display_scroll_pane.js → esm2020/lib/audio/ui/audio_display_scroll_pane.mjs} +5 -5
- package/{esm2015/lib/audio/ui/audiosignal.js → esm2020/lib/audio/ui/audiosignal.mjs} +5 -5
- package/{esm2015/lib/audio/ui/common.js → esm2020/lib/audio/ui/common.mjs} +0 -0
- package/esm2020/lib/audio/ui/container.mjs +431 -0
- package/{esm2015/lib/audio/ui/livelevel.js → esm2020/lib/audio/ui/livelevel.mjs} +5 -5
- package/{esm2015/lib/audio/ui/scroll_pane_horizontal.js → esm2020/lib/audio/ui/scroll_pane_horizontal.mjs} +4 -4
- package/{esm2015/lib/audio/ui/sonagram.js → esm2020/lib/audio/ui/sonagram.mjs} +5 -5
- package/{esm2015/lib/dsp/utils.js → esm2020/lib/dsp/utils.mjs} +0 -0
- package/{esm2015/lib/io/BinaryWriter.js → esm2020/lib/io/BinaryWriter.mjs} +0 -0
- package/{esm2015/lib/io/stream.js → esm2020/lib/io/stream.mjs} +0 -0
- package/{esm2015/lib/math/2d/geometry.js → esm2020/lib/math/2d/geometry.mjs} +0 -0
- package/{esm2015/lib/math/complex.js → esm2020/lib/math/complex.mjs} +0 -0
- package/{esm2015/lib/math/dft.js → esm2020/lib/math/dft.mjs} +0 -0
- package/{esm2015/lib/math/utils.js → esm2020/lib/math/utils.mjs} +0 -0
- package/esm2020/lib/media/utils.mjs +14 -0
- package/esm2020/lib/net/uploader.mjs +246 -0
- package/{esm2015/lib/speechrecorder/project/project.js → esm2020/lib/speechrecorder/project/project.mjs} +0 -0
- package/{esm2015/lib/speechrecorder/project/project.service.js → esm2020/lib/speechrecorder/project/project.service.mjs} +4 -4
- package/esm2020/lib/speechrecorder/recording.mjs +54 -0
- package/esm2020/lib/speechrecorder/recordings/recordings.service.mjs +246 -0
- package/{esm2015/lib/speechrecorder/script/script.js → esm2020/lib/speechrecorder/script/script.mjs} +2 -2
- package/{esm2015/lib/speechrecorder/script/script.service.js → esm2020/lib/speechrecorder/script/script.service.mjs} +4 -4
- package/esm2020/lib/speechrecorder/session/audiorecorder.mjs +1144 -0
- package/esm2020/lib/speechrecorder/session/controlpanel.mjs +449 -0
- package/{esm2015/lib/speechrecorder/session/item.js → esm2020/lib/speechrecorder/session/item.mjs} +1 -1
- package/{esm2015/lib/speechrecorder/session/progress.js → esm2020/lib/speechrecorder/session/progress.mjs} +5 -5
- package/{esm2015/lib/speechrecorder/session/prompting.js → esm2020/lib/speechrecorder/session/prompting.mjs} +21 -21
- package/esm2020/lib/speechrecorder/session/recorder_combi_pane.mjs +75 -0
- package/esm2020/lib/speechrecorder/session/recording_list.mjs +109 -0
- package/esm2020/lib/speechrecorder/session/recordingfile/recording-file-meta.component.mjs +126 -0
- package/{esm2015/lib/speechrecorder/session/recordingfile/recording-file-navi.component.js → esm2020/lib/speechrecorder/session/recordingfile/recording-file-navi.component.mjs} +5 -5
- package/esm2020/lib/speechrecorder/session/recordingfile/recording-file-u-i.component.mjs +168 -0
- package/esm2020/lib/speechrecorder/session/recordingfile/recording-file-view.component.mjs +415 -0
- package/{esm2015/lib/speechrecorder/session/recordingfile/recording-file.js → esm2020/lib/speechrecorder/session/recordingfile/recording-file.mjs} +1 -1
- package/esm2020/lib/speechrecorder/session/recordingfile/recordingfile-service.mjs +251 -0
- package/{esm2015/lib/speechrecorder/session/session.js → esm2020/lib/speechrecorder/session/session.mjs} +0 -0
- package/{esm2015/lib/speechrecorder/session/session.service.js → esm2020/lib/speechrecorder/session/session.service.mjs} +4 -4
- package/{esm2015/lib/speechrecorder/session/session_finished_dialog.js → esm2020/lib/speechrecorder/session/session_finished_dialog.mjs} +4 -4
- package/esm2020/lib/speechrecorder/session/sessionmanager.mjs +1274 -0
- package/{esm2015/lib/speechrecorder/session/warning_bar.js → esm2020/lib/speechrecorder/session/warning_bar.mjs} +5 -5
- package/{esm2015/lib/speechrecorder/spruploader.js → esm2020/lib/speechrecorder/spruploader.mjs} +4 -4
- package/{esm2015/lib/speechrecorder/startstopsignal/startstopsignal.js → esm2020/lib/speechrecorder/startstopsignal/startstopsignal.mjs} +0 -0
- package/{esm2015/lib/speechrecorder/startstopsignal/ui/simpletrafficlight.js → esm2020/lib/speechrecorder/startstopsignal/ui/simpletrafficlight.mjs} +5 -5
- package/esm2020/lib/speechrecorderng.component.mjs +427 -0
- package/{esm2015/lib/speechrecorderng.module.js → esm2020/lib/speechrecorderng.module.mjs} +12 -11
- package/{esm2015/lib/spr.config.js → esm2020/lib/spr.config.mjs} +4 -4
- package/{esm2015/lib/spr.module.version.js → esm2020/lib/spr.module.version.mjs} +2 -2
- package/{esm2015/lib/ui/canvas_layer_comp.js → esm2020/lib/ui/canvas_layer_comp.mjs} +4 -4
- package/{esm2015/lib/ui/message_dialog.js → esm2020/lib/ui/message_dialog.mjs} +4 -4
- package/{esm2015/lib/ui/recordingitem_display.js → esm2020/lib/ui/recordingitem_display.mjs} +9 -9
- package/{esm2015/lib/utils/css_utils.js → esm2020/lib/utils/css_utils.mjs} +0 -0
- package/{esm2015/lib/utils/scrollIntoViewToBottom.js → esm2020/lib/utils/scrollIntoViewToBottom.mjs} +4 -4
- package/{esm2015/lib/utils/ua-parser.js → esm2020/lib/utils/ua-parser.mjs} +0 -0
- package/{esm2015/lib/utils/utils.js → esm2020/lib/utils/utils.mjs} +0 -0
- package/esm2020/public-api.mjs +31 -0
- package/{esm2015/speechrecorderng.js → esm2020/speechrecorderng.mjs} +0 -0
- package/fesm2015/speechrecorderng.mjs +11991 -0
- package/fesm2015/speechrecorderng.mjs.map +1 -0
- package/{fesm2015/speechrecorderng.js → fesm2020/speechrecorderng.mjs} +1863 -285
- package/fesm2020/speechrecorderng.mjs.map +1 -0
- package/lib/media/utils.d.ts +3 -0
- package/lib/net/uploader.d.ts +4 -2
- package/lib/speechrecorder/recording.d.ts +14 -3
- package/lib/speechrecorder/recordings/recordings.service.d.ts +12 -5
- package/lib/speechrecorder/session/audiorecorder.d.ts +150 -0
- package/lib/speechrecorder/session/controlpanel.d.ts +2 -1
- package/lib/speechrecorder/session/item.d.ts +2 -2
- package/lib/speechrecorder/session/recorder_combi_pane.d.ts +26 -0
- package/lib/speechrecorder/session/recording_list.d.ts +19 -0
- package/lib/speechrecorder/session/recordingfile/recording-file-meta.component.d.ts +6 -2
- package/lib/speechrecorder/session/recordingfile/recording-file-view.component.d.ts +5 -4
- package/lib/speechrecorder/session/recordingfile/recording-file.d.ts +2 -2
- package/lib/speechrecorder/session/recordingfile/recordingfile-service.d.ts +5 -3
- package/lib/speechrecorder/session/sessionmanager.d.ts +5 -5
- package/lib/speechrecorderng.module.d.ts +31 -28
- package/lib/spr.module.version.d.ts +1 -1
- package/package.json +33 -20
- package/public-api.d.ts +2 -1
- package/bundles/speechrecorderng.umd.js +0 -10146
- package/bundles/speechrecorderng.umd.js.map +0 -1
- package/esm2015/lib/audio/audio_player.js +0 -274
- package/esm2015/lib/audio/capture/capture.js +0 -544
- package/esm2015/lib/audio/dsp/level_measure.js +0 -356
- package/esm2015/lib/audio/ui/audio_canvas_layer_comp.js +0 -364
- package/esm2015/lib/audio/ui/container.js +0 -412
- package/esm2015/lib/net/uploader.js +0 -220
- package/esm2015/lib/speechrecorder/recording.js +0 -38
- package/esm2015/lib/speechrecorder/recordings/recordings.service.js +0 -173
- package/esm2015/lib/speechrecorder/session/controlpanel.js +0 -446
- package/esm2015/lib/speechrecorder/session/recordingfile/recording-file-meta.component.js +0 -83
- package/esm2015/lib/speechrecorder/session/recordingfile/recording-file-u-i.component.js +0 -163
- package/esm2015/lib/speechrecorder/session/recordingfile/recording-file-view.component.js +0 -386
- package/esm2015/lib/speechrecorder/session/recordingfile/recordingfile-service.js +0 -191
- package/esm2015/lib/speechrecorder/session/sessionmanager.js +0 -1271
- package/esm2015/lib/speechrecorderng.component.js +0 -423
- package/esm2015/public-api.js +0 -30
- package/fesm2015/speechrecorderng.js.map +0 -1
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Created by klausj on 17.06.2017.
|
|
3
|
+
*/
|
|
4
|
+
import { Inject, Injectable } from '@angular/core';
|
|
5
|
+
import { HttpHeaders } from "@angular/common/http";
|
|
6
|
+
import { ApiType, SPEECHRECORDER_CONFIG } from "../../spr.config";
|
|
7
|
+
import { UUID } from "../../utils/utils";
|
|
8
|
+
import { SprRecordingFile } from "../recording";
|
|
9
|
+
import { ProjectService } from "../project/project.service";
|
|
10
|
+
import { SessionService } from "../session/session.service";
|
|
11
|
+
import { Observable } from "rxjs";
|
|
12
|
+
import * as i0 from "@angular/core";
|
|
13
|
+
import * as i1 from "@angular/common/http";
|
|
14
|
+
import * as i2 from "../../spr.config";
|
|
15
|
+
export const REC_API_CTX = 'recfile';
|
|
16
|
+
export class RecordingService {
|
|
17
|
+
constructor(http, config) {
|
|
18
|
+
this.http = http;
|
|
19
|
+
this.config = config;
|
|
20
|
+
this.withCredentials = false;
|
|
21
|
+
//private debugDelay:number=10000;
|
|
22
|
+
this.debugDelay = 0;
|
|
23
|
+
this.apiEndPoint = '';
|
|
24
|
+
if (config && config.apiEndPoint) {
|
|
25
|
+
this.apiEndPoint = config.apiEndPoint;
|
|
26
|
+
}
|
|
27
|
+
if (this.apiEndPoint !== '') {
|
|
28
|
+
this.apiEndPoint = this.apiEndPoint + '/';
|
|
29
|
+
}
|
|
30
|
+
if (config != null && config.withCredentials != null) {
|
|
31
|
+
this.withCredentials = config.withCredentials;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
recordingFilesUrl() {
|
|
35
|
+
let recFilesUrl = this.apiEndPoint + RecordingService.RECORDING_API_CTX;
|
|
36
|
+
return recFilesUrl;
|
|
37
|
+
}
|
|
38
|
+
sessionRecordingFilesUrl(projectName, sessId) {
|
|
39
|
+
let encPrjName = encodeURIComponent(projectName);
|
|
40
|
+
let encSessId = encodeURIComponent(sessId);
|
|
41
|
+
let recFilesUrl = this.apiEndPoint + ProjectService.PROJECT_API_CTX + '/' + encPrjName + '/' +
|
|
42
|
+
SessionService.SESSION_API_CTX + '/' + encSessId + '/' + RecordingService.RECORDING_API_CTX;
|
|
43
|
+
return recFilesUrl;
|
|
44
|
+
}
|
|
45
|
+
sessionRecFilesUrl(projectName, sessId) {
|
|
46
|
+
let encPrjName = encodeURIComponent(projectName);
|
|
47
|
+
let encSessId = encodeURIComponent(sessId);
|
|
48
|
+
let recFilesUrl = this.apiEndPoint + ProjectService.PROJECT_API_CTX + '/' + encPrjName + '/' +
|
|
49
|
+
SessionService.SESSION_API_CTX + '/' + encSessId + '/' + RecordingService.REC_API_CTX;
|
|
50
|
+
return recFilesUrl;
|
|
51
|
+
}
|
|
52
|
+
sessionRecFilesReqUrl(projectName, sessId) {
|
|
53
|
+
let recFilesUrl = this.sessionRecFilesUrl(projectName, sessId);
|
|
54
|
+
if (this.config && this.config.apiType === ApiType.FILES) {
|
|
55
|
+
// for development and demo
|
|
56
|
+
// append UUID to make request URL unique to avoid localhost server caching
|
|
57
|
+
recFilesUrl = recFilesUrl + '.json?requestUUID=' + UUID.generate();
|
|
58
|
+
}
|
|
59
|
+
return recFilesUrl;
|
|
60
|
+
}
|
|
61
|
+
recordingFileDescrList(projectName, sessId) {
|
|
62
|
+
let recFilesReqUrl = this.sessionRecFilesReqUrl(projectName, sessId);
|
|
63
|
+
let wobs = this.http.get(recFilesReqUrl, { withCredentials: this.withCredentials });
|
|
64
|
+
return wobs;
|
|
65
|
+
}
|
|
66
|
+
recordingFileList(projectName, sessId) {
|
|
67
|
+
let recFilesReqUrl = this.sessionRecFilesReqUrl(projectName, sessId);
|
|
68
|
+
let wobs = this.http.get(recFilesReqUrl, { withCredentials: this.withCredentials });
|
|
69
|
+
return wobs;
|
|
70
|
+
}
|
|
71
|
+
sprRecordingFileList(projectName, sessId) {
|
|
72
|
+
let recFilesReqUrl = this.sessionRecFilesReqUrl(projectName, sessId);
|
|
73
|
+
let wobs = this.http.get(recFilesReqUrl, { withCredentials: this.withCredentials });
|
|
74
|
+
return wobs;
|
|
75
|
+
}
|
|
76
|
+
audioRequest(audioUrl) {
|
|
77
|
+
if (this.config && this.config.apiType === ApiType.FILES) {
|
|
78
|
+
// for development and demo
|
|
79
|
+
// append UUID to make request URL unique to avoid localhost server caching
|
|
80
|
+
audioUrl = audioUrl + '.wav?requestUUID=' + UUID.generate();
|
|
81
|
+
}
|
|
82
|
+
let headers = new HttpHeaders();
|
|
83
|
+
headers = headers.set('Accept', 'audio/wav');
|
|
84
|
+
return this.http.get(audioUrl, {
|
|
85
|
+
headers: headers,
|
|
86
|
+
observe: 'response',
|
|
87
|
+
responseType: 'arraybuffer',
|
|
88
|
+
withCredentials: this.withCredentials
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
fetchAudiofile(projectName, sessId, recFileId) {
|
|
92
|
+
let recFilesUrl = this.sessionRecordingFilesUrl(projectName, sessId);
|
|
93
|
+
let encRecFileId = encodeURIComponent(recFileId);
|
|
94
|
+
let recUrl = recFilesUrl + '/' + encRecFileId;
|
|
95
|
+
return this.audioRequest(recUrl);
|
|
96
|
+
}
|
|
97
|
+
fetchSprAudiofile(projectName, sessId, itemcode, version) {
|
|
98
|
+
let recFilesUrl = this.sessionRecFilesUrl(projectName, sessId);
|
|
99
|
+
let encItemcode = encodeURIComponent(itemcode);
|
|
100
|
+
let recUrl = recFilesUrl + '/' + encItemcode + '/' + version;
|
|
101
|
+
return this.audioRequest(recUrl);
|
|
102
|
+
}
|
|
103
|
+
fetchAndApplyRecordingFile(aCtx, projectName, recordingFile) {
|
|
104
|
+
let wobs = new Observable(observer => {
|
|
105
|
+
if (recordingFile.session && recordingFile.recordingFileId) {
|
|
106
|
+
let obs = this.fetchAudiofile(projectName, recordingFile.session, recordingFile.recordingFileId);
|
|
107
|
+
obs.subscribe(resp => {
|
|
108
|
+
//console.log("Fetched audio file. HTTP response status: "+resp.status+", type: "+resp.type+", byte length: "+ resp.body.byteLength);
|
|
109
|
+
// Do not use Promise version, which does not work with Safari 13 (13.0.5)
|
|
110
|
+
if (resp.body) {
|
|
111
|
+
aCtx.decodeAudioData(resp.body, ab => {
|
|
112
|
+
recordingFile.audioBuffer = ab;
|
|
113
|
+
if (this.debugDelay > 0) {
|
|
114
|
+
window.setTimeout(() => {
|
|
115
|
+
observer.next(recordingFile);
|
|
116
|
+
observer.complete();
|
|
117
|
+
}, this.debugDelay);
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
observer.next(recordingFile);
|
|
121
|
+
observer.complete();
|
|
122
|
+
}
|
|
123
|
+
}, error => {
|
|
124
|
+
observer.error(error);
|
|
125
|
+
observer.complete();
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
observer.error('Fetching audio file: response has no body');
|
|
130
|
+
}
|
|
131
|
+
}, (error) => {
|
|
132
|
+
if (error.status == 404) {
|
|
133
|
+
// Interpret not as an error, the file ist not recorded yet
|
|
134
|
+
observer.next(null);
|
|
135
|
+
observer.complete();
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
// all other states are errors
|
|
139
|
+
observer.error(error);
|
|
140
|
+
observer.complete();
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
observer.error();
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
return wobs;
|
|
149
|
+
}
|
|
150
|
+
fetchAndApplySprRecordingFile(aCtx, projectName, recordingFile) {
|
|
151
|
+
let wobs = new Observable(observer => {
|
|
152
|
+
if (recordingFile.session) {
|
|
153
|
+
let obs = this.fetchSprAudiofile(projectName, recordingFile.session, recordingFile.itemCode, recordingFile.version);
|
|
154
|
+
obs.subscribe(resp => {
|
|
155
|
+
//console.log("Fetched audio file. HTTP response status: "+resp.status+", type: "+resp.type+", byte length: "+ resp.body.byteLength);
|
|
156
|
+
// Do not use Promise version, which does not work with Safari 13 (13.0.5)
|
|
157
|
+
if (resp.body) {
|
|
158
|
+
aCtx.decodeAudioData(resp.body, ab => {
|
|
159
|
+
recordingFile.audioBuffer = ab;
|
|
160
|
+
if (this.debugDelay > 0) {
|
|
161
|
+
window.setTimeout(() => {
|
|
162
|
+
observer.next(recordingFile);
|
|
163
|
+
observer.complete();
|
|
164
|
+
}, this.debugDelay);
|
|
165
|
+
}
|
|
166
|
+
else {
|
|
167
|
+
observer.next(recordingFile);
|
|
168
|
+
observer.complete();
|
|
169
|
+
}
|
|
170
|
+
}, error => {
|
|
171
|
+
observer.error(error);
|
|
172
|
+
observer.complete();
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
else {
|
|
176
|
+
observer.error('Fetching audio file: response has no body');
|
|
177
|
+
}
|
|
178
|
+
}, (error) => {
|
|
179
|
+
if (error.status == 404) {
|
|
180
|
+
// Interpret not as an error, the file ist not recorded yet
|
|
181
|
+
observer.next(null);
|
|
182
|
+
observer.complete();
|
|
183
|
+
}
|
|
184
|
+
else {
|
|
185
|
+
// all other states are errors
|
|
186
|
+
observer.error(error);
|
|
187
|
+
observer.complete();
|
|
188
|
+
}
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
else {
|
|
192
|
+
observer.error();
|
|
193
|
+
}
|
|
194
|
+
});
|
|
195
|
+
return wobs;
|
|
196
|
+
}
|
|
197
|
+
fetchRecordingFile(aCtx, projectName, sessId, itemcode, version) {
|
|
198
|
+
let wobs = new Observable(observer => {
|
|
199
|
+
let obs = this.fetchSprAudiofile(projectName, sessId, itemcode, version);
|
|
200
|
+
obs.subscribe(resp => {
|
|
201
|
+
// Do not use Promise version, which does not work with Safari 13
|
|
202
|
+
if (resp.body) {
|
|
203
|
+
aCtx.decodeAudioData(resp.body, ab => {
|
|
204
|
+
let rf = new SprRecordingFile(sessId, itemcode, version, ab);
|
|
205
|
+
if (this.debugDelay > 0) {
|
|
206
|
+
window.setTimeout(() => {
|
|
207
|
+
observer.next(rf);
|
|
208
|
+
observer.complete();
|
|
209
|
+
}, this.debugDelay);
|
|
210
|
+
}
|
|
211
|
+
else {
|
|
212
|
+
observer.next(rf);
|
|
213
|
+
observer.complete();
|
|
214
|
+
}
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
else {
|
|
218
|
+
observer.error();
|
|
219
|
+
}
|
|
220
|
+
}, (error) => {
|
|
221
|
+
if (error.status == 404) {
|
|
222
|
+
// Interpret not as an error, the file ist not recorded yet
|
|
223
|
+
observer.next(null);
|
|
224
|
+
observer.complete();
|
|
225
|
+
}
|
|
226
|
+
else {
|
|
227
|
+
// all other states are errors
|
|
228
|
+
observer.error(error);
|
|
229
|
+
observer.complete();
|
|
230
|
+
}
|
|
231
|
+
});
|
|
232
|
+
});
|
|
233
|
+
return wobs;
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
RecordingService.REC_API_CTX = 'recfile';
|
|
237
|
+
RecordingService.RECORDING_API_CTX = 'recordingfile';
|
|
238
|
+
RecordingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: RecordingService, deps: [{ token: i1.HttpClient }, { token: SPEECHRECORDER_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
239
|
+
RecordingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: RecordingService });
|
|
240
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: RecordingService, decorators: [{
|
|
241
|
+
type: Injectable
|
|
242
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.SpeechRecorderConfig, decorators: [{
|
|
243
|
+
type: Inject,
|
|
244
|
+
args: [SPEECHRECORDER_CONFIG]
|
|
245
|
+
}] }]; } });
|
|
246
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkaW5ncy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlZWNocmVjb3JkZXJuZy9zcmMvbGliL3NwZWVjaHJlY29yZGVyL3JlY29yZGluZ3MvcmVjb3JkaW5ncy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFnQyxXQUFXLEVBQWUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RixPQUFPLEVBQUMsT0FBTyxFQUFFLHFCQUFxQixFQUF1QixNQUFNLGtCQUFrQixDQUFDO0FBRXRGLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUN2QyxPQUFPLEVBQUMsZ0JBQWdCLEVBQTZDLE1BQU0sY0FBYyxDQUFDO0FBQzFGLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQzs7OztBQUdoQyxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUMsU0FBUyxDQUFBO0FBS2xDLE1BQU0sT0FBTyxnQkFBZ0I7SUFVM0IsWUFBb0IsSUFBZ0IsRUFBeUMsTUFBNkI7UUFBdEYsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUF5QyxXQUFNLEdBQU4sTUFBTSxDQUF1QjtRQUxsRyxvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUV6QyxrQ0FBa0M7UUFDMUIsZUFBVSxHQUFRLENBQUMsQ0FBQztRQUkxQixJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQTtRQUVyQixJQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsV0FBVyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFD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QUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO3lCQUNyQjs2QkFBTTs0QkFDTCxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDOzRCQUNsQixRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7eUJBQ3JCO29CQUNILENBQUMsQ0FBQyxDQUFDO2lCQUNKO3FCQUFJO29CQUNILFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztpQkFDbEI7WUFDSCxDQUFDLEVBQ0QsQ0FBQyxLQUF3QixFQUFFLEVBQUU7Z0JBQzNCLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLEVBQUU7b0JBQ3ZCLDJEQUEyRDtvQkFDM0QsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDcEIsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFBO2lCQUNwQjtxQkFBSTtvQkFDSCw4QkFBOEI7b0JBQzlCLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ3RCLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztpQkFDckI7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOztBQWpQc0IsNEJBQVcsR0FBRyxTQUFTLENBQUE7QUFDdkIsa0NBQWlCLEdBQUMsZUFBZSxDQUFBOzZHQUg3QyxnQkFBZ0IsNENBVW1CLHFCQUFxQjtpSEFWeEQsZ0JBQWdCOzJGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVU7OzBCQVc4QixNQUFNOzJCQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBDcmVhdGVkIGJ5IGtsYXVzaiBvbiAxNy4wNi4yMDE3LlxyXG4gKi9cclxuaW1wb3J0IHtJbmplY3QsIEluamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0h0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlLCBIdHRwSGVhZGVycywgSHR0cFJlc3BvbnNlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHtBcGlUeXBlLCBTUEVFQ0hSRUNPUkRFUl9DT05GSUcsIFNwZWVjaFJlY29yZGVyQ29uZmlnfSBmcm9tIFwiLi4vLi4vc3ByLmNvbmZpZ1wiO1xyXG5cclxuaW1wb3J0IHtVVUlEfSBmcm9tIFwiLi4vLi4vdXRpbHMvdXRpbHNcIjtcclxuaW1wb3J0IHtTcHJSZWNvcmRpbmdGaWxlLCBSZWNvcmRpbmdGaWxlRGVzY3JpcHRvckltcGwsIFJlY29yZGluZ0ZpbGV9IGZyb20gXCIuLi9yZWNvcmRpbmdcIjtcclxuaW1wb3J0IHtQcm9qZWN0U2VydmljZX0gZnJvbSBcIi4uL3Byb2plY3QvcHJvamVjdC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7U2Vzc2lvblNlcnZpY2V9IGZyb20gXCIuLi9zZXNzaW9uL3Nlc3Npb24uc2VydmljZVwiO1xyXG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gXCJyeGpzXCI7XHJcblxyXG5cclxuZXhwb3J0IGNvbnN0IFJFQ19BUElfQ1RYPSdyZWNmaWxlJ1xyXG5cclxuXHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBSZWNvcmRpbmdTZXJ2aWNlIHtcclxuXHJcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSRUNfQVBJX0NUWCA9ICdyZWNmaWxlJ1xyXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUkVDT1JESU5HX0FQSV9DVFg9J3JlY29yZGluZ2ZpbGUnXHJcbiAgcHJpdmF0ZSBhcGlFbmRQb2ludDogc3RyaW5nO1xyXG4gIHByaXZhdGUgd2l0aENyZWRlbnRpYWxzOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8vcHJpdmF0ZSBkZWJ1Z0RlbGF5Om51bWJlcj0xMDAwMDtcclxuICBwcml2YXRlIGRlYnVnRGVsYXk6bnVtYmVyPTA7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgQEluamVjdChTUEVFQ0hSRUNPUkRFUl9DT05GSUcpIHByaXZhdGUgY29uZmlnPzogU3BlZWNoUmVjb3JkZXJDb25maWcpIHtcclxuXHJcbiAgICB0aGlzLmFwaUVuZFBvaW50ID0gJydcclxuXHJcbiAgICBpZiAoY29uZmlnICYmIGNvbmZpZy5hcGlFbmRQb2ludCkge1xyXG4gICAgICB0aGlzLmFwaUVuZFBvaW50ID0gY29uZmlnLmFwaUVuZFBvaW50O1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuYXBpRW5kUG9pbnQgIT09ICcnKSB7XHJcbiAgICAgIHRoaXMuYXBpRW5kUG9pbnQgPSB0aGlzLmFwaUVuZFBvaW50ICsgJy8nXHJcbiAgICB9XHJcbiAgICBpZiAoY29uZmlnICE9IG51bGwgJiYgY29uZmlnLndpdGhDcmVkZW50aWFscyAhPSBudWxsKSB7XHJcbiAgICAgIHRoaXMud2l0aENyZWRlbnRpYWxzID0gY29uZmlnLndpdGhDcmVkZW50aWFscztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVjb3JkaW5nRmlsZXNVcmwoKTpzdHJpbmd7XHJcbiAgICBsZXQgcmVjRmlsZXNVcmwgPSB0aGlzLmFwaUVuZFBvaW50ICArIFJlY29yZGluZ1NlcnZpY2UuUkVDT1JESU5HX0FQSV9DVFg7XHJcbiAgICByZXR1cm4gcmVjRmlsZXNVcmw7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNlc3Npb25SZWNvcmRpbmdGaWxlc1VybChwcm9qZWN0TmFtZTogc3RyaW5nLCBzZXNzSWQ6IHN0cmluZyB8IG51bWJlcik6c3RyaW5ne1xyXG4gICAgbGV0IGVuY1Byak5hbWU9ZW5jb2RlVVJJQ29tcG9uZW50KHByb2plY3ROYW1lKTtcclxuICAgIGxldCBlbmNTZXNzSWQ9ZW5jb2RlVVJJQ29tcG9uZW50KHNlc3NJZCk7XHJcbiAgICBsZXQgcmVjRmlsZXNVcmwgPSB0aGlzLmFwaUVuZFBvaW50ICsgUHJvamVjdFNlcnZpY2UuUFJPSkVDVF9BUElfQ1RYICsgJy8nICsgZW5jUHJqTmFtZSArICcvJyArXHJcbiAgICAgIFNlc3Npb25TZXJ2aWNlLlNFU1NJT05fQVBJX0NUWCArICcvJyArIGVuY1Nlc3NJZCArICcvJyArIFJlY29yZGluZ1NlcnZpY2UuUkVDT1JESU5HX0FQSV9DVFg7XHJcbiAgICByZXR1cm4gcmVjRmlsZXNVcmw7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNlc3Npb25SZWNGaWxlc1VybChwcm9qZWN0TmFtZTogc3RyaW5nLCBzZXNzSWQ6IHN0cmluZyB8IG51bWJlcik6c3RyaW5ne1xyXG4gICAgbGV0IGVuY1Byak5hbWU9ZW5jb2RlVVJJQ29tcG9uZW50KHByb2plY3ROYW1lKTtcclxuICAgIGxldCBlbmNTZXNzSWQ9ZW5jb2RlVVJJQ29tcG9uZW50KHNlc3NJZCk7XHJcbiAgICBsZXQgcmVjRmlsZXNVcmwgPSB0aGlzLmFwaUVuZFBvaW50ICsgUHJvamVjdFNlcnZpY2UuUFJPSkVDVF9BUElfQ1RYICsgJy8nICsgZW5jUHJqTmFtZSArICcvJyArXHJcbiAgICAgICAgU2Vzc2lvblNlcnZpY2UuU0VTU0lPTl9BUElfQ1RYICsgJy8nICsgZW5jU2Vzc0lkICsgJy8nICsgUmVjb3JkaW5nU2VydmljZS5SRUNfQVBJX0NUWDtcclxuICAgIHJldHVybiByZWNGaWxlc1VybDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2Vzc2lvblJlY0ZpbGVzUmVxVXJsKHByb2plY3ROYW1lOiBzdHJpbmcsIHNlc3NJZDogc3RyaW5nIHwgbnVtYmVyKTpzdHJpbmd7XHJcbiAgICBsZXQgcmVjRmlsZXNVcmw9dGhpcy5zZXNzaW9uUmVjRmlsZXNVcmwocHJvamVjdE5hbWUsc2Vzc0lkKTtcclxuICAgIGlmICh0aGlzLmNvbmZpZyAmJiB0aGlzLmNvbmZpZy5hcGlUeXBlID09PSBBcGlUeXBlLkZJTEVTKSB7XHJcbiAgICAgIC8vIGZvciBkZXZlbG9wbWVudCBhbmQgZGVtb1xyXG4gICAgICAvLyBhcHBlbmQgVVVJRCB0byBtYWtlIHJlcXVlc3QgVVJMIHVuaXF1ZSB0byBhdm9pZCBsb2NhbGhvc3Qgc2VydmVyIGNhY2hpbmdcclxuICAgICAgcmVjRmlsZXNVcmwgPSByZWNGaWxlc1VybCArICcuanNvbj9yZXF1ZXN0VVVJRD0nICsgVVVJRC5nZW5lcmF0ZSgpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlY0ZpbGVzVXJsO1xyXG4gIH1cclxuXHJcbiAgcmVjb3JkaW5nRmlsZURlc2NyTGlzdChwcm9qZWN0TmFtZTogc3RyaW5nLCBzZXNzSWQ6IHN0cmluZyB8IG51bWJlcik6T2JzZXJ2YWJsZTxBcnJheTxSZWNvcmRpbmdGaWxlRGVzY3JpcHRvckltcGw+PiB7XHJcbiAgICBsZXQgcmVjRmlsZXNSZXFVcmwgPSB0aGlzLnNlc3Npb25SZWNGaWxlc1JlcVVybChwcm9qZWN0TmFtZSxzZXNzSWQpO1xyXG4gICAgbGV0IHdvYnMgPSB0aGlzLmh0dHAuZ2V0PEFycmF5PFJlY29yZGluZ0ZpbGVEZXNjcmlwdG9ySW1wbD4+KHJlY0ZpbGVzUmVxVXJsLHt3aXRoQ3JlZGVudGlhbHM6dGhpcy53aXRoQ3JlZGVudGlhbHN9KTtcclxuICAgIHJldHVybiB3b2JzO1xyXG4gIH1cclxuXHJcbiAgcmVjb3JkaW5nRmlsZUxpc3QocHJvamVjdE5hbWU6IHN0cmluZywgc2Vzc0lkOiBzdHJpbmcgfCBudW1iZXIpOk9ic2VydmFibGU8QXJyYXk8UmVjb3JkaW5nRmlsZT4+IHtcclxuICAgIGxldCByZWNGaWxlc1JlcVVybCA9IHRoaXMuc2Vzc2lvblJlY0ZpbGVzUmVxVXJsKHByb2plY3ROYW1lLHNlc3NJZCk7XHJcbiAgICBsZXQgd29icyA9IHRoaXMuaHR0cC5nZXQ8QXJyYXk8UmVjb3JkaW5nRmlsZT4+KHJlY0ZpbGVzUmVxVXJsLHt3aXRoQ3JlZGVudGlhbHM6dGhpcy53aXRoQ3JlZGVudGlhbHN9KTtcclxuICAgIHJldHVybiB3b2JzO1xyXG4gIH1cclxuXHJcbiAgc3ByUmVjb3JkaW5nRmlsZUxpc3QocHJvamVjdE5hbWU6IHN0cmluZywgc2Vzc0lkOiBzdHJpbmcgfCBudW1iZXIpOk9ic2VydmFibGU8QXJyYXk8U3ByUmVjb3JkaW5nRmlsZT4+IHtcclxuICAgIGxldCByZWNGaWxlc1JlcVVybCA9IHRoaXMuc2Vzc2lvblJlY0ZpbGVzUmVxVXJsKHByb2plY3ROYW1lLHNlc3NJZCk7XHJcbiAgICBsZXQgd29icyA9IHRoaXMuaHR0cC5nZXQ8QXJyYXk8U3ByUmVjb3JkaW5nRmlsZT4+KHJlY0ZpbGVzUmVxVXJsLHt3aXRoQ3JlZGVudGlhbHM6dGhpcy53aXRoQ3JlZGVudGlhbHN9KTtcclxuICAgIHJldHVybiB3b2JzO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhdWRpb1JlcXVlc3QoYXVkaW9Vcmw6c3RyaW5nKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8QXJyYXlCdWZmZXI+PiB7XHJcbiAgICBpZiAodGhpcy5jb25maWcgJiYgdGhpcy5jb25maWcuYXBpVHlwZSA9PT0gQXBpVHlwZS5GSUxFUykge1xyXG4gICAgICAvLyBmb3IgZGV2ZWxvcG1lbnQgYW5kIGRlbW9cclxuICAgICAgLy8gYXBwZW5kIFVVSUQgdG8gbWFrZSByZXF1ZXN0IFVSTCB1bmlxdWUgdG8gYXZvaWQgbG9jYWxob3N0IHNlcnZlciBjYWNoaW5nXHJcbiAgICAgIGF1ZGlvVXJsID0gYXVkaW9VcmwgKyAnLndhdj9yZXF1ZXN0VVVJRD0nICsgVVVJRC5nZW5lcmF0ZSgpO1xyXG4gICAgfVxyXG4gICAgbGV0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKTtcclxuICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQWNjZXB0JywgJ2F1ZGlvL3dhdicpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYXVkaW9VcmwsIHtcclxuICAgICAgaGVhZGVyczogaGVhZGVycyxcclxuICAgICAgb2JzZXJ2ZTogJ3Jlc3BvbnNlJyxcclxuICAgICAgcmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInLFxyXG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRoaXMud2l0aENyZWRlbnRpYWxzXHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZldGNoQXVkaW9maWxlKHByb2plY3ROYW1lOiBzdHJpbmcsIHNlc3NJZDogc3RyaW5nIHwgbnVtYmVyLCByZWNGaWxlSWQ6IHN0cmluZ3xudW1iZXIpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxBcnJheUJ1ZmZlcj4+IHtcclxuICAgIGxldCByZWNGaWxlc1VybD10aGlzLnNlc3Npb25SZWNvcmRpbmdGaWxlc1VybChwcm9qZWN0TmFtZSxzZXNzSWQpO1xyXG4gICAgbGV0IGVuY1JlY0ZpbGVJZD1lbmNvZGVVUklDb21wb25lbnQocmVjRmlsZUlkKTtcclxuICAgIGxldCByZWNVcmwgPSByZWNGaWxlc1VybCArICcvJyArIGVuY1JlY0ZpbGVJZDtcclxuICAgIHJldHVybiB0aGlzLmF1ZGlvUmVxdWVzdChyZWNVcmwpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmZXRjaFNwckF1ZGlvZmlsZShwcm9qZWN0TmFtZTogc3RyaW5nLCBzZXNzSWQ6IHN0cmluZyB8IG51bWJlciwgaXRlbWNvZGU6IHN0cmluZyx2ZXJzaW9uOm51bWJlcik6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPEFycmF5QnVmZmVyPj4ge1xyXG4gICAgbGV0IHJlY0ZpbGVzVXJsPXRoaXMuc2Vzc2lvblJlY0ZpbGVzVXJsKHByb2plY3ROYW1lLHNlc3NJZCk7XHJcbiAgICBsZXQgZW5jSXRlbWNvZGU9ZW5jb2RlVVJJQ29tcG9uZW50KGl0ZW1jb2RlKTtcclxuICAgIGxldCByZWNVcmwgPSByZWNGaWxlc1VybCArICcvJyArIGVuY0l0ZW1jb2RlICsnLycrdmVyc2lvbjtcclxuICAgIHJldHVybiB0aGlzLmF1ZGlvUmVxdWVzdChyZWNVcmwpO1xyXG4gIH1cclxuXHJcbiAgZmV0Y2hBbmRBcHBseVJlY29yZGluZ0ZpbGUoYUN0eDogQXVkaW9Db250ZXh0LCBwcm9qZWN0TmFtZTogc3RyaW5nLCByZWNvcmRpbmdGaWxlOlJlY29yZGluZ0ZpbGUpOk9ic2VydmFibGU8UmVjb3JkaW5nRmlsZXxudWxsPiB7XHJcblxyXG4gICAgbGV0IHdvYnMgPSBuZXcgT2JzZXJ2YWJsZTxSZWNvcmRpbmdGaWxlfG51bGw+KG9ic2VydmVyPT57XHJcbiAgICAgIGlmKHJlY29yZGluZ0ZpbGUuc2Vzc2lvbiAmJiByZWNvcmRpbmdGaWxlLnJlY29yZGluZ0ZpbGVJZCkge1xyXG4gICAgICAgIGxldCBvYnMgPSB0aGlzLmZldGNoQXVkaW9maWxlKHByb2plY3ROYW1lLCByZWNvcmRpbmdGaWxlLnNlc3Npb24sIHJlY29yZGluZ0ZpbGUucmVjb3JkaW5nRmlsZUlkKTtcclxuICAgICAgICBvYnMuc3Vic2NyaWJlKHJlc3AgPT4ge1xyXG4gICAgICAgICAgICAvL2NvbnNvbGUubG9nKFwiRmV0Y2hlZCBhdWRpbyBmaWxlLiBIVFRQIHJlc3BvbnNlIHN0YXR1czogXCIrcmVzcC5zdGF0dXMrXCIsIHR5cGU6IFwiK3Jlc3AudHlwZStcIiwgYnl0ZSBsZW5ndGg6IFwiKyByZXNwLmJvZHkuYnl0ZUxlbmd0aCk7XHJcblxyXG4gICAgICAgICAgICAvLyBEbyBub3QgdXNlIFByb21pc2UgdmVyc2lvbiwgd2hpY2ggZG9lcyBub3Qgd29yayB3aXRoIFNhZmFyaSAxMyAoMTMuMC41KVxyXG4gICAgICAgICAgICBpZiAocmVzcC5ib2R5KSB7XHJcbiAgICAgICAgICAgICAgYUN0eC5kZWNvZGVBdWRpb0RhdGEocmVzcC5ib2R5LCBhYiA9PiB7XHJcbiAgICAgICAgICAgICAgICByZWNvcmRpbmdGaWxlLmF1ZGlvQnVmZmVyID0gYWI7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5kZWJ1Z0RlbGF5ID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLm5leHQocmVjb3JkaW5nRmlsZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcclxuICAgICAgICAgICAgICAgICAgfSwgdGhpcy5kZWJ1Z0RlbGF5KTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgIG9ic2VydmVyLm5leHQocmVjb3JkaW5nRmlsZSk7XHJcbiAgICAgICAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfSwgZXJyb3IgPT4ge1xyXG4gICAgICAgICAgICAgICAgb2JzZXJ2ZXIuZXJyb3IoZXJyb3IpO1xyXG4gICAgICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcclxuICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIG9ic2VydmVyLmVycm9yKCdGZXRjaGluZyBhdWRpbyBmaWxlOiByZXNwb25zZSBoYXMgbm8gYm9keScpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzID09IDQwNCkge1xyXG4gICAgICAgICAgICAgIC8vIEludGVycHJldCBub3QgYXMgYW4gZXJyb3IsIHRoZSBmaWxlIGlzdCBub3QgcmVjb3JkZWQgeWV0XHJcbiAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChudWxsKTtcclxuICAgICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpXHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgLy8gYWxsIG90aGVyIHN0YXRlcyBhcmUgZXJyb3JzXHJcbiAgICAgICAgICAgICAgb2JzZXJ2ZXIuZXJyb3IoZXJyb3IpO1xyXG4gICAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICBvYnNlcnZlci5lcnJvcigpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gd29icztcclxuICB9XHJcblxyXG4gIGZldGNoQW5kQXBwbHlTcHJSZWNvcmRpbmdGaWxlKGFDdHg6IEF1ZGlvQ29udGV4dCwgcHJvamVjdE5hbWU6IHN0cmluZywgcmVjb3JkaW5nRmlsZTpTcHJSZWNvcmRpbmdGaWxlKTpPYnNlcnZhYmxlPFNwclJlY29yZGluZ0ZpbGV8bnVsbD4ge1xyXG5cclxuICAgIGxldCB3b2JzID0gbmV3IE9ic2VydmFibGU8U3ByUmVjb3JkaW5nRmlsZXxudWxsPihvYnNlcnZlcj0+e1xyXG4gICAgICBpZihyZWNvcmRpbmdGaWxlLnNlc3Npb24pIHtcclxuICAgICAgICBsZXQgb2JzID0gdGhpcy5mZXRjaFNwckF1ZGlvZmlsZShwcm9qZWN0TmFtZSwgcmVjb3JkaW5nRmlsZS5zZXNzaW9uLCByZWNvcmRpbmdGaWxlLml0ZW1Db2RlLCByZWNvcmRpbmdGaWxlLnZlcnNpb24pO1xyXG4gICAgICAgIG9icy5zdWJzY3JpYmUocmVzcCA9PiB7XHJcbiAgICAgICAgICAgICAgLy9jb25zb2xlLmxvZyhcIkZldGNoZWQgYXVkaW8gZmlsZS4gSFRUUCByZXNwb25zZSBzdGF0dXM6IFwiK3Jlc3Auc3RhdHVzK1wiLCB0eXBlOiBcIityZXNwLnR5cGUrXCIsIGJ5dGUgbGVuZ3RoOiBcIisgcmVzcC5ib2R5LmJ5dGVMZW5ndGgpO1xyXG5cclxuICAgICAgICAgICAgICAvLyBEbyBub3QgdXNlIFByb21pc2UgdmVyc2lvbiwgd2hpY2ggZG9lcyBub3Qgd29yayB3aXRoIFNhZmFyaSAxMyAoMTMuMC41KVxyXG4gICAgICAgICAgICAgIGlmIChyZXNwLmJvZHkpIHtcclxuICAgICAgICAgICAgICAgIGFDdHguZGVjb2RlQXVkaW9EYXRhKHJlc3AuYm9keSwgYWIgPT4ge1xyXG4gICAgICAgICAgICAgICAgICByZWNvcmRpbmdGaWxlLmF1ZGlvQnVmZmVyID0gYWI7XHJcbiAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmRlYnVnRGVsYXkgPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLm5leHQocmVjb3JkaW5nRmlsZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0sIHRoaXMuZGVidWdEZWxheSk7XHJcbiAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChyZWNvcmRpbmdGaWxlKTtcclxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9LCBlcnJvciA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIG9ic2VydmVyLmVycm9yKGVycm9yKTtcclxuICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIG9ic2VydmVyLmVycm9yKCdGZXRjaGluZyBhdWRpbyBmaWxlOiByZXNwb25zZSBoYXMgbm8gYm9keScpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT0gNDA0KSB7XHJcbiAgICAgICAgICAgICAgICAvLyBJbnRlcnByZXQgbm90IGFzIGFuIGVycm9yLCB0aGUgZmlsZSBpc3Qgbm90IHJlY29yZGVkIHlldFxyXG4gICAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChudWxsKTtcclxuICAgICAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKClcclxuICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gYWxsIG90aGVyIHN0YXRlcyBhcmUgZXJyb3JzXHJcbiAgICAgICAgICAgICAgICBvYnNlcnZlci5lcnJvcihlcnJvcik7XHJcbiAgICAgICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgIG9ic2VydmVyLmVycm9yKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiB3b2JzO1xyXG4gIH1cclxuXHJcbiAgZmV0Y2hSZWNvcmRpbmdGaWxlKGFDdHg6IEF1ZGlvQ29udGV4dCwgcHJvamVjdE5hbWU6IHN0cmluZywgc2Vzc0lkOiBzdHJpbmcgfCBudW1iZXIsIGl0ZW1jb2RlOiBzdHJpbmcsdmVyc2lvbjpudW1iZXIpOk9ic2VydmFibGU8U3ByUmVjb3JkaW5nRmlsZXxudWxsPiB7XHJcblxyXG4gICAgbGV0IHdvYnMgPSBuZXcgT2JzZXJ2YWJsZTxTcHJSZWNvcmRpbmdGaWxlIHwgbnVsbD4ob2JzZXJ2ZXI9PntcclxuICAgICAgbGV0IG9icyA9IHRoaXMuZmV0Y2hTcHJBdWRpb2ZpbGUocHJvamVjdE5hbWUsIHNlc3NJZCwgaXRlbWNvZGUsdmVyc2lvbik7XHJcblxyXG5cclxuICAgICAgb2JzLnN1YnNjcmliZShyZXNwID0+IHtcclxuICAgICAgICAgICAgLy8gRG8gbm90IHVzZSBQcm9taXNlIHZlcnNpb24sIHdoaWNoIGRvZXMgbm90IHdvcmsgd2l0aCBTYWZhcmkgMTNcclxuICAgICAgICAgIGlmKHJlc3AuYm9keSkge1xyXG4gICAgICAgICAgICBhQ3R4LmRlY29kZUF1ZGlvRGF0YShyZXNwLmJvZHksIGFiID0+IHtcclxuICAgICAgICAgICAgICBsZXQgcmYgPSBuZXcgU3ByUmVjb3JkaW5nRmlsZShzZXNzSWQsIGl0ZW1jb2RlLCB2ZXJzaW9uLCBhYik7XHJcbiAgICAgICAgICAgICAgaWYgKHRoaXMuZGVidWdEZWxheSA+IDApIHtcclxuICAgICAgICAgICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcclxuXHJcbiAgICAgICAgICAgICAgICAgIG9ic2VydmVyLm5leHQocmYpO1xyXG4gICAgICAgICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgICAgICAgfSwgdGhpcy5kZWJ1Z0RlbGF5KTtcclxuICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChyZik7XHJcbiAgICAgICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgb2JzZXJ2ZXIuZXJyb3IoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT0gNDA0KSB7XHJcbiAgICAgICAgICAgIC8vIEludGVycHJldCBub3QgYXMgYW4gZXJyb3IsIHRoZSBmaWxlIGlzdCBub3QgcmVjb3JkZWQgeWV0XHJcbiAgICAgICAgICAgIG9ic2VydmVyLm5leHQobnVsbCk7XHJcbiAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKClcclxuICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICAvLyBhbGwgb3RoZXIgc3RhdGVzIGFyZSBlcnJvcnNcclxuICAgICAgICAgICAgb2JzZXJ2ZXIuZXJyb3IoZXJyb3IpO1xyXG4gICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIHdvYnM7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuXHJcbiJdfQ==
|
package/{esm2015/lib/speechrecorder/script/script.js → esm2020/lib/speechrecorder/script/script.mjs}
RENAMED
|
@@ -78,7 +78,7 @@ export class MediaitemUtil {
|
|
|
78
78
|
let srcUrl = new URL(src);
|
|
79
79
|
srcPn = srcUrl.pathname;
|
|
80
80
|
}
|
|
81
|
-
catch
|
|
81
|
+
catch {
|
|
82
82
|
srcPn = src;
|
|
83
83
|
}
|
|
84
84
|
// Get filename without extension
|
|
@@ -111,4 +111,4 @@ export class PromptitemUtil {
|
|
|
111
111
|
return description;
|
|
112
112
|
}
|
|
113
113
|
}
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyaXB0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlZWNocmVjb3JkZXJuZy9zcmMvbGliL3NwZWVjaHJlY29yZGVyL3NjcmlwdC9zY3JpcHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBaUZBLE1BQU0sT0FBTyxhQUFhO0lBRXhCLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxTQUFtQjtRQUMxQyxJQUFJLEVBQUUsR0FBQyxFQUFFLENBQUM7UUFDVixJQUFJLENBQUMsR0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1FBQ3JCLElBQUcsQ0FBQyxJQUFFLElBQUksRUFBRTtZQUNWLElBQUksSUFBSSxHQUFDLENBQUMsQ0FBQyxNQUFNLENBQUE7WUFDakIsSUFBRyxJQUFJLEVBQUU7Z0JBQ1AsS0FBSSxJQUFJLEdBQUcsR0FBQyxDQUFDLEVBQUMsR0FBRyxHQUFDLElBQUksQ0FBQyxNQUFNLEVBQUMsR0FBRyxFQUFFLEVBQUM7b0JBQ2xDLElBQUksR0FBRyxHQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDbEIsSUFBSSxJQUFJLEdBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztvQkFDbkIsS0FBSSxJQUFJLEVBQUUsR0FBQyxDQUFDLEVBQUMsRUFBRSxHQUFDLElBQUksQ0FBQyxNQUFNLEVBQUMsRUFBRSxFQUFFLEVBQUM7d0JBQzdCLElBQUksS0FBSyxHQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQzt3QkFDbkIsSUFBSSxHQUFHLEdBQUUsS0FBSyxDQUFDLElBQUksQ0FBQzt3QkFDdEIsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBQzs0QkFDeEIsSUFBRyxPQUFPLEdBQUcsS0FBSyxRQUFRLEVBQUM7Z0NBQ3pCLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFTLEdBQUcsQ0FBQyxDQUFDOzZCQUM3QjtpQ0FBSTtnQ0FDSCxJQUFJLFFBQVEsR0FBTyxHQUFHLENB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Q3BCLElBQUksT0FBTyxHQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUMzQyxXQUFXLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztpQkFDM0M7YUFDRjtTQUNGO1FBQ0QsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLGNBQWM7SUFDekIsTUFBTSxDQUFDLGlCQUFpQixDQUFDLFVBQXNCO1FBRTdDLElBQUksR0FBRyxHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUM7UUFDaEMsSUFBSSxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3JCLElBQUksR0FBRyxFQUFFO1lBRVAsSUFBSSxPQUFPLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztZQUN6QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUNoQyxJQUFJLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2hCLFdBQVcsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDaEUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE9BQU8sRUFBRTtvQkFDbkIsZ0JBQWdCO29CQUNoQixXQUFXLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDeEM7YUFDRjtTQUNGO1FBQ0QsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmV4cG9ydCB0eXBlIE1vZGUgPSBcIk1BTlVBTFwiIHwgXCJBVVRPUFJPR1JFU1NcIiB8IFwiQVVUT1JFQ09SRElOR1wiO1xyXG5leHBvcnQgdHlwZSBQcm9tcHRQaGFzZSA9IFwiSURMRVwiIHwgXCJQUkVSRUNPUkRJTkdcIiB8IFwiUkVDT1JESU5HXCI7XHJcblxyXG5leHBvcnQgdHlwZSBPcmRlciA9ICdTRVFVRU5USUFMJyB8ICdSQU5ET00nIHwgJ1JBTkRPTUlaRUQnO1xyXG5cclxuZXhwb3J0IHR5cGUgRGVjb3JhdGlvbiA9J3VuZGVybGluZSdcclxuZXhwb3J0IHR5cGUgU3R5bGUgPSdpdGFsaWMnIHwgJ25vcm1hbCdcclxuZXhwb3J0IHR5cGUgRm9udFdlaWdodD0nbm9ybWFsJyB8ICdib2xkJ1xyXG5leHBvcnQgdHlwZSBCbG9ja1R5cGU9J3AnO1xyXG5leHBvcnQgdHlwZSBUZXh0VHlwZT0ndGV4dCcgfCAnZm9udCc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFJlY2luc3RydWN0aW9uc3tcclxuICByZWNpbnN0cnVjdGlvbnM6c3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRleHQge1xyXG4gIHR5cGU6IFRleHRUeXBlLFxyXG4gIGNvbG9yPyA6IHN0cmluZyxcclxuICBkZWNvcmF0aW9uPyA6IERlY29yYXRpb24sXHJcbiAgc2l6ZT86IHN0cmluZyxcclxuICB3ZWlnaHQ/OiBGb250V2VpZ2h0LFxyXG4gIHN0eWxlPzogU3R5bGUsXHJcbiAgdGV4dCA6IHN0cmluZyB8IFRleHQ7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQmxvY2sge1xyXG4gIHR5cGU6IEJsb2NrVHlwZSxcclxuICB0ZXh0czogQXJyYXk8VGV4dD5cclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEJvZHl7XHJcbiAgYmxvY2tzPzogQXJyYXk8QmxvY2s+LFxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFByb21wdERvY3tcclxuICBib2R5PzogQm9keVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE1lZGlhaXRlbSB7XHJcbiAgdGV4dD86IHN0cmluZyxcclxuICBzcmM/OiBzdHJpbmcsXHJcbiAgcHJvbXB0RG9jPzogUHJvbXB0RG9jLFxyXG4gIG1pbWV0eXBlPzpzdHJpbmcsXHJcbiAgZGVmYXVsdFZpcnR1YWxWaWV3Qm94PzpWaXJ0dWFsVmlld0JveCxcclxuICBhbHQ/OnN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFByb21wdEl0ZW0ge1xyXG4gIHR5cGU/OnN0cmluZztcclxuICBpdGVtY29kZT86IHN0cmluZyxcclxuICBwcmVyZWNvcmRpbmc6IG51bWJlcixcclxuICByZWNkdXJhdGlvbj86IG51bWJlcixcclxuICBwb3N0cmVjb3JkaW5nOiBudW1iZXIsXHJcbiAgcmVjaW5zdHJ1Y3Rpb25zPzogUmVjaW5zdHJ1Y3Rpb25zLFxyXG4gIG1lZGlhaXRlbXM6IEFycmF5PE1lZGlhaXRlbT5cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBHcm91cCB7XHJcbiAgb3JkZXI/Ok9yZGVyO1xyXG4gIHByb21wdEl0ZW1zOiBBcnJheTxQcm9tcHRJdGVtPjtcclxuICBfc2h1ZmZsZWRQcm9tcHRJdGVtczogQXJyYXk8UHJvbXB0SXRlbT47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2VjdGlvbiB7XHJcbiAgbW9kZTogTW9kZTtcclxuICBwcm9tcHRwaGFzZTogUHJvbXB0UGhhc2U7XHJcbiAgb3JkZXI/OiBPcmRlcjtcclxuICB0cmFpbmluZzogYm9vbGVhbjtcclxuICBncm91cHM6IEFycmF5PEdyb3VwPjtcclxuICBfc2h1ZmZsZWRHcm91cHM6IEFycmF5PEdyb3VwPjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBWaXJ0dWFsVmlld0JveHtcclxuICBoZWlnaHQ6bnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNjcmlwdCB7XHJcbiAgdmlydHVhbFZpZXdCb3g/OlZpcnR1YWxWaWV3Qm94O1xyXG4gIHNlY3Rpb25zOiBBcnJheTxTZWN0aW9uPjtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFByb21wdERvY1V0aWx7XHJcblxyXG4gIHN0YXRpYyB0b1BsYWluVGV4dFN0cmluZyhwcm9tcHREb2M6UHJvbXB0RG9jKTpzdHJpbmd7XHJcbiAgICBsZXQgcHQ9XCJcIjtcclxuICAgIGxldCBiPXByb21wdERvYy5ib2R5O1xyXG4gICAgaWYoYiE9bnVsbCkge1xyXG4gICAgICBsZXQgYmxrcz1iLmJsb2Nrc1xyXG4gICAgICBpZihibGtzKSB7XHJcbiAgICAgICAgZm9yKGxldCBibGk9MDtibGk8Ymxrcy5sZW5ndGg7YmxpKyspe1xyXG4gICAgICAgICAgbGV0IGJsaz1ibGtzW2JsaV07XHJcbiAgICAgICAgICBsZXQgdHh0cz1ibGsudGV4dHM7XHJcbiAgICAgICAgICBmb3IobGV0IHRpPTA7dGk8dHh0cy5sZW5ndGg7dGkrKyl7XHJcbiAgICAgICAgICAgICAgbGV0IHR4dEVsPXR4dHNbdGldO1xyXG4gICAgICAgICAgICAgIGxldCB0eHQgPXR4dEVsLnRleHQ7XHJcbiAgICAgICAgICAgIGlmKCB0eHRFbC50eXBlID09PSAnZm9udCcpe1xyXG4gICAgICAgICAgICAgIGlmKHR5cGVvZiB0eHQgPT09ICdzdHJpbmcnKXtcclxuICAgICAgICAgICAgICAgIHB0ID0gcHQuY29uY2F0KDxzdHJpbmc+dHh0KTtcclxuICAgICAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgICAgIGxldCBzdWJUeHRFbD08VGV4dD50eHQ7XHJcbiAgICAgICAgICAgICAgICBsZXQgc3ViVHh0PXN1YlR4dEVsLnRleHQ7XHJcbiAgICAgICAgICAgICAgICBpZih0eXBlb2Ygc3ViVHh0ID09PSAnc3RyaW5nJykge1xyXG4gICAgICAgICAgICAgICAgICBwdD1wdC5jb25jYXQoc3ViVHh0KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1lbHNlIGlmKHR5cGVvZiB0eHQgPT09ICdzdHJpbmcnKXtcclxuICAgICAgICAgICAgICBwdCA9IHB0LmNvbmNhdCg8c3RyaW5nPnR4dCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwdDtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBNZWRpYWl0ZW1VdGlsIHtcclxuICBzdGF0aWMgdG9QbGFpblRleHRTdHJpbmcobWVkaWFpdGVtOiBNZWRpYWl0ZW0pOiBzdHJpbmd8bnVsbCB7XHJcblxyXG4gICAgbGV0IHR4dCA9IG1lZGlhaXRlbS50ZXh0O1xyXG4gICAgbGV0IHBkID0gbWVkaWFpdGVtLnByb21wdERvYztcclxuICAgIGlmICh0eHQgPT0gbnVsbCkge1xyXG4gICAgICBsZXQgcHQgPSBudWxsO1xyXG4gICAgICBpZiAocGQgIT0gbnVsbCkge1xyXG4gICAgICAgIHB0ID0gUHJvbXB0RG9jVXRpbC50b1BsYWluVGV4dFN0cmluZyhwZCk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHB0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHR4dDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXRpYyBkZXNjcmlwdGlvbihtaTogTWVkaWFpdGVtKTogc3RyaW5nIHtcclxuICAgIGxldCBkZXNjcmlwdGlvbiA9IFwiXCI7XHJcblxyXG4gICAgaWYgKG1pLmFsdCAhPSBudWxsKSB7XHJcbiAgICAgIGRlc2NyaXB0aW9uID0gZGVzY3JpcHRpb24uY29uY2F0KG1pLmFsdClcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGxldCBzcmMgPSBtaS5zcmM7XHJcbiAgICAgIGxldCBtaW1lVHlwZSA9IG1pLm1pbWV0eXBlO1xyXG4gICAgICBpZiAoIW1pbWVUeXBlKSB7XHJcbiAgICAgICAgbWltZVR5cGUgPSAndGV4dC9wbGFpbic7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKG1pbWVUeXBlLnN0YXJ0c1dpdGgoXCJpbWFnZVwiKSkge1xyXG4gICAgICAgIGRlc2NyaXB0aW9uID0gZGVzY3JpcHRpb24uY29uY2F0KFwiSU1BR0U6IFwiKTtcclxuICAgICAgfSBlbHNlIGlmIChtaW1lVHlwZS5zdGFydHNXaXRoKFwiYXVkaW9cIikpIHtcclxuICAgICAgICBkZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uLmNvbmNhdChcIkFVRElPOiBcIik7XHJcbiAgICAgIH0gZWxzZSBpZiAobWltZVR5cGUuc3RhcnRzV2l0aChcInZpZGVvXCIpKSB7XHJcbiAgICAgICAgZGVzY3JpcHRpb24gPSBkZXNjcmlwdGlvbi5jb25jYXQoXCJWSURFTzogXCIpO1xyXG4gICAgICB9XHJcbiAgICAgIGxldCBwcm9tcHRUZXh0ID0gTWVkaWFpdGVtVXRpbC50b1BsYWluVGV4dFN0cmluZyhtaSk7XHJcbiAgICAgIGlmIChwcm9tcHRUZXh0ICE9IG51bGwpIHtcclxuICAgICAgICBkZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uLmNvbmNhdChwcm9tcHRUZXh0KTtcclxuICAgICAgfSBlbHNlIGlmIChzcmMgIT0gbnVsbCkge1xyXG4gICAgICAgIGxldCBzcmNQbjtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgbGV0IHNyY1VybCA9IG5ldyBVUkwoc3JjKTtcclxuICAgICAgICAgIHNyY1BuPXNyY1VybC5wYXRobmFtZTtcclxuICAgICAgICB9Y2F0Y2h7XHJcbiAgICAgICAgICBzcmNQbj1zcmM7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBHZXQgZmlsZW5hbWUgd2l0aG91dCBleHRlbnNpb25cclxuICAgICAgICBsZXQgc3JjRm5NPXNyY1BuLm1hdGNoKC8oW15cXC9dKikkLyk7XHJcbiAgICAgICAgaWYoc3JjRm5NICYmIHNyY0ZuTS5sZW5ndGg9PTIpe1xyXG4gICAgICAgICAgbGV0IHNyY0ZuPXNyY0ZuTVsxXTtcclxuICAgICAgICAgIGxldCBzcmNGbk5tPXNyY0ZuLnJlcGxhY2UoL1tcXC5dW15cXC5dKi8sJycpO1xyXG4gICAgICAgICAgZGVzY3JpcHRpb24gPSBkZXNjcmlwdGlvbi5jb25jYXQoc3JjRm5ObSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZGVzY3JpcHRpb247XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgUHJvbXB0aXRlbVV0aWwge1xyXG4gIHN0YXRpYyB0b1BsYWluVGV4dFN0cmluZyhwcm9tcHRJdGVtOiBQcm9tcHRJdGVtKTogc3RyaW5nIHtcclxuXHJcbiAgICBsZXQgbWlzID0gcHJvbXB0SXRlbS5tZWRpYWl0ZW1zO1xyXG4gICAgbGV0IGRlc2NyaXB0aW9uID0gXCJcIjtcclxuICAgIGlmIChtaXMpIHtcclxuXHJcbiAgICAgIGxldCBtaXNTaXplID0gbWlzLmxlbmd0aDtcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtaXNTaXplOyBpKyspIHtcclxuICAgICAgICBsZXQgbWkgPSBtaXNbaV07XHJcbiAgICAgICAgZGVzY3JpcHRpb24gPSBkZXNjcmlwdGlvbi5jb25jYXQoTWVkaWFpdGVtVXRpbC5kZXNjcmlwdGlvbihtaSkpO1xyXG4gICAgICAgIGlmIChpICsgMSA8IG1pc1NpemUpIHtcclxuICAgICAgICAgIC8vIG5vdCBsYXN0IGl0ZW1cclxuICAgICAgICAgIGRlc2NyaXB0aW9uID0gZGVzY3JpcHRpb24uY29uY2F0KFwiLCBcIik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZGVzY3JpcHRpb247XHJcbiAgfVxyXG59XHJcblxyXG5cclxuIl19
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyaXB0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlZWNocmVjb3JkZXJuZy9zcmMvbGliL3NwZWVjaHJlY29yZGVyL3NjcmlwdC9zY3JpcHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBaUZBLE1BQU0sT0FBTyxhQUFhO0lBRXhCLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxTQUFtQjtRQUMxQyxJQUFJLEVBQUUsR0FBQyxFQUFFLENBQUM7UUFDVixJQUFJLENBQUMsR0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1FBQ3JCLElBQUcsQ0FBQyxJQUFFLElBQUksRUFBRTtZQUNWLElBQUksSUFBSSxHQUFDLENBQUMsQ0FBQyxNQUFNLENBQUE7WUFDakIsSUFBRyxJQUFJLEVBQUU7Z0JBQ1AsS0FBSSxJQUFJLEdBQUcsR0FBQyxDQUFDLEVBQUMsR0FBRyxHQUFDLElBQUksQ0FBQyxNQUFNLEVBQUMsR0FBRyxFQUFFLEVBQUM7b0JBQ2xDLElBQUksR0FBRyxHQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDbEIsSUFBSSxJQUFJLEdBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztvQkFDbkIsS0FBSSxJQUFJLEVBQUUsR0FBQyxDQUFDLEVBQUMsRUFBRSxHQUFDLElBQUksQ0FBQyxNQUFNLEVBQUMsRUFBRSxFQUFFLEVBQUM7d0JBQzdCLElBQUksS0FBSyxHQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQzt3QkFDbkIsSUFBSSxHQUFHLEdBQUUsS0FBSyxDQUFDLElBQUksQ0FBQzt3QkFDdEIsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBQzs0QkFDeEIsSUFBRyxPQUFPLEdBQUcsS0FBSyxRQUFRLEVBQUM7Z0NBQ3pCLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFTLEdBQUcsQ0FBQyxDQUFDOzZCQUM3QjtpQ0FBSTtnQ0FDSCxJQUFJLFFBQVEsR0FBTyxHQUFHLENB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Q3BCLElBQUksT0FBTyxHQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUMzQyxXQUFXLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztpQkFDM0M7YUFDRjtTQUNGO1FBQ0QsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLGNBQWM7SUFDekIsTUFBTSxDQUFDLGlCQUFpQixDQUFDLFVBQXNCO1FBRTdDLElBQUksR0FBRyxHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUM7UUFDaEMsSUFBSSxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3JCLElBQUksR0FBRyxFQUFFO1lBRVAsSUFBSSxPQUFPLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztZQUN6QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUNoQyxJQUFJLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2hCLFdBQVcsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDaEUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE9BQU8sRUFBRTtvQkFDbkIsZ0JBQWdCO29CQUNoQixXQUFXLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDeEM7YUFDRjtTQUNGO1FBQ0QsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmV4cG9ydCB0eXBlIE1vZGUgPSBcIk1BTlVBTFwiIHwgXCJBVVRPUFJPR1JFU1NcIiB8IFwiQVVUT1JFQ09SRElOR1wiO1xyXG5leHBvcnQgdHlwZSBQcm9tcHRQaGFzZSA9IFwiSURMRVwiIHwgXCJQUkVSRUNPUkRJTkdcIiB8IFwiUkVDT1JESU5HXCI7XHJcblxyXG5leHBvcnQgdHlwZSBPcmRlciA9ICdTRVFVRU5USUFMJyB8ICdSQU5ET00nIHwgJ1JBTkRPTUlaRUQnO1xyXG5cclxuZXhwb3J0IHR5cGUgRGVjb3JhdGlvbiA9J3VuZGVybGluZSdcclxuZXhwb3J0IHR5cGUgU3R5bGUgPSdpdGFsaWMnIHwgJ25vcm1hbCdcclxuZXhwb3J0IHR5cGUgRm9udFdlaWdodD0nbm9ybWFsJyB8ICdib2xkJ1xyXG5leHBvcnQgdHlwZSBCbG9ja1R5cGU9J3AnO1xyXG5leHBvcnQgdHlwZSBUZXh0VHlwZT0ndGV4dCcgfCAnZm9udCc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFJlY2luc3RydWN0aW9uc3tcclxuICByZWNpbnN0cnVjdGlvbnM6c3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRleHQge1xyXG4gIHR5cGU6IFRleHRUeXBlLFxyXG4gIGNvbG9yPyA6IHN0cmluZyxcclxuICBkZWNvcmF0aW9uPyA6IERlY29yYXRpb24sXHJcbiAgc2l6ZT86IHN0cmluZyxcclxuICB3ZWlnaHQ/OiBGb250V2VpZ2h0LFxyXG4gIHN0eWxlPzogU3R5bGUsXHJcbiAgdGV4dCA6IHN0cmluZyB8IFRleHQ7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQmxvY2sge1xyXG4gIHR5cGU6IEJsb2NrVHlwZSxcclxuICB0ZXh0czogQXJyYXk8VGV4dD5cclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEJvZHl7XHJcbiAgYmxvY2tzPzogQXJyYXk8QmxvY2s+LFxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFByb21wdERvY3tcclxuICBib2R5PzogQm9keVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE1lZGlhaXRlbSB7XHJcbiAgdGV4dD86IHN0cmluZyxcclxuICBzcmM/OiBzdHJpbmcsXHJcbiAgcHJvbXB0RG9jPzogUHJvbXB0RG9jLFxyXG4gIG1pbWV0eXBlPzpzdHJpbmcsXHJcbiAgZGVmYXVsdFZpcnR1YWxWaWV3Qm94PzpWaXJ0dWFsVmlld0JveCxcclxuICBhbHQ/OnN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFByb21wdEl0ZW0ge1xyXG4gIHR5cGU/OnN0cmluZztcclxuICBpdGVtY29kZT86IHN0cmluZyxcclxuICBwcmVyZWNvcmRpbmc6IG51bWJlcixcclxuICByZWNkdXJhdGlvbj86IG51bWJlcixcclxuICBwb3N0cmVjb3JkaW5nOiBudW1iZXIsXHJcbiAgcmVjaW5zdHJ1Y3Rpb25zPzogUmVjaW5zdHJ1Y3Rpb25zLFxyXG4gIG1lZGlhaXRlbXM6IEFycmF5PE1lZGlhaXRlbT5cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBHcm91cCB7XHJcbiAgb3JkZXI/Ok9yZGVyO1xyXG4gIHByb21wdEl0ZW1zOiBBcnJheTxQcm9tcHRJdGVtPjtcclxuICBfc2h1ZmZsZWRQcm9tcHRJdGVtczogQXJyYXk8UHJvbXB0SXRlbT47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2VjdGlvbiB7XHJcbiAgbW9kZTogTW9kZTtcclxuICBwcm9tcHRwaGFzZTogUHJvbXB0UGhhc2U7XHJcbiAgb3JkZXI/OiBPcmRlcjtcclxuICB0cmFpbmluZzogYm9vbGVhbjtcclxuICBncm91cHM6IEFycmF5PEdyb3VwPjtcclxuICBfc2h1ZmZsZWRHcm91cHM6IEFycmF5PEdyb3VwPjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBWaXJ0dWFsVmlld0JveHtcclxuICBoZWlnaHQ6bnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNjcmlwdCB7XHJcbiAgdmlydHVhbFZpZXdCb3g/OlZpcnR1YWxWaWV3Qm94O1xyXG4gIHNlY3Rpb25zOiBBcnJheTxTZWN0aW9uPjtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFByb21wdERvY1V0aWx7XHJcblxyXG4gIHN0YXRpYyB0b1BsYWluVGV4dFN0cmluZyhwcm9tcHREb2M6UHJvbXB0RG9jKTpzdHJpbmd7XHJcbiAgICBsZXQgcHQ9XCJcIjtcclxuICAgIGxldCBiPXByb21wdERvYy5ib2R5O1xyXG4gICAgaWYoYiE9bnVsbCkge1xyXG4gICAgICBsZXQgYmxrcz1iLmJsb2Nrc1xyXG4gICAgICBpZihibGtzKSB7XHJcbiAgICAgICAgZm9yKGxldCBibGk9MDtibGk8Ymxrcy5sZW5ndGg7YmxpKyspe1xyXG4gICAgICAgICAgbGV0IGJsaz1ibGtzW2JsaV07XHJcbiAgICAgICAgICBsZXQgdHh0cz1ibGsudGV4dHM7XHJcbiAgICAgICAgICBmb3IobGV0IHRpPTA7dGk8dHh0cy5sZW5ndGg7dGkrKyl7XHJcbiAgICAgICAgICAgICAgbGV0IHR4dEVsPXR4dHNbdGldO1xyXG4gICAgICAgICAgICAgIGxldCB0eHQgPXR4dEVsLnRleHQ7XHJcbiAgICAgICAgICAgIGlmKCB0eHRFbC50eXBlID09PSAnZm9udCcpe1xyXG4gICAgICAgICAgICAgIGlmKHR5cGVvZiB0eHQgPT09ICdzdHJpbmcnKXtcclxuICAgICAgICAgICAgICAgIHB0ID0gcHQuY29uY2F0KDxzdHJpbmc+dHh0KTtcclxuICAgICAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgICAgIGxldCBzdWJUeHRFbD08VGV4dD50eHQ7XHJcbiAgICAgICAgICAgICAgICBsZXQgc3ViVHh0PXN1YlR4dEVsLnRleHQ7XHJcbiAgICAgICAgICAgICAgICBpZih0eXBlb2Ygc3ViVHh0ID09PSAnc3RyaW5nJykge1xyXG4gICAgICAgICAgICAgICAgICBwdD1wdC5jb25jYXQoc3ViVHh0KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1lbHNlIGlmKHR5cGVvZiB0eHQgPT09ICdzdHJpbmcnKXtcclxuICAgICAgICAgICAgICBwdCA9IHB0LmNvbmNhdCg8c3RyaW5nPnR4dCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwdDtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBNZWRpYWl0ZW1VdGlsIHtcclxuICBzdGF0aWMgdG9QbGFpblRleHRTdHJpbmcobWVkaWFpdGVtOiBNZWRpYWl0ZW0pOiBzdHJpbmd8bnVsbCB7XHJcblxyXG4gICAgbGV0IHR4dCA9IG1lZGlhaXRlbS50ZXh0O1xyXG4gICAgbGV0IHBkID0gbWVkaWFpdGVtLnByb21wdERvYztcclxuICAgIGlmICh0eHQgPT0gbnVsbCkge1xyXG4gICAgICBsZXQgcHQgPSBudWxsO1xyXG4gICAgICBpZiAocGQgIT0gbnVsbCkge1xyXG4gICAgICAgIHB0ID0gUHJvbXB0RG9jVXRpbC50b1BsYWluVGV4dFN0cmluZyhwZCk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHB0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHR4dDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXRpYyBkZXNjcmlwdGlvbihtaTogTWVkaWFpdGVtKTogc3RyaW5nIHtcclxuICAgIGxldCBkZXNjcmlwdGlvbiA9IFwiXCI7XHJcblxyXG4gICAgaWYgKG1pLmFsdCAhPSBudWxsKSB7XHJcbiAgICAgIGRlc2NyaXB0aW9uID0gZGVzY3JpcHRpb24uY29uY2F0KG1pLmFsdClcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGxldCBzcmMgPSBtaS5zcmM7XHJcbiAgICAgIGxldCBtaW1lVHlwZSA9IG1pLm1pbWV0eXBlO1xyXG4gICAgICBpZiAoIW1pbWVUeXBlKSB7XHJcbiAgICAgICAgbWltZVR5cGUgPSAndGV4dC9wbGFpbic7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKG1pbWVUeXBlLnN0YXJ0c1dpdGgoXCJpbWFnZVwiKSkge1xyXG4gICAgICAgIGRlc2NyaXB0aW9uID0gZGVzY3JpcHRpb24uY29uY2F0KFwiSU1BR0U6IFwiKTtcclxuICAgICAgfSBlbHNlIGlmIChtaW1lVHlwZS5zdGFydHNXaXRoKFwiYXVkaW9cIikpIHtcclxuICAgICAgICBkZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uLmNvbmNhdChcIkFVRElPOiBcIik7XHJcbiAgICAgIH0gZWxzZSBpZiAobWltZVR5cGUuc3RhcnRzV2l0aChcInZpZGVvXCIpKSB7XHJcbiAgICAgICAgZGVzY3JpcHRpb24gPSBkZXNjcmlwdGlvbi5jb25jYXQoXCJWSURFTzogXCIpO1xyXG4gICAgICB9XHJcbiAgICAgIGxldCBwcm9tcHRUZXh0ID0gTWVkaWFpdGVtVXRpbC50b1BsYWluVGV4dFN0cmluZyhtaSk7XHJcbiAgICAgIGlmIChwcm9tcHRUZXh0ICE9IG51bGwpIHtcclxuICAgICAgICBkZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uLmNvbmNhdChwcm9tcHRUZXh0KTtcclxuICAgICAgfSBlbHNlIGlmIChzcmMgIT0gbnVsbCkge1xyXG4gICAgICAgIGxldCBzcmNQbjtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgbGV0IHNyY1VybCA9IG5ldyBVUkwoc3JjKTtcclxuICAgICAgICAgIHNyY1BuPXNyY1VybC5wYXRobmFtZTtcclxuICAgICAgICB9Y2F0Y2h7XHJcbiAgICAgICAgICBzcmNQbj1zcmM7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBHZXQgZmlsZW5hbWUgd2l0aG91dCBleHRlbnNpb25cclxuICAgICAgICBsZXQgc3JjRm5NPXNyY1BuLm1hdGNoKC8oW15cXC9dKikkLyk7XHJcbiAgICAgICAgaWYoc3JjRm5NICYmIHNyY0ZuTS5sZW5ndGg9PTIpe1xyXG4gICAgICAgICAgbGV0IHNyY0ZuPXNyY0ZuTVsxXTtcclxuICAgICAgICAgIGxldCBzcmNGbk5tPXNyY0ZuLnJlcGxhY2UoL1tcXC5dW15cXC5dKi8sJycpO1xyXG4gICAgICAgICAgZGVzY3JpcHRpb24gPSBkZXNjcmlwdGlvbi5jb25jYXQoc3JjRm5ObSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZGVzY3JpcHRpb247XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgUHJvbXB0aXRlbVV0aWwge1xyXG4gIHN0YXRpYyB0b1BsYWluVGV4dFN0cmluZyhwcm9tcHRJdGVtOiBQcm9tcHRJdGVtKTogc3RyaW5nIHtcclxuXHJcbiAgICBsZXQgbWlzID0gcHJvbXB0SXRlbS5tZWRpYWl0ZW1zO1xyXG4gICAgbGV0IGRlc2NyaXB0aW9uID0gXCJcIjtcclxuICAgIGlmIChtaXMpIHtcclxuXHJcbiAgICAgIGxldCBtaXNTaXplID0gbWlzLmxlbmd0aDtcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtaXNTaXplOyBpKyspIHtcclxuICAgICAgICBsZXQgbWkgPSBtaXNbaV07XHJcbiAgICAgICAgZGVzY3JpcHRpb24gPSBkZXNjcmlwdGlvbi5jb25jYXQoTWVkaWFpdGVtVXRpbC5kZXNjcmlwdGlvbihtaSkpO1xyXG4gICAgICAgIGlmIChpICsgMSA8IG1pc1NpemUpIHtcclxuICAgICAgICAgIC8vIG5vdCBsYXN0IGl0ZW1cclxuICAgICAgICAgIGRlc2NyaXB0aW9uID0gZGVzY3JpcHRpb24uY29uY2F0KFwiLCBcIik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZGVzY3JpcHRpb247XHJcbiAgfVxyXG59XHJcblxyXG5cclxuIl19
|
|
@@ -36,12 +36,12 @@ export class ScriptService {
|
|
|
36
36
|
return this.http.get(scriptUrl, { withCredentials: this.withCredentials });
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
|
-
ScriptService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
40
|
-
ScriptService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
39
|
+
ScriptService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: ScriptService, deps: [{ token: i1.HttpClient }, { token: SPEECHRECORDER_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
40
|
+
ScriptService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: ScriptService });
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: ScriptService, decorators: [{
|
|
42
42
|
type: Injectable
|
|
43
43
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.SpeechRecorderConfig, decorators: [{
|
|
44
44
|
type: Inject,
|
|
45
45
|
args: [SPEECHRECORDER_CONFIG]
|
|
46
46
|
}] }]; } });
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyaXB0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zcGVlY2hyZWNvcmRlcm5nL3NyYy9saWIvc3BlZWNocmVjb3JkZXIvc2NyaXB0L3NjcmlwdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFDLE9BQU8sRUFBRSxxQkFBcUIsRUFBdUIsTUFBTSxrQkFBa0IsQ0FBQztBQUV0RixPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7Ozs7QUFJdkMsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFDLFFBQVEsQ0FBQTtBQUdwQyxNQUFNLE9BQU8sYUFBYTtJQUl4QixZQUFvQixJQUFlLEVBQXdDLE1BQTRCO1FBQW5GLFNBQUksR0FBSixJQUFJLENBQVc7UUFBd0MsV0FBTSxHQUFOLE1BQU0sQ0FBc0I7UUFGL0Ysb0JBQWUsR0FBUyxLQUFLLENBQUM7UUFJcEMsSUFBSSxXQUFXLEdBQUcsRUFBRSxDQUFBO1FBRXBCLElBQUcsTUFBTSxJQUFJLE1BQU0sQ0FBQyxXQUFXLEVBQUU7WUFDL0IsV0FBVyxHQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUM7U0FDaEM7UUFDRCxJQUFHLFdBQVcsS0FBSyxFQUFFLEVBQUM7WUFDcEIsV0FBVyxHQUFDLFdBQVcsR0FBQyxHQUFHLENBQUE7U0FDNUI7UUFDRCxJQUFHLE1BQU0sSUFBRSxJQUFJLElBQUksTUFBTSxDQUFDLGVBQWUsSUFBRSxJQUFJLEVBQUM7WUFDOUMsSUFBSSxDQUFDLGVBQWUsR0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDO1NBQzdDO1FBQ0QsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLEdBQUcsY0FBYyxDQUFDO0lBQ25ELENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFrQjtRQUNqQyxJQUFJLFdBQVcsR0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN2QyxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxHQUFHLEdBQUcsR0FBRyxXQUFXLENBQUM7UUFDdEQsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxLQUFLLE9BQU8sQ0FBQyxLQUFLLEVBQUU7WUFDeEQsMkJBQTJCO1lBQzNCLDJFQUEyRTtZQUMzRSxTQUFTLEdBQUcsU0FBUyxHQUFHLG9CQUFvQixHQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUM5RDtRQUNELE9BQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQVMsU0FBUyxFQUFDLEVBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFBO0lBRWxGLENBQUM7OzBHQTlCUyxhQUFhLDRDQUlvQixxQkFBcUI7OEdBSnRELGFBQWE7MkZBQWIsYUFBYTtrQkFEekIsVUFBVTs7MEJBSzRCLE1BQU07MkJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIENyZWF0ZWQgYnkga2xhdXNqIG9uIDE3LjA2LjIwMTcuXHJcbiAqL1xyXG5pbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7SHR0cENsaWVudH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7QXBpVHlwZSwgU1BFRUNIUkVDT1JERVJfQ09ORklHLCBTcGVlY2hSZWNvcmRlckNvbmZpZ30gZnJvbSBcIi4uLy4uL3Nwci5jb25maWdcIjtcclxuaW1wb3J0IHtTY3JpcHR9IGZyb20gXCIuL3NjcmlwdFwiO1xyXG5pbXBvcnQge1VVSUR9IGZyb20gXCIuLi8uLi91dGlscy91dGlsc1wiO1xyXG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gXCJyeGpzXCI7XHJcblxyXG5cclxuZXhwb3J0IGNvbnN0IFNDUklQVF9BUElfQ1RYPSdzY3JpcHQnXHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBTY3JpcHRTZXJ2aWNlIHtcclxuICBwcml2YXRlIHNjcmlwdEN0eFVybDpzdHJpbmc7XHJcbiAgcHJpdmF0ZSB3aXRoQ3JlZGVudGlhbHM6Ym9vbGVhbj1mYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOkh0dHBDbGllbnQsQEluamVjdChTUEVFQ0hSRUNPUkRFUl9DT05GSUcpIHByaXZhdGUgY29uZmlnPzpTcGVlY2hSZWNvcmRlckNvbmZpZykge1xyXG5cclxuICAgIGxldCBhcGlFbmRQb2ludCA9ICcnXHJcblxyXG4gICAgaWYoY29uZmlnICYmIGNvbmZpZy5hcGlFbmRQb2ludCkge1xyXG4gICAgICBhcGlFbmRQb2ludD1jb25maWcuYXBpRW5kUG9pbnQ7XHJcbiAgICB9XHJcbiAgICBpZihhcGlFbmRQb2ludCAhPT0gJycpe1xyXG4gICAgICBhcGlFbmRQb2ludD1hcGlFbmRQb2ludCsnLydcclxuICAgIH1cclxuICAgIGlmKGNvbmZpZyE9bnVsbCAmJiBjb25maWcud2l0aENyZWRlbnRpYWxzIT1udWxsKXtcclxuICAgICAgdGhpcy53aXRoQ3JlZGVudGlhbHM9Y29uZmlnLndpdGhDcmVkZW50aWFscztcclxuICAgIH1cclxuICAgIHRoaXMuc2NyaXB0Q3R4VXJsID0gYXBpRW5kUG9pbnQgKyBTQ1JJUFRfQVBJX0NUWDtcclxuICB9XHJcblxyXG4gIHNjcmlwdE9ic2VydmFibGUoaWQ6c3RyaW5nIHwgbnVtYmVyKTpPYnNlcnZhYmxlPFNjcmlwdD57XHJcbiAgICBsZXQgZW5jU2NyaXB0SWQ9ZW5jb2RlVVJJQ29tcG9uZW50KGlkKTtcclxuICAgIGxldCBzY3JpcHRVcmwgPSB0aGlzLnNjcmlwdEN0eFVybCArICcvJyArIGVuY1NjcmlwdElkO1xyXG4gICAgaWYgKHRoaXMuY29uZmlnICYmIHRoaXMuY29uZmlnLmFwaVR5cGUgPT09IEFwaVR5cGUuRklMRVMpIHtcclxuICAgICAgLy8gZm9yIGRldmVsb3BtZW50IGFuZCBkZW1vXHJcbiAgICAgIC8vIGFwcGVuZCBVVUlEIHRvIG1ha2UgcmVxdWVzdCBVUkwgdW5pcXVlIHRvIGF2b2lkIGxvY2FsaG9zdCBzZXJ2ZXIgY2FjaGluZ1xyXG4gICAgICBzY3JpcHRVcmwgPSBzY3JpcHRVcmwgKyAnLmpzb24/cmVxdWVzdFVVSUQ9JytVVUlELmdlbmVyYXRlKCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gIHRoaXMuaHR0cC5nZXQ8U2NyaXB0PihzY3JpcHRVcmwse3dpdGhDcmVkZW50aWFsczogdGhpcy53aXRoQ3JlZGVudGlhbHMgfSlcclxuXHJcbiAgIH1cclxuXHJcbn1cclxuXHJcblxyXG5cclxuIl19
|