@sumit_yewale/angular 1.1.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,344 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * Generated from: lib/csvbox-button.component.ts
4
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
+ */
6
+ import { Component, ViewChild, Input, SecurityContext } from '@angular/core';
7
+ import { DomSanitizer } from '@angular/platform-browser';
8
+ import { insertCSS } from '../utlis/insertCSS';
9
+ import { buildImportUrl, generateUuid, buildInitPayload, classifyStructuredMessage } from '@sumit_yewale/adapter-core';
10
+ /** @type {?} */
11
+ var appVersion = '1.1.16';
12
+ var CSVBoxButtonComponent = /** @class */ (function () {
13
+ function CSVBoxButtonComponent(sanitizer) {
14
+ this.sanitizer = sanitizer;
15
+ this.isModalShown = false;
16
+ this.licenseKey = null;
17
+ this.uuid = null;
18
+ this.customDomain = null;
19
+ this.dataLocation = null;
20
+ this.language = null;
21
+ this.theme = null;
22
+ this.isIframeLoaded = false;
23
+ this.openModalOnIframeLoad = false;
24
+ this.lazy = false;
25
+ this.iframe = null;
26
+ this.disabled = true;
27
+ }
28
+ /**
29
+ * @return {?}
30
+ */
31
+ CSVBoxButtonComponent.prototype.ngOnInit = /**
32
+ * @return {?}
33
+ */
34
+ function () {
35
+ this.uuid = generateUuid();
36
+ /** @type {?} */
37
+ var iframeUrl = buildImportUrl({
38
+ licenseKey: this.licenseKey,
39
+ customDomain: this.customDomain,
40
+ dataLocation: this.dataLocation,
41
+ language: this.language,
42
+ theme: this.theme,
43
+ environment: this.environment
44
+ }, "angular", appVersion);
45
+ this.safeUrl = this.sanitizer.sanitize(SecurityContext.RESOURCE_URL, this.sanitizer.bypassSecurityTrustResourceUrl(iframeUrl));
46
+ };
47
+ /**
48
+ * @param {?} changes
49
+ * @return {?}
50
+ */
51
+ CSVBoxButtonComponent.prototype.ngOnChanges = /**
52
+ * @param {?} changes
53
+ * @return {?}
54
+ */
55
+ function (changes) {
56
+ if (changes["user"] && changes['user'].currentValue != changes['user'].previousValue) {
57
+ this.updateUserVariabe(changes['user'].currentValue);
58
+ }
59
+ };
60
+ /**
61
+ * @param {?} data
62
+ * @return {?}
63
+ */
64
+ CSVBoxButtonComponent.prototype.updateUserVariabe = /**
65
+ * @param {?} data
66
+ * @return {?}
67
+ */
68
+ function (data) {
69
+ this.user = data;
70
+ if (this.iframe && this.iframe.contentWindow) {
71
+ this.iframe.contentWindow.postMessage({
72
+ "customer": data
73
+ }, "*");
74
+ }
75
+ };
76
+ /**
77
+ * @return {?}
78
+ */
79
+ CSVBoxButtonComponent.prototype.ngAfterContentInit = /**
80
+ * @return {?}
81
+ */
82
+ function () {
83
+ var _this = this;
84
+ window.addEventListener("message", (/**
85
+ * @param {?} event
86
+ * @return {?}
87
+ */
88
+ function (event) {
89
+ /** @type {?} */
90
+ var message = classifyStructuredMessage(event.data, (/** @type {?} */ (_this.uuid)));
91
+ if (!message) {
92
+ return;
93
+ }
94
+ if (message.type === "data-on-submit") {
95
+ if (_this.onSubmit)
96
+ _this.onSubmit(message.metadata);
97
+ if (_this.isSubmitted)
98
+ _this.isSubmitted(message.metadata);
99
+ if (_this.submitted)
100
+ _this.submitted(message.metadata);
101
+ }
102
+ else if (message.type === "data-push-status") {
103
+ if (!message.success) {
104
+ delete message.metadata["unique_token"];
105
+ }
106
+ if (_this.onImport)
107
+ _this.onImport(message.success, message.metadata);
108
+ if (_this.isImported)
109
+ _this.isImported(message.success, message.metadata);
110
+ if (_this.imported)
111
+ _this.imported(message.success, message.metadata);
112
+ }
113
+ else if (message.type === "csvbox-modal-hidden") {
114
+ _this.handleModalClosed();
115
+ }
116
+ else if (message.type === "csvbox-upload-successful") {
117
+ if (_this.onImport)
118
+ _this.onImport(true);
119
+ if (_this.isImported)
120
+ _this.isImported(true);
121
+ if (_this.imported)
122
+ _this.imported(true);
123
+ }
124
+ else if (message.type === "csvbox-upload-failed") {
125
+ if (_this.onImport)
126
+ _this.onImport(false);
127
+ if (_this.isImported)
128
+ _this.isImported(false);
129
+ if (_this.imported)
130
+ _this.imported(false);
131
+ }
132
+ }), false);
133
+ if (this.lazy) {
134
+ this.disabled = false;
135
+ }
136
+ else {
137
+ this.disabled = true;
138
+ this.initImporter();
139
+ }
140
+ };
141
+ /**
142
+ * @return {?}
143
+ */
144
+ CSVBoxButtonComponent.prototype.handleModalClosed = /**
145
+ * @return {?}
146
+ */
147
+ function () {
148
+ if (this.holder)
149
+ this.holder.style.display = 'none';
150
+ this.isModalShown = false;
151
+ this.isIframeLoaded = false;
152
+ this.openModalOnIframeLoad = false;
153
+ if (this.holder)
154
+ this.holder.remove();
155
+ this.holder = null;
156
+ this.iframe = null;
157
+ if (this.onClose)
158
+ this.onClose();
159
+ if (this.isClosed)
160
+ this.isClosed();
161
+ if (this.closed)
162
+ this.closed();
163
+ };
164
+ /**
165
+ * @return {?}
166
+ */
167
+ CSVBoxButtonComponent.prototype.initImporter = /**
168
+ * @return {?}
169
+ */
170
+ function () {
171
+ if (this.loadStarted)
172
+ this.loadStarted();
173
+ this.uuid = generateUuid();
174
+ insertCSS();
175
+ /** @type {?} */
176
+ var iframe = document.createElement("iframe");
177
+ this.iframe = iframe;
178
+ iframe.setAttribute("src", this.safeUrl);
179
+ iframe.frameBorder = "0";
180
+ /** @type {?} */
181
+ var self = this;
182
+ iframe.onload = (/**
183
+ * @return {?}
184
+ */
185
+ function () {
186
+ if (self.onReady)
187
+ self.onReady();
188
+ if (self.isReady)
189
+ self.isReady();
190
+ if (self.importerReady)
191
+ self.importerReady();
192
+ self.disabled = false;
193
+ self.isIframeLoaded = true;
194
+ if (self.iframe && self.iframe.contentWindow) {
195
+ self.iframe.contentWindow.postMessage(buildInitPayload(self.user, self.dynamicColumns, self.options, (/** @type {?} */ (self.uuid))), "*");
196
+ }
197
+ if (self.openModalOnIframeLoad) {
198
+ self.openModal();
199
+ }
200
+ });
201
+ this.holder = document.createElement('div');
202
+ this.holder.classList.add('csvbox-holder');
203
+ this.holder.setAttribute('id', "csvbox-embed-" + this.uuid);
204
+ this.holder.appendChild(iframe);
205
+ document.body.insertAdjacentElement('beforeend', this.holder);
206
+ };
207
+ /**
208
+ * @return {?}
209
+ */
210
+ CSVBoxButtonComponent.prototype.openModal = /**
211
+ * @return {?}
212
+ */
213
+ function () {
214
+ if (!this.iframe) {
215
+ this.openModalOnIframeLoad = true;
216
+ this.initImporter();
217
+ return;
218
+ }
219
+ if (!this.isModalShown) {
220
+ if (this.isIframeLoaded) {
221
+ this.isModalShown = true;
222
+ if (this.holder)
223
+ this.holder.style.display = 'block';
224
+ if (this.iframe && this.iframe.contentWindow) {
225
+ this.iframe.contentWindow.postMessage('openModal', '*');
226
+ }
227
+ }
228
+ else {
229
+ this.openModalOnIframeLoad = true;
230
+ }
231
+ }
232
+ };
233
+ CSVBoxButtonComponent.decorators = [
234
+ { type: Component, args: [{
235
+ selector: 'csvbox-button',
236
+ template: "\n <div>\n <button [disabled]=\"disabled\" #initiator (click)=\"openModal()\" [attr.data-csvbox-token]=\"uuid\">\n <ng-content></ng-content>\n </button>\n </div>\n "
237
+ }] }
238
+ ];
239
+ /** @nocollapse */
240
+ CSVBoxButtonComponent.ctorParameters = function () { return [
241
+ { type: DomSanitizer }
242
+ ]; };
243
+ CSVBoxButtonComponent.propDecorators = {
244
+ initiator: [{ type: ViewChild, args: ['initiator', { static: false },] }],
245
+ onImport: [{ type: Input }],
246
+ onReady: [{ type: Input }],
247
+ onClose: [{ type: Input }],
248
+ onSubmit: [{ type: Input }],
249
+ isImported: [{ type: Input }],
250
+ isReady: [{ type: Input }],
251
+ isClosed: [{ type: Input }],
252
+ isSubmitted: [{ type: Input }],
253
+ importerReady: [{ type: Input }],
254
+ closed: [{ type: Input }],
255
+ submitted: [{ type: Input }],
256
+ imported: [{ type: Input }],
257
+ loadStarted: [{ type: Input }],
258
+ user: [{ type: Input }],
259
+ dynamicColumns: [{ type: Input }],
260
+ licenseKey: [{ type: Input }],
261
+ options: [{ type: Input }],
262
+ uuid: [{ type: Input }],
263
+ customDomain: [{ type: Input }],
264
+ dataLocation: [{ type: Input }],
265
+ language: [{ type: Input }],
266
+ environment: [{ type: Input }],
267
+ theme: [{ type: Input }],
268
+ isIframeLoaded: [{ type: Input }],
269
+ openModalOnIframeLoad: [{ type: Input }],
270
+ lazy: [{ type: Input }],
271
+ disabled: [{ type: Input }]
272
+ };
273
+ return CSVBoxButtonComponent;
274
+ }());
275
+ export { CSVBoxButtonComponent };
276
+ if (false) {
277
+ /** @type {?} */
278
+ CSVBoxButtonComponent.prototype.isModalShown;
279
+ /** @type {?} */
280
+ CSVBoxButtonComponent.prototype.initiator;
281
+ /** @type {?} */
282
+ CSVBoxButtonComponent.prototype.onImport;
283
+ /** @type {?} */
284
+ CSVBoxButtonComponent.prototype.onReady;
285
+ /** @type {?} */
286
+ CSVBoxButtonComponent.prototype.onClose;
287
+ /** @type {?} */
288
+ CSVBoxButtonComponent.prototype.onSubmit;
289
+ /** @type {?} */
290
+ CSVBoxButtonComponent.prototype.isImported;
291
+ /** @type {?} */
292
+ CSVBoxButtonComponent.prototype.isReady;
293
+ /** @type {?} */
294
+ CSVBoxButtonComponent.prototype.isClosed;
295
+ /** @type {?} */
296
+ CSVBoxButtonComponent.prototype.isSubmitted;
297
+ /** @type {?} */
298
+ CSVBoxButtonComponent.prototype.importerReady;
299
+ /** @type {?} */
300
+ CSVBoxButtonComponent.prototype.closed;
301
+ /** @type {?} */
302
+ CSVBoxButtonComponent.prototype.submitted;
303
+ /** @type {?} */
304
+ CSVBoxButtonComponent.prototype.imported;
305
+ /** @type {?} */
306
+ CSVBoxButtonComponent.prototype.loadStarted;
307
+ /** @type {?} */
308
+ CSVBoxButtonComponent.prototype.user;
309
+ /** @type {?} */
310
+ CSVBoxButtonComponent.prototype.dynamicColumns;
311
+ /** @type {?} */
312
+ CSVBoxButtonComponent.prototype.licenseKey;
313
+ /** @type {?} */
314
+ CSVBoxButtonComponent.prototype.options;
315
+ /** @type {?} */
316
+ CSVBoxButtonComponent.prototype.uuid;
317
+ /** @type {?} */
318
+ CSVBoxButtonComponent.prototype.customDomain;
319
+ /** @type {?} */
320
+ CSVBoxButtonComponent.prototype.dataLocation;
321
+ /** @type {?} */
322
+ CSVBoxButtonComponent.prototype.language;
323
+ /** @type {?} */
324
+ CSVBoxButtonComponent.prototype.environment;
325
+ /** @type {?} */
326
+ CSVBoxButtonComponent.prototype.theme;
327
+ /** @type {?} */
328
+ CSVBoxButtonComponent.prototype.isIframeLoaded;
329
+ /** @type {?} */
330
+ CSVBoxButtonComponent.prototype.openModalOnIframeLoad;
331
+ /** @type {?} */
332
+ CSVBoxButtonComponent.prototype.lazy;
333
+ /** @type {?} */
334
+ CSVBoxButtonComponent.prototype.safeUrl;
335
+ /** @type {?} */
336
+ CSVBoxButtonComponent.prototype.iframe;
337
+ /** @type {?} */
338
+ CSVBoxButtonComponent.prototype.disabled;
339
+ /** @type {?} */
340
+ CSVBoxButtonComponent.prototype.holder;
341
+ /** @type {?} */
342
+ CSVBoxButtonComponent.prototype.sanitizer;
343
+ }
344
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3N2Ym94LWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3VtaXRfeWV3YWxlL2FuZ3VsYXIvIiwic291cmNlcyI6WyJsaWIvY3N2Ym94LWJ1dHRvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFNBQVMsRUFDVCxLQUFLLEVBR0wsZUFBZSxFQUVoQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsWUFBWSxFQUFXLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLHlCQUF5QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0lBRWpILFVBQVUsR0FBRyxRQUFRO0FBRTNCO0lBdURFLCtCQUFtQixTQUFzQjtRQUF0QixjQUFTLEdBQVQsU0FBUyxDQUFhO1FBMUN6QyxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQXFCWixlQUFVLEdBQWtCLElBQUksQ0FBQztRQUVqQyxTQUFJLEdBQWtCLElBQUksQ0FBQztRQUMzQixpQkFBWSxHQUFrQixJQUFJLENBQUM7UUFDbkMsaUJBQVksR0FBa0IsSUFBSSxDQUFDO1FBQ25DLGFBQVEsR0FBa0IsSUFBSSxDQUFDO1FBRy9CLFVBQUssR0FBa0IsSUFBSSxDQUFDO1FBRTVCLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBQ2hDLDBCQUFxQixHQUFZLEtBQUssQ0FBQztRQUV2QyxTQUFJLEdBQVksS0FBSyxDQUFDO1FBSS9CLFdBQU0sR0FBNkIsSUFBSSxDQUFDO1FBRS9CLGFBQVEsR0FBWSxJQUFJLENBQUM7SUFFVSxDQUFDOzs7O0lBSTdDLHdDQUFROzs7SUFBUjtRQUNFLElBQUksQ0FBQyxJQUFJLEdBQUcsWUFBWSxFQUFFLENBQUM7O1lBQ3ZCLFNBQVMsR0FBRyxjQUFjLENBQzVCO1lBQ0UsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzNCLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtZQUMvQixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDL0IsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7U0FDOUIsRUFDRCxTQUFTLEVBQ1QsVUFBVSxDQUNYO1FBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsOEJBQThCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUNqSSxDQUFDOzs7OztJQUVELDJDQUFXOzs7O0lBQVgsVUFBWSxPQUFzQjtRQUNoQyxJQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsWUFBWSxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxhQUFhLEVBQUU7WUFDbkYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUN0RDtJQUNILENBQUM7Ozs7O0lBRUQsaURBQWlCOzs7O0lBQWpCLFVBQWtCLElBQVM7UUFDekIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFO1lBQzVDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztnQkFDcEMsVUFBVSxFQUFHLElBQUk7YUFDbEIsRUFBRSxHQUFHLENBQUMsQ0FBQztTQUNUO0lBQ0gsQ0FBQzs7OztJQUVELGtEQUFrQjs7O0lBQWxCO1FBQUEsaUJBcUNDO1FBcENDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTOzs7O1FBQUUsVUFBQyxLQUFLOztnQkFDbkMsT0FBTyxHQUFHLHlCQUF5QixDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsbUJBQUEsS0FBSSxDQUFDLElBQUksRUFBQyxDQUFDO1lBQy9ELElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ1osT0FBTzthQUNSO1lBRUQsSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLGdCQUFnQixFQUFFO2dCQUNyQyxJQUFJLEtBQUksQ0FBQyxRQUFRO29CQUFFLEtBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUNuRCxJQUFJLEtBQUksQ0FBQyxXQUFXO29CQUFFLEtBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUN6RCxJQUFJLEtBQUksQ0FBQyxTQUFTO29CQUFFLEtBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQ3REO2lCQUFNLElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxrQkFBa0IsRUFBRTtnQkFDOUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUU7b0JBQ3BCLE9BQU8sT0FBTyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQztpQkFDekM7Z0JBQ0QsSUFBSSxLQUFJLENBQUMsUUFBUTtvQkFBRSxLQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUNwRSxJQUFJLEtBQUksQ0FBQyxVQUFVO29CQUFFLEtBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3hFLElBQUksS0FBSSxDQUFDLFFBQVE7b0JBQUUsS0FBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUNyRTtpQkFBTSxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUsscUJBQXFCLEVBQUU7Z0JBQ2pELEtBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2FBQzFCO2lCQUFNLElBQUksT0FBTyxDQUFDLElBQUksS0FBSywwQkFBMEIsRUFBRTtnQkFDcEQsSUFBSSxLQUFJLENBQUMsUUFBUTtvQkFBRSxLQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN2QyxJQUFJLEtBQUksQ0FBQyxVQUFVO29CQUFFLEtBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzNDLElBQUksS0FBSSxDQUFDLFFBQVE7b0JBQUUsS0FBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUMxQztpQkFBTSxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssc0JBQXNCLEVBQUU7Z0JBQ2hELElBQUksS0FBSSxDQUFDLFFBQVE7b0JBQUUsS0FBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDeEMsSUFBSSxLQUFJLENBQUMsVUFBVTtvQkFBRSxLQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUM1QyxJQUFJLEtBQUksQ0FBQyxRQUFRO29CQUFFLEtBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDM0M7UUFDSCxDQUFDLEdBQUUsS0FBSyxDQUFDLENBQUM7UUFFVixJQUFHLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDWixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztTQUN2QjthQUFNO1lBQ0wsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7WUFDckIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ3JCO0lBQ0gsQ0FBQzs7OztJQUVELGlEQUFpQjs7O0lBQWpCO1FBQ0UsSUFBSSxJQUFJLENBQUMsTUFBTTtZQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDcEQsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7UUFDNUIsSUFBSSxDQUFDLHFCQUFxQixHQUFHLEtBQUssQ0FBQztRQUNuQyxJQUFJLElBQUksQ0FBQyxNQUFNO1lBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN0QyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUNuQixJQUFJLElBQUksQ0FBQyxPQUFPO1lBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2pDLElBQUksSUFBSSxDQUFDLFFBQVE7WUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbkMsSUFBSSxJQUFJLENBQUMsTUFBTTtZQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNqQyxDQUFDOzs7O0lBRUQsNENBQVk7OztJQUFaO1FBQ0UsSUFBSSxJQUFJLENBQUMsV0FBVztZQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUV6QyxJQUFJLENBQUMsSUFBSSxHQUFHLFlBQVksRUFBRSxDQUFDO1FBRTNCLFNBQVMsRUFBRSxDQUFDOztZQUVSLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQztRQUM3QyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixNQUFNLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDekMsTUFBTSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUM7O1lBRXJCLElBQUksR0FBRyxJQUFJO1FBQ2YsTUFBTSxDQUFDLE1BQU07OztRQUFHO1lBQ2QsSUFBSSxJQUFJLENBQUMsT0FBTztnQkFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakMsSUFBSSxJQUFJLENBQUMsT0FBTztnQkFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakMsSUFBSSxJQUFJLENBQUMsYUFBYTtnQkFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFFN0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDdEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7WUFDM0IsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFO2dCQUM1QyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsbUJBQUEsSUFBSSxDQUFDLElBQUksRUFBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7YUFDeEg7WUFDRCxJQUFHLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtnQkFDN0IsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2FBQ2xCO1FBQ0gsQ0FBQyxDQUFBLENBQUE7UUFFRCxJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxrQkFBZ0IsSUFBSSxDQUFDLElBQU0sQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRWhDLFFBQVEsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQ2pDLFdBQVcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUN6QixDQUFDO0lBQ0osQ0FBQzs7OztJQUVELHlDQUFTOzs7SUFBVDtRQUNFLElBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2IsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQztZQUNsQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDcEIsT0FBTztTQUNWO1FBQ0QsSUFBRyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsSUFBRyxJQUFJLENBQUMsY0FBYyxFQUFFO2dCQUNwQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztnQkFDekIsSUFBRyxJQUFJLENBQUMsTUFBTTtvQkFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO2dCQUNwRCxJQUFHLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUU7b0JBQzNDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDLENBQUM7aUJBQ3pEO2FBQ0o7aUJBQU07Z0JBQ0gsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQzthQUNyQztTQUNGO0lBQ0gsQ0FBQzs7Z0JBdE1GLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtvQkFDekIsUUFBUSxFQUFFLDhMQU1UO2lCQUNGOzs7O2dCQWZRLFlBQVk7Ozs0QkFxQmxCLFNBQVMsU0FBQyxXQUFXLEVBQUUsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDOzJCQUN0QyxLQUFLOzBCQUNMLEtBQUs7MEJBQ0wsS0FBSzsyQkFDTCxLQUFLOzZCQUVMLEtBQUs7MEJBQ0wsS0FBSzsyQkFDTCxLQUFLOzhCQUNMLEtBQUs7Z0NBRUwsS0FBSzt5QkFDTCxLQUFLOzRCQUNMLEtBQUs7MkJBQ0wsS0FBSzs4QkFDTCxLQUFLO3VCQUVMLEtBQUs7aUNBQ0wsS0FBSzs2QkFDTCxLQUFLOzBCQUNMLEtBQUs7dUJBQ0wsS0FBSzsrQkFDTCxLQUFLOytCQUNMLEtBQUs7MkJBQ0wsS0FBSzs4QkFDTCxLQUFLO3dCQUVMLEtBQUs7aUNBRUwsS0FBSzt3Q0FDTCxLQUFLO3VCQUVMLEtBQUs7MkJBTUwsS0FBSzs7SUFtSlIsNEJBQUM7Q0FBQSxBQXhNRCxJQXdNQztTQTdMWSxxQkFBcUI7OztJQUVoQyw2Q0FBcUI7O0lBRXJCLDBDQUF3RDs7SUFDeEQseUNBQTZCOztJQUM3Qix3Q0FBNEI7O0lBQzVCLHdDQUE0Qjs7SUFDNUIseUNBQTZCOztJQUU3QiwyQ0FBK0I7O0lBQy9CLHdDQUE0Qjs7SUFDNUIseUNBQTZCOztJQUM3Qiw0Q0FBZ0M7O0lBRWhDLDhDQUFrQzs7SUFDbEMsdUNBQTJCOztJQUMzQiwwQ0FBOEI7O0lBQzlCLHlDQUE2Qjs7SUFDN0IsNENBQWdDOztJQUVoQyxxQ0FBdUI7O0lBQ3ZCLCtDQUFpQzs7SUFDakMsMkNBQTBDOztJQUMxQyx3Q0FBMEI7O0lBQzFCLHFDQUFvQzs7SUFDcEMsNkNBQTRDOztJQUM1Qyw2Q0FBNEM7O0lBQzVDLHlDQUF3Qzs7SUFDeEMsNENBQThCOztJQUU5QixzQ0FBcUM7O0lBRXJDLCtDQUF5Qzs7SUFDekMsc0RBQWdEOztJQUVoRCxxQ0FBK0I7O0lBRS9CLHdDQUFhOztJQUViLHVDQUF3Qzs7SUFFeEMseUNBQWtDOztJQUlsQyx1Q0FBWTs7SUFGQSwwQ0FBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIE9uSW5pdCxcbiAgVmlld0NoaWxkLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBTZWN1cml0eUNvbnRleHQsXG4gIEFmdGVyQ29udGVudEluaXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZVVybCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgaW5zZXJ0Q1NTIH0gZnJvbSAnLi4vdXRsaXMvaW5zZXJ0Q1NTJztcbmltcG9ydCB7IGJ1aWxkSW1wb3J0VXJsLCBnZW5lcmF0ZVV1aWQsIGJ1aWxkSW5pdFBheWxvYWQsIGNsYXNzaWZ5U3RydWN0dXJlZE1lc3NhZ2UgfSBmcm9tICdAc3VtaXRfeWV3YWxlL2FkYXB0ZXItY29yZSc7XG5cbmNvbnN0IGFwcFZlcnNpb24gPSAnMS4xLjE2JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3N2Ym94LWJ1dHRvbicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdj5cbiAgICAgIDxidXR0b24gW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgI2luaXRpYXRvciAoY2xpY2spPVwib3Blbk1vZGFsKClcIiBbYXR0ci5kYXRhLWNzdmJveC10b2tlbl09XCJ1dWlkXCI+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICBgXG59KVxuXG5leHBvcnQgY2xhc3MgQ1NWQm94QnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIEFmdGVyQ29udGVudEluaXQge1xuXG4gIGlzTW9kYWxTaG93biA9IGZhbHNlO1xuXG4gIEBWaWV3Q2hpbGQoJ2luaXRpYXRvcicsIHtzdGF0aWM6IGZhbHNlfSkgaW5pdGlhdG9yOiBhbnk7XG4gIEBJbnB1dCgpIG9uSW1wb3J0PzogRnVuY3Rpb247XG4gIEBJbnB1dCgpIG9uUmVhZHk/OiBGdW5jdGlvbjtcbiAgQElucHV0KCkgb25DbG9zZT86IEZ1bmN0aW9uO1xuICBASW5wdXQoKSBvblN1Ym1pdD86IEZ1bmN0aW9uO1xuXG4gIEBJbnB1dCgpIGlzSW1wb3J0ZWQ/OiBGdW5jdGlvbjtcbiAgQElucHV0KCkgaXNSZWFkeT86IEZ1bmN0aW9uO1xuICBASW5wdXQoKSBpc0Nsb3NlZD86IEZ1bmN0aW9uO1xuICBASW5wdXQoKSBpc1N1Ym1pdHRlZD86IEZ1bmN0aW9uO1xuXG4gIEBJbnB1dCgpIGltcG9ydGVyUmVhZHk/OiBGdW5jdGlvbjtcbiAgQElucHV0KCkgY2xvc2VkPzogRnVuY3Rpb247XG4gIEBJbnB1dCgpIHN1Ym1pdHRlZD86IEZ1bmN0aW9uO1xuICBASW5wdXQoKSBpbXBvcnRlZD86IEZ1bmN0aW9uO1xuICBASW5wdXQoKSBsb2FkU3RhcnRlZD86IEZ1bmN0aW9uO1xuXG4gIEBJbnB1dCgpIHVzZXI/OiBvYmplY3Q7XG4gIEBJbnB1dCgpIGR5bmFtaWNDb2x1bW5zPzogb2JqZWN0O1xuICBASW5wdXQoKSBsaWNlbnNlS2V5OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgb3B0aW9ucz86IG9iamVjdDtcbiAgQElucHV0KCkgdXVpZDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIGN1c3RvbURvbWFpbjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIGRhdGFMb2NhdGlvbjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIGxhbmd1YWdlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgZW52aXJvbm1lbnQ/OiBvYmplY3Q7XG5cbiAgQElucHV0KCkgdGhlbWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIEBJbnB1dCgpIGlzSWZyYW1lTG9hZGVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIG9wZW5Nb2RhbE9uSWZyYW1lTG9hZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIGxhenk6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBzYWZlVXJsOiBhbnk7XG5cbiAgaWZyYW1lOiBIVE1MSUZyYW1lRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgc2FuaXRpemVyOkRvbVNhbml0aXplcikge31cblxuICBob2xkZXI6IGFueTtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnV1aWQgPSBnZW5lcmF0ZVV1aWQoKTtcbiAgICBsZXQgaWZyYW1lVXJsID0gYnVpbGRJbXBvcnRVcmwoXG4gICAgICB7XG4gICAgICAgIGxpY2Vuc2VLZXk6IHRoaXMubGljZW5zZUtleSxcbiAgICAgICAgY3VzdG9tRG9tYWluOiB0aGlzLmN1c3RvbURvbWFpbixcbiAgICAgICAgZGF0YUxvY2F0aW9uOiB0aGlzLmRhdGFMb2NhdGlvbixcbiAgICAgICAgbGFuZ3VhZ2U6IHRoaXMubGFuZ3VhZ2UsXG4gICAgICAgIHRoZW1lOiB0aGlzLnRoZW1lLFxuICAgICAgICBlbnZpcm9ubWVudDogdGhpcy5lbnZpcm9ubWVudFxuICAgICAgfSxcbiAgICAgIFwiYW5ndWxhclwiLFxuICAgICAgYXBwVmVyc2lvblxuICAgICk7XG4gICAgdGhpcy5zYWZlVXJsID0gdGhpcy5zYW5pdGl6ZXIuc2FuaXRpemUoU2VjdXJpdHlDb250ZXh0LlJFU09VUkNFX1VSTCwgdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKGlmcmFtZVVybCkpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmKGNoYW5nZXNbXCJ1c2VyXCJdICYmIGNoYW5nZXNbJ3VzZXInXS5jdXJyZW50VmFsdWUgIT0gY2hhbmdlc1sndXNlciddLnByZXZpb3VzVmFsdWUpIHtcbiAgICAgIHRoaXMudXBkYXRlVXNlclZhcmlhYmUoY2hhbmdlc1sndXNlciddLmN1cnJlbnRWYWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlVXNlclZhcmlhYmUoZGF0YTogYW55KTogdm9pZCB7XG4gICAgdGhpcy51c2VyID0gZGF0YTtcbiAgICBpZiAodGhpcy5pZnJhbWUgJiYgdGhpcy5pZnJhbWUuY29udGVudFdpbmRvdykge1xuICAgICAgdGhpcy5pZnJhbWUuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSh7XG4gICAgICAgIFwiY3VzdG9tZXJcIiA6IGRhdGFcbiAgICAgIH0sIFwiKlwiKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJtZXNzYWdlXCIsIChldmVudCkgPT4ge1xuICAgICAgbGV0IG1lc3NhZ2UgPSBjbGFzc2lmeVN0cnVjdHVyZWRNZXNzYWdlKGV2ZW50LmRhdGEsIHRoaXMudXVpZCEpO1xuICAgICAgaWYgKCFtZXNzYWdlKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKG1lc3NhZ2UudHlwZSA9PT0gXCJkYXRhLW9uLXN1Ym1pdFwiKSB7XG4gICAgICAgIGlmICh0aGlzLm9uU3VibWl0KSB0aGlzLm9uU3VibWl0KG1lc3NhZ2UubWV0YWRhdGEpO1xuICAgICAgICBpZiAodGhpcy5pc1N1Ym1pdHRlZCkgdGhpcy5pc1N1Ym1pdHRlZChtZXNzYWdlLm1ldGFkYXRhKTtcbiAgICAgICAgaWYgKHRoaXMuc3VibWl0dGVkKSB0aGlzLnN1Ym1pdHRlZChtZXNzYWdlLm1ldGFkYXRhKTtcbiAgICAgIH0gZWxzZSBpZiAobWVzc2FnZS50eXBlID09PSBcImRhdGEtcHVzaC1zdGF0dXNcIikge1xuICAgICAgICBpZiAoIW1lc3NhZ2Uuc3VjY2Vzcykge1xuICAgICAgICAgIGRlbGV0ZSBtZXNzYWdlLm1ldGFkYXRhW1widW5pcXVlX3Rva2VuXCJdO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLm9uSW1wb3J0KSB0aGlzLm9uSW1wb3J0KG1lc3NhZ2Uuc3VjY2VzcywgbWVzc2FnZS5tZXRhZGF0YSk7XG4gICAgICAgIGlmICh0aGlzLmlzSW1wb3J0ZWQpIHRoaXMuaXNJbXBvcnRlZChtZXNzYWdlLnN1Y2Nlc3MsIG1lc3NhZ2UubWV0YWRhdGEpO1xuICAgICAgICBpZiAodGhpcy5pbXBvcnRlZCkgdGhpcy5pbXBvcnRlZChtZXNzYWdlLnN1Y2Nlc3MsIG1lc3NhZ2UubWV0YWRhdGEpO1xuICAgICAgfSBlbHNlIGlmIChtZXNzYWdlLnR5cGUgPT09IFwiY3N2Ym94LW1vZGFsLWhpZGRlblwiKSB7XG4gICAgICAgIHRoaXMuaGFuZGxlTW9kYWxDbG9zZWQoKTtcbiAgICAgIH0gZWxzZSBpZiAobWVzc2FnZS50eXBlID09PSBcImNzdmJveC11cGxvYWQtc3VjY2Vzc2Z1bFwiKSB7XG4gICAgICAgICAgaWYgKHRoaXMub25JbXBvcnQpIHRoaXMub25JbXBvcnQodHJ1ZSk7XG4gICAgICAgICAgaWYgKHRoaXMuaXNJbXBvcnRlZCkgdGhpcy5pc0ltcG9ydGVkKHRydWUpO1xuICAgICAgICAgIGlmICh0aGlzLmltcG9ydGVkKSB0aGlzLmltcG9ydGVkKHRydWUpO1xuICAgICAgfSBlbHNlIGlmIChtZXNzYWdlLnR5cGUgPT09IFwiY3N2Ym94LXVwbG9hZC1mYWlsZWRcIikge1xuICAgICAgICAgIGlmICh0aGlzLm9uSW1wb3J0KSB0aGlzLm9uSW1wb3J0KGZhbHNlKTtcbiAgICAgICAgICBpZiAodGhpcy5pc0ltcG9ydGVkKSB0aGlzLmlzSW1wb3J0ZWQoZmFsc2UpO1xuICAgICAgICAgIGlmICh0aGlzLmltcG9ydGVkKSB0aGlzLmltcG9ydGVkKGZhbHNlKTtcbiAgICAgIH1cbiAgICB9LCBmYWxzZSk7XG5cbiAgICBpZih0aGlzLmxhenkpIHtcbiAgICAgIHRoaXMuZGlzYWJsZWQgPSBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kaXNhYmxlZCA9IHRydWU7XG4gICAgICB0aGlzLmluaXRJbXBvcnRlcigpO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZU1vZGFsQ2xvc2VkKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmhvbGRlcikgdGhpcy5ob2xkZXIuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICB0aGlzLmlzTW9kYWxTaG93biA9IGZhbHNlO1xuICAgIHRoaXMuaXNJZnJhbWVMb2FkZWQgPSBmYWxzZTtcbiAgICB0aGlzLm9wZW5Nb2RhbE9uSWZyYW1lTG9hZCA9IGZhbHNlO1xuICAgIGlmICh0aGlzLmhvbGRlcikgdGhpcy5ob2xkZXIucmVtb3ZlKCk7XG4gICAgdGhpcy5ob2xkZXIgPSBudWxsO1xuICAgIHRoaXMuaWZyYW1lID0gbnVsbDtcbiAgICBpZiAodGhpcy5vbkNsb3NlKSB0aGlzLm9uQ2xvc2UoKTtcbiAgICBpZiAodGhpcy5pc0Nsb3NlZCkgdGhpcy5pc0Nsb3NlZCgpO1xuICAgIGlmICh0aGlzLmNsb3NlZCkgdGhpcy5jbG9zZWQoKTtcbiAgfVxuXG4gIGluaXRJbXBvcnRlcigpIHtcbiAgICBpZiAodGhpcy5sb2FkU3RhcnRlZCkgdGhpcy5sb2FkU3RhcnRlZCgpO1xuXG4gICAgdGhpcy51dWlkID0gZ2VuZXJhdGVVdWlkKCk7XG5cbiAgICBpbnNlcnRDU1MoKTtcblxuICAgIGxldCBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiaWZyYW1lXCIpO1xuICAgIHRoaXMuaWZyYW1lID0gaWZyYW1lO1xuICAgIGlmcmFtZS5zZXRBdHRyaWJ1dGUoXCJzcmNcIiwgdGhpcy5zYWZlVXJsKTtcbiAgICBpZnJhbWUuZnJhbWVCb3JkZXIgPSBcIjBcIjtcblxuICAgIGxldCBzZWxmID0gdGhpcztcbiAgICBpZnJhbWUub25sb2FkID0gZnVuY3Rpb24gKCkge1xuICAgICAgaWYgKHNlbGYub25SZWFkeSkgc2VsZi5vblJlYWR5KCk7XG4gICAgICBpZiAoc2VsZi5pc1JlYWR5KSBzZWxmLmlzUmVhZHkoKTtcbiAgICAgIGlmIChzZWxmLmltcG9ydGVyUmVhZHkpIHNlbGYuaW1wb3J0ZXJSZWFkeSgpO1xuXG4gICAgICBzZWxmLmRpc2FibGVkID0gZmFsc2U7XG4gICAgICBzZWxmLmlzSWZyYW1lTG9hZGVkID0gdHJ1ZTtcbiAgICAgIGlmIChzZWxmLmlmcmFtZSAmJiBzZWxmLmlmcmFtZS5jb250ZW50V2luZG93KSB7XG4gICAgICAgIHNlbGYuaWZyYW1lLmNvbnRlbnRXaW5kb3cucG9zdE1lc3NhZ2UoYnVpbGRJbml0UGF5bG9hZChzZWxmLnVzZXIsIHNlbGYuZHluYW1pY0NvbHVtbnMsIHNlbGYub3B0aW9ucywgc2VsZi51dWlkISksIFwiKlwiKTtcbiAgICAgIH1cbiAgICAgIGlmKHNlbGYub3Blbk1vZGFsT25JZnJhbWVMb2FkKSB7XG4gICAgICAgIHNlbGYub3Blbk1vZGFsKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5ob2xkZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICB0aGlzLmhvbGRlci5jbGFzc0xpc3QuYWRkKCdjc3Zib3gtaG9sZGVyJyk7XG4gICAgdGhpcy5ob2xkZXIuc2V0QXR0cmlidXRlKCdpZCcsIGBjc3Zib3gtZW1iZWQtJHt0aGlzLnV1aWR9YCk7XG4gICAgdGhpcy5ob2xkZXIuYXBwZW5kQ2hpbGQoaWZyYW1lKTtcblxuICAgIGRvY3VtZW50LmJvZHkuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KFxuICAgICAgJ2JlZm9yZWVuZCcsIHRoaXMuaG9sZGVyXG4gICAgKTtcbiAgfVxuXG4gIG9wZW5Nb2RhbCgpOiB2b2lkIHtcbiAgICBpZighdGhpcy5pZnJhbWUpIHtcbiAgICAgICAgdGhpcy5vcGVuTW9kYWxPbklmcmFtZUxvYWQgPSB0cnVlO1xuICAgICAgICB0aGlzLmluaXRJbXBvcnRlcigpO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmKCF0aGlzLmlzTW9kYWxTaG93bikge1xuICAgICAgaWYodGhpcy5pc0lmcmFtZUxvYWRlZCkge1xuICAgICAgICAgIHRoaXMuaXNNb2RhbFNob3duID0gdHJ1ZTtcbiAgICAgICAgICBpZih0aGlzLmhvbGRlcikgdGhpcy5ob2xkZXIuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7XG4gICAgICAgICAgaWYodGhpcy5pZnJhbWUgJiYgdGhpcy5pZnJhbWUuY29udGVudFdpbmRvdykge1xuICAgICAgICAgICAgdGhpcy5pZnJhbWUuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSgnb3Blbk1vZGFsJywgJyonKTtcbiAgICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMub3Blbk1vZGFsT25JZnJhbWVMb2FkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuIl19
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * Generated from: lib/interfaces/interface.ts
4
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
+ */
6
+ /**
7
+ * @record
8
+ */
9
+ export function CSVBoxMethods() { }
10
+ if (false) {
11
+ /** @type {?|undefined} */
12
+ CSVBoxMethods.prototype.onData;
13
+ }
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHN1bWl0X3lld2FsZS9hbmd1bGFyLyIsInNvdXJjZXMiOlsibGliL2ludGVyZmFjZXMvaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsbUNBRUM7OztJQURDLCtCQUE0QyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQ1NWQm94TWV0aG9kcyB7XG4gIG9uRGF0YT86IChyZXN1bHQ6Ym9vbGVhbiwgZGF0YTphbnkpID0+IHZvaWQ7XG59XG4iXX0=
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * Generated from: public-api.ts
4
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
+ */
6
+ /*
7
+ * Public API Surface of angular-adapter
8
+ */
9
+ // export * from './lib/angular-adapter.service';
10
+ export { CSVBoxButtonComponent } from './lib/csvbox-button.component';
11
+ export { CSVBoxAngularModule } from './lib/csvbox-angular.module';
12
+ export {} from './lib/interfaces/interface';
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzdW1pdF95ZXdhbGUvYW5ndWxhci8iLCJzb3VyY2VzIjpbInB1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBS0Esc0NBQWMsK0JBQStCLENBQUM7QUFDOUMsb0NBQWMsNkJBQTZCLENBQUM7QUFDNUMsZUFBYyw0QkFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgYW5ndWxhci1hZGFwdGVyXG4gKi9cblxuLy8gZXhwb3J0ICogZnJvbSAnLi9saWIvYW5ndWxhci1hZGFwdGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY3N2Ym94LWJ1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY3N2Ym94LWFuZ3VsYXIubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvaW50ZXJmYWNlJztcbiJdfQ==
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * Generated from: sumit_yewale-angular.ts
4
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
+ */
6
+ /**
7
+ * Generated bundle index. Do not edit.
8
+ */
9
+ export { CSVBoxButtonComponent, CSVBoxAngularModule } from './public-api';
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VtaXRfeWV3YWxlLWFuZ3VsYXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3VtaXRfeWV3YWxlL2FuZ3VsYXIvIiwic291cmNlcyI6WyJzdW1pdF95ZXdhbGUtYW5ndWxhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUlBLDJEQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -0,0 +1,27 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * Generated from: utlis/insertCSS.ts
4
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
+ */
6
+ /** @type {?} */
7
+ var styleElement;
8
+ /** @type {?} */
9
+ var GLOBAL_CSS = "\n.csvbox-holder {\n z-index: 2147483647;\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n display: none;\n}\n.csvbox-holder iframe {\n height: 100%;\n width: 100%;\n position: absolute;\n top: 0px;\n left: 0px;\n}\n";
10
+ /** @type {?} */
11
+ export var insertCSS = (/**
12
+ * @return {?}
13
+ */
14
+ function () {
15
+ if (styleElement) {
16
+ return;
17
+ }
18
+ styleElement = document.createElement('style');
19
+ styleElement.setAttribute('type', 'text/css');
20
+ /** @type {?} */
21
+ var head = document.querySelector('head');
22
+ if (head) {
23
+ head.appendChild(styleElement);
24
+ }
25
+ styleElement.textContent = GLOBAL_CSS;
26
+ });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zZXJ0Q1NTLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHN1bWl0X3lld2FsZS9hbmd1bGFyLyIsInNvdXJjZXMiOlsidXRsaXMvaW5zZXJ0Q1NTLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztJQUFJLFlBQThCOztJQUU1QixVQUFVLEdBQUcsd1BBaUJsQjs7QUFFRCxNQUFNLEtBQU8sU0FBUzs7O0FBQUc7SUFDdkIsSUFBSSxZQUFZLEVBQUU7UUFDaEIsT0FBTTtLQUNQO0lBRUQsWUFBWSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDOUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUE7O1FBQ3ZDLElBQUksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQztJQUMzQyxJQUFJLElBQUksRUFBRTtRQUNSLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7S0FDaEM7SUFFRCxZQUFZLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQTtBQUN2QyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJsZXQgc3R5bGVFbGVtZW50OiBIVE1MU3R5bGVFbGVtZW50XG5cbmNvbnN0IEdMT0JBTF9DU1MgPSBgXG4uY3N2Ym94LWhvbGRlciB7XG4gIHotaW5kZXg6IDIxNDc0ODM2NDc7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBkaXNwbGF5OiBub25lO1xufVxuLmNzdmJveC1ob2xkZXIgaWZyYW1lIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDBweDtcbiAgbGVmdDogMHB4O1xufVxuYFxuXG5leHBvcnQgY29uc3QgaW5zZXJ0Q1NTID0gKCk6IHZvaWQgPT4ge1xuICBpZiAoc3R5bGVFbGVtZW50KSB7XG4gICAgcmV0dXJuXG4gIH1cblxuICBzdHlsZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpXG4gIHN0eWxlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAndGV4dC9jc3MnKVxuICBjb25zdCBoZWFkID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignaGVhZCcpO1xuICBpZiAoaGVhZCkge1xuICAgIGhlYWQuYXBwZW5kQ2hpbGQoc3R5bGVFbGVtZW50KTtcbiAgfVxuXG4gIHN0eWxlRWxlbWVudC50ZXh0Q29udGVudCA9IEdMT0JBTF9DU1Ncbn1cbiJdfQ==