@skyux/avatar 7.0.0-alpha.0 → 7.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/documentation.json +110 -66
- package/esm2020/lib/modules/avatar/avatar-adapter.service.mjs +25 -25
- package/esm2020/lib/modules/avatar/avatar.component.mjs +58 -45
- package/esm2020/lib/modules/avatar/avatar.inner.component.mjs +27 -18
- package/esm2020/testing/avatar-fixture.mjs +8 -4
- package/fesm2015/skyux-avatar-testing.mjs +7 -3
- package/fesm2015/skyux-avatar-testing.mjs.map +1 -1
- package/fesm2015/skyux-avatar.mjs +105 -85
- package/fesm2015/skyux-avatar.mjs.map +1 -1
- package/fesm2020/skyux-avatar-testing.mjs +7 -3
- package/fesm2020/skyux-avatar-testing.mjs.map +1 -1
- package/fesm2020/skyux-avatar.mjs +105 -85
- package/fesm2020/skyux-avatar.mjs.map +1 -1
- package/lib/modules/avatar/avatar-adapter.service.d.ts +1 -3
- package/lib/modules/avatar/avatar.component.d.ts +9 -17
- package/lib/modules/avatar/avatar.inner.component.d.ts +7 -12
- package/package.json +6 -6
- package/testing/avatar-fixture.d.ts +3 -3
package/documentation.json
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"originalName": "",
|
|
14
14
|
"children": [
|
|
15
15
|
{
|
|
16
|
-
"id":
|
|
16
|
+
"id": 52,
|
|
17
17
|
"name": "SkyAvatarModule",
|
|
18
18
|
"kind": 128,
|
|
19
19
|
"kindString": "Class",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"title": "Constructors",
|
|
39
39
|
"kind": 512,
|
|
40
40
|
"children": [
|
|
41
|
-
|
|
41
|
+
53
|
|
42
42
|
]
|
|
43
43
|
}
|
|
44
44
|
],
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
"sources": [
|
|
81
81
|
{
|
|
82
82
|
"fileName": "projects/avatar/src/modules/avatar/avatar.component.ts",
|
|
83
|
-
"line":
|
|
83
|
+
"line": 108,
|
|
84
84
|
"character": 2
|
|
85
85
|
}
|
|
86
86
|
],
|
|
@@ -135,7 +135,7 @@
|
|
|
135
135
|
]
|
|
136
136
|
},
|
|
137
137
|
{
|
|
138
|
-
"id":
|
|
138
|
+
"id": 26,
|
|
139
139
|
"name": "avatarChanged",
|
|
140
140
|
"kind": 1024,
|
|
141
141
|
"kindString": "Property",
|
|
@@ -160,7 +160,7 @@
|
|
|
160
160
|
"sources": [
|
|
161
161
|
{
|
|
162
162
|
"fileName": "projects/avatar/src/modules/avatar/avatar.component.ts",
|
|
163
|
-
"line":
|
|
163
|
+
"line": 94,
|
|
164
164
|
"character": 9
|
|
165
165
|
}
|
|
166
166
|
],
|
|
@@ -204,7 +204,7 @@
|
|
|
204
204
|
"sources": [
|
|
205
205
|
{
|
|
206
206
|
"fileName": "projects/avatar/src/modules/avatar/avatar.component.ts",
|
|
207
|
-
"line":
|
|
207
|
+
"line": 74,
|
|
208
208
|
"character": 9
|
|
209
209
|
}
|
|
210
210
|
],
|
|
@@ -212,50 +212,7 @@
|
|
|
212
212
|
"type": "intrinsic",
|
|
213
213
|
"name": "number"
|
|
214
214
|
},
|
|
215
|
-
"defaultValue": "
|
|
216
|
-
},
|
|
217
|
-
{
|
|
218
|
-
"id": 22,
|
|
219
|
-
"name": "size",
|
|
220
|
-
"kind": 1024,
|
|
221
|
-
"kindString": "Property",
|
|
222
|
-
"flags": {
|
|
223
|
-
"isPublic": true
|
|
224
|
-
},
|
|
225
|
-
"comment": {
|
|
226
|
-
"shortText": "Specifies the size of the avatar.\nAcceptable values are: `\"small\"`, `\"medium\"`, and `\"large\"`.",
|
|
227
|
-
"tags": [
|
|
228
|
-
{
|
|
229
|
-
"tag": "default",
|
|
230
|
-
"text": "\"large\"\n"
|
|
231
|
-
}
|
|
232
|
-
]
|
|
233
|
-
},
|
|
234
|
-
"decorators": [
|
|
235
|
-
{
|
|
236
|
-
"name": "Input",
|
|
237
|
-
"type": {
|
|
238
|
-
"type": "reference",
|
|
239
|
-
"qualifiedName": "InputDecorator",
|
|
240
|
-
"package": "@angular/core",
|
|
241
|
-
"name": "Input"
|
|
242
|
-
},
|
|
243
|
-
"arguments": {}
|
|
244
|
-
}
|
|
245
|
-
],
|
|
246
|
-
"sources": [
|
|
247
|
-
{
|
|
248
|
-
"fileName": "projects/avatar/src/modules/avatar/avatar.component.ts",
|
|
249
|
-
"line": 80,
|
|
250
|
-
"character": 9
|
|
251
|
-
}
|
|
252
|
-
],
|
|
253
|
-
"type": {
|
|
254
|
-
"type": "reference",
|
|
255
|
-
"id": 43,
|
|
256
|
-
"name": "SkyAvatarSize"
|
|
257
|
-
},
|
|
258
|
-
"defaultValue": "'large'"
|
|
215
|
+
"defaultValue": "MAX_FILE_SIZE_DEFAULT"
|
|
259
216
|
},
|
|
260
217
|
{
|
|
261
218
|
"id": 9,
|
|
@@ -280,7 +237,7 @@
|
|
|
280
237
|
"sources": [
|
|
281
238
|
{
|
|
282
239
|
"fileName": "projects/avatar/src/modules/avatar/avatar.component.ts",
|
|
283
|
-
"line":
|
|
240
|
+
"line": 32,
|
|
284
241
|
"character": 13
|
|
285
242
|
}
|
|
286
243
|
],
|
|
@@ -365,7 +322,7 @@
|
|
|
365
322
|
"sources": [
|
|
366
323
|
{
|
|
367
324
|
"fileName": "projects/avatar/src/modules/avatar/avatar.component.ts",
|
|
368
|
-
"line":
|
|
325
|
+
"line": 49,
|
|
369
326
|
"character": 13
|
|
370
327
|
}
|
|
371
328
|
],
|
|
@@ -415,6 +372,93 @@
|
|
|
415
372
|
}
|
|
416
373
|
]
|
|
417
374
|
},
|
|
375
|
+
{
|
|
376
|
+
"id": 22,
|
|
377
|
+
"name": "size",
|
|
378
|
+
"kind": 262144,
|
|
379
|
+
"kindString": "Accessor",
|
|
380
|
+
"flags": {
|
|
381
|
+
"isPublic": true
|
|
382
|
+
},
|
|
383
|
+
"decorators": [
|
|
384
|
+
{
|
|
385
|
+
"name": "Input",
|
|
386
|
+
"type": {
|
|
387
|
+
"type": "reference",
|
|
388
|
+
"qualifiedName": "InputDecorator",
|
|
389
|
+
"package": "@angular/core",
|
|
390
|
+
"name": "Input"
|
|
391
|
+
},
|
|
392
|
+
"arguments": {}
|
|
393
|
+
}
|
|
394
|
+
],
|
|
395
|
+
"sources": [
|
|
396
|
+
{
|
|
397
|
+
"fileName": "projects/avatar/src/modules/avatar/avatar.component.ts",
|
|
398
|
+
"line": 82,
|
|
399
|
+
"character": 13
|
|
400
|
+
}
|
|
401
|
+
],
|
|
402
|
+
"getSignature": [
|
|
403
|
+
{
|
|
404
|
+
"id": 23,
|
|
405
|
+
"name": "size",
|
|
406
|
+
"kind": 524288,
|
|
407
|
+
"kindString": "Get signature",
|
|
408
|
+
"flags": {},
|
|
409
|
+
"comment": {
|
|
410
|
+
"shortText": "Specifies the size of the avatar.\nAcceptable values are: `\"small\"`, `\"medium\"`, and `\"large\"`.",
|
|
411
|
+
"tags": [
|
|
412
|
+
{
|
|
413
|
+
"tag": "default",
|
|
414
|
+
"text": "\"large\"\n"
|
|
415
|
+
}
|
|
416
|
+
]
|
|
417
|
+
},
|
|
418
|
+
"type": {
|
|
419
|
+
"type": "reference",
|
|
420
|
+
"id": 50,
|
|
421
|
+
"name": "SkyAvatarSize"
|
|
422
|
+
}
|
|
423
|
+
}
|
|
424
|
+
],
|
|
425
|
+
"setSignature": [
|
|
426
|
+
{
|
|
427
|
+
"id": 24,
|
|
428
|
+
"name": "size",
|
|
429
|
+
"kind": 1048576,
|
|
430
|
+
"kindString": "Set signature",
|
|
431
|
+
"flags": {},
|
|
432
|
+
"comment": {
|
|
433
|
+
"shortText": "Specifies the size of the avatar.\nAcceptable values are: `\"small\"`, `\"medium\"`, and `\"large\"`.",
|
|
434
|
+
"tags": [
|
|
435
|
+
{
|
|
436
|
+
"tag": "default",
|
|
437
|
+
"text": "\"large\"\n"
|
|
438
|
+
}
|
|
439
|
+
]
|
|
440
|
+
},
|
|
441
|
+
"parameters": [
|
|
442
|
+
{
|
|
443
|
+
"id": 25,
|
|
444
|
+
"name": "value",
|
|
445
|
+
"kind": 32768,
|
|
446
|
+
"kindString": "Parameter",
|
|
447
|
+
"flags": {},
|
|
448
|
+
"type": {
|
|
449
|
+
"type": "reference",
|
|
450
|
+
"id": 50,
|
|
451
|
+
"name": "SkyAvatarSize"
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
],
|
|
455
|
+
"type": {
|
|
456
|
+
"type": "intrinsic",
|
|
457
|
+
"name": "void"
|
|
458
|
+
}
|
|
459
|
+
}
|
|
460
|
+
]
|
|
461
|
+
},
|
|
418
462
|
{
|
|
419
463
|
"id": 17,
|
|
420
464
|
"name": "src",
|
|
@@ -438,7 +482,7 @@
|
|
|
438
482
|
"sources": [
|
|
439
483
|
{
|
|
440
484
|
"fileName": "projects/avatar/src/modules/avatar/avatar.component.ts",
|
|
441
|
-
"line":
|
|
485
|
+
"line": 62,
|
|
442
486
|
"character": 13
|
|
443
487
|
}
|
|
444
488
|
],
|
|
@@ -454,7 +498,7 @@
|
|
|
454
498
|
},
|
|
455
499
|
"type": {
|
|
456
500
|
"type": "reference",
|
|
457
|
-
"id":
|
|
501
|
+
"id": 51,
|
|
458
502
|
"name": "SkyAvatarSrc"
|
|
459
503
|
}
|
|
460
504
|
}
|
|
@@ -478,7 +522,7 @@
|
|
|
478
522
|
"flags": {},
|
|
479
523
|
"type": {
|
|
480
524
|
"type": "reference",
|
|
481
|
-
"id":
|
|
525
|
+
"id": 51,
|
|
482
526
|
"name": "SkyAvatarSrc"
|
|
483
527
|
}
|
|
484
528
|
}
|
|
@@ -491,7 +535,7 @@
|
|
|
491
535
|
]
|
|
492
536
|
},
|
|
493
537
|
{
|
|
494
|
-
"id":
|
|
538
|
+
"id": 34,
|
|
495
539
|
"name": "photoDrop",
|
|
496
540
|
"kind": 2048,
|
|
497
541
|
"kindString": "Method",
|
|
@@ -501,20 +545,20 @@
|
|
|
501
545
|
"sources": [
|
|
502
546
|
{
|
|
503
547
|
"fileName": "projects/avatar/src/modules/avatar/avatar.component.ts",
|
|
504
|
-
"line":
|
|
548
|
+
"line": 118,
|
|
505
549
|
"character": 9
|
|
506
550
|
}
|
|
507
551
|
],
|
|
508
552
|
"signatures": [
|
|
509
553
|
{
|
|
510
|
-
"id":
|
|
554
|
+
"id": 35,
|
|
511
555
|
"name": "photoDrop",
|
|
512
556
|
"kind": 4096,
|
|
513
557
|
"kindString": "Call signature",
|
|
514
558
|
"flags": {},
|
|
515
559
|
"parameters": [
|
|
516
560
|
{
|
|
517
|
-
"id":
|
|
561
|
+
"id": 36,
|
|
518
562
|
"name": "result",
|
|
519
563
|
"kind": 32768,
|
|
520
564
|
"kindString": "Parameter",
|
|
@@ -545,9 +589,8 @@
|
|
|
545
589
|
"title": "Properties",
|
|
546
590
|
"kind": 1024,
|
|
547
591
|
"children": [
|
|
548
|
-
|
|
549
|
-
21
|
|
550
|
-
22
|
|
592
|
+
26,
|
|
593
|
+
21
|
|
551
594
|
]
|
|
552
595
|
},
|
|
553
596
|
{
|
|
@@ -556,6 +599,7 @@
|
|
|
556
599
|
"children": [
|
|
557
600
|
9,
|
|
558
601
|
13,
|
|
602
|
+
22,
|
|
559
603
|
17
|
|
560
604
|
]
|
|
561
605
|
},
|
|
@@ -563,20 +607,20 @@
|
|
|
563
607
|
"title": "Methods",
|
|
564
608
|
"kind": 2048,
|
|
565
609
|
"children": [
|
|
566
|
-
|
|
610
|
+
34
|
|
567
611
|
]
|
|
568
612
|
}
|
|
569
613
|
],
|
|
570
614
|
"sources": [
|
|
571
615
|
{
|
|
572
616
|
"fileName": "projects/avatar/src/modules/avatar/avatar.component.ts",
|
|
573
|
-
"line":
|
|
617
|
+
"line": 23,
|
|
574
618
|
"character": 13
|
|
575
619
|
}
|
|
576
620
|
]
|
|
577
621
|
},
|
|
578
622
|
{
|
|
579
|
-
"id":
|
|
623
|
+
"id": 50,
|
|
580
624
|
"name": "SkyAvatarSize",
|
|
581
625
|
"kind": 4194304,
|
|
582
626
|
"kindString": "Type alias",
|
|
@@ -607,7 +651,7 @@
|
|
|
607
651
|
}
|
|
608
652
|
},
|
|
609
653
|
{
|
|
610
|
-
"id":
|
|
654
|
+
"id": 51,
|
|
611
655
|
"name": "SkyAvatarSrc",
|
|
612
656
|
"kind": 4194304,
|
|
613
657
|
"kindString": "Type alias",
|
|
@@ -1,51 +1,51 @@
|
|
|
1
|
+
var _SkyAvatarAdapterService_instances, _SkyAvatarAdapterService_blobUrl, _SkyAvatarAdapterService_createBlobUrl, _SkyAvatarAdapterService_revokeBlobUrl;
|
|
2
|
+
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
1
3
|
import { Injectable } from '@angular/core';
|
|
2
4
|
import * as i0 from "@angular/core";
|
|
3
5
|
/**
|
|
4
6
|
* @internal
|
|
5
7
|
*/
|
|
6
8
|
export class SkyAvatarAdapterService {
|
|
9
|
+
constructor() {
|
|
10
|
+
_SkyAvatarAdapterService_instances.add(this);
|
|
11
|
+
_SkyAvatarAdapterService_blobUrl.set(this, void 0);
|
|
12
|
+
}
|
|
7
13
|
updateImage(elementRef, src) {
|
|
8
|
-
this.
|
|
14
|
+
__classPrivateFieldGet(this, _SkyAvatarAdapterService_instances, "m", _SkyAvatarAdapterService_revokeBlobUrl).call(this);
|
|
9
15
|
const el = elementRef.nativeElement;
|
|
10
16
|
/*istanbul ignore else */
|
|
11
17
|
if (el) {
|
|
12
18
|
const imageEl = el.querySelector('.sky-avatar-image');
|
|
13
19
|
/*istanbul ignore else */
|
|
14
20
|
if (imageEl) {
|
|
15
|
-
let url;
|
|
16
|
-
if (src) {
|
|
17
|
-
|
|
18
|
-
url = this.createBlobUrl(src);
|
|
19
|
-
}
|
|
20
|
-
else {
|
|
21
|
-
url = src;
|
|
22
|
-
}
|
|
21
|
+
let url = src;
|
|
22
|
+
if (src instanceof File || src instanceof Blob) {
|
|
23
|
+
url = __classPrivateFieldGet(this, _SkyAvatarAdapterService_instances, "m", _SkyAvatarAdapterService_createBlobUrl).call(this, src);
|
|
23
24
|
}
|
|
24
25
|
// Notice the quotes inside the `url` function. This ensures proper url escaping.
|
|
25
|
-
imageEl.style.backgroundImage =
|
|
26
|
+
imageEl.style.backgroundImage = 'url("' + url + '")';
|
|
26
27
|
}
|
|
27
28
|
}
|
|
28
29
|
}
|
|
29
30
|
destroy() {
|
|
30
|
-
this.
|
|
31
|
-
}
|
|
32
|
-
createBlobUrl(src) {
|
|
33
|
-
const url = URL.createObjectURL(src);
|
|
34
|
-
// Keep the last blob URL around so we can revoke it later.
|
|
35
|
-
// https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL
|
|
36
|
-
this.blobUrl = url;
|
|
37
|
-
return url;
|
|
38
|
-
}
|
|
39
|
-
revokeBlobUrl() {
|
|
40
|
-
if (this.blobUrl) {
|
|
41
|
-
URL.revokeObjectURL(this.blobUrl);
|
|
42
|
-
this.blobUrl = undefined;
|
|
43
|
-
}
|
|
31
|
+
__classPrivateFieldGet(this, _SkyAvatarAdapterService_instances, "m", _SkyAvatarAdapterService_revokeBlobUrl).call(this);
|
|
44
32
|
}
|
|
45
33
|
}
|
|
34
|
+
_SkyAvatarAdapterService_blobUrl = new WeakMap(), _SkyAvatarAdapterService_instances = new WeakSet(), _SkyAvatarAdapterService_createBlobUrl = function _SkyAvatarAdapterService_createBlobUrl(src) {
|
|
35
|
+
const url = URL.createObjectURL(src);
|
|
36
|
+
// Keep the last blob URL around so we can revoke it later.
|
|
37
|
+
// https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL
|
|
38
|
+
__classPrivateFieldSet(this, _SkyAvatarAdapterService_blobUrl, url, "f");
|
|
39
|
+
return url;
|
|
40
|
+
}, _SkyAvatarAdapterService_revokeBlobUrl = function _SkyAvatarAdapterService_revokeBlobUrl() {
|
|
41
|
+
if (__classPrivateFieldGet(this, _SkyAvatarAdapterService_blobUrl, "f")) {
|
|
42
|
+
URL.revokeObjectURL(__classPrivateFieldGet(this, _SkyAvatarAdapterService_blobUrl, "f"));
|
|
43
|
+
__classPrivateFieldSet(this, _SkyAvatarAdapterService_blobUrl, undefined, "f");
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
46
|
SkyAvatarAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyAvatarAdapterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
47
47
|
SkyAvatarAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyAvatarAdapterService });
|
|
48
48
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyAvatarAdapterService, decorators: [{
|
|
49
49
|
type: Injectable
|
|
50
50
|
}] });
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLWFkYXB0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9hdmF0YXIvc3JjL2xpYi9tb2R1bGVzL2F2YXRhci9hdmF0YXItYWRhcHRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFJdkQ7O0dBRUc7QUFFSCxNQUFNLE9BQU8sdUJBQXVCO0lBRHBDOztRQUVFLG1EQUE2QjtLQTRDOUI7SUExQ1EsV0FBVyxDQUFDLFVBQXNCLEVBQUUsR0FBaUI7UUFDMUQsdUJBQUEsSUFBSSxrRkFBZSxNQUFuQixJQUFJLENBQWlCLENBQUM7UUFFdEIsTUFBTSxFQUFFLEdBQUcsVUFBVSxDQUFDLGFBQWEsQ0FBQztRQUVwQyx5QkFBeUI7UUFDekIsSUFBSSxFQUFFLEVBQUU7WUFDTixNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFFdEQseUJBQXlCO1lBQ3pCLElBQUksT0FBTyxFQUFFO2dCQUNYLElBQUksR0FBRyxHQUFHLEdBQUcsQ0FBQztnQkFFZCxJQUFJLEdBQUcsWUFBWSxJQUFJLElBQUksR0FBRyxZQUFZLElBQUksRUFBRTtvQkFDOUMsR0FBRyxHQUFHLHVCQUFBLElBQUksa0ZBQWUsTUFBbkIsSUFBSSxFQUFnQixHQUFHLENBQUMsQ0FBQztpQkFDaEM7Z0JBRUQsaUZBQWlGO2dCQUNqRixPQUFPLENBQUMsS0FBSyxDQUFDLGVBQWUsR0FBRyxPQUFPLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQzthQUN0RDtTQUNGO0lBQ0gsQ0FBQztJQUVNLE9BQU87UUFDWix1QkFBQSxJQUFJLGtGQUFlLE1BQW5CLElBQUksQ0FBaUIsQ0FBQztJQUN4QixDQUFDOzsrTEFFYyxHQUFnQjtJQUM3QixNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRXJDLDJEQUEyRDtJQUMzRCx1RUFBdUU7SUFDdkUsdUJBQUEsSUFBSSxvQ0FBWSxHQUFHLE1BQUEsQ0FBQztJQUNwQixPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7SUFHQyxJQUFJLHVCQUFBLElBQUksd0NBQVMsRUFBRTtRQUNqQixHQUFHLENBQUMsZUFBZSxDQUFDLHVCQUFBLElBQUksd0NBQVMsQ0FBQyxDQUFDO1FBQ25DLHVCQUFBLElBQUksb0NBQVksU0FBUyxNQUFBLENBQUM7S0FDM0I7QUFDSCxDQUFDO29IQTVDVSx1QkFBdUI7d0hBQXZCLHVCQUF1QjsyRkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTa3lBdmF0YXJTcmMgfSBmcm9tICcuL2F2YXRhci1zcmMnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5QXZhdGFyQWRhcHRlclNlcnZpY2Uge1xuICAjYmxvYlVybDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyB1cGRhdGVJbWFnZShlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBzcmM6IFNreUF2YXRhclNyYykge1xuICAgIHRoaXMuI3Jldm9rZUJsb2JVcmwoKTtcblxuICAgIGNvbnN0IGVsID0gZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuXG4gICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChlbCkge1xuICAgICAgY29uc3QgaW1hZ2VFbCA9IGVsLnF1ZXJ5U2VsZWN0b3IoJy5za3ktYXZhdGFyLWltYWdlJyk7XG5cbiAgICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIGlmIChpbWFnZUVsKSB7XG4gICAgICAgIGxldCB1cmwgPSBzcmM7XG5cbiAgICAgICAgaWYgKHNyYyBpbnN0YW5jZW9mIEZpbGUgfHwgc3JjIGluc3RhbmNlb2YgQmxvYikge1xuICAgICAgICAgIHVybCA9IHRoaXMuI2NyZWF0ZUJsb2JVcmwoc3JjKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE5vdGljZSB0aGUgcXVvdGVzIGluc2lkZSB0aGUgYHVybGAgZnVuY3Rpb24uIFRoaXMgZW5zdXJlcyBwcm9wZXIgdXJsIGVzY2FwaW5nLlxuICAgICAgICBpbWFnZUVsLnN0eWxlLmJhY2tncm91bmRJbWFnZSA9ICd1cmwoXCInICsgdXJsICsgJ1wiKSc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGRlc3Ryb3koKSB7XG4gICAgdGhpcy4jcmV2b2tlQmxvYlVybCgpO1xuICB9XG5cbiAgI2NyZWF0ZUJsb2JVcmwoc3JjOiBCbG9iIHwgRmlsZSkge1xuICAgIGNvbnN0IHVybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoc3JjKTtcblxuICAgIC8vIEtlZXAgdGhlIGxhc3QgYmxvYiBVUkwgYXJvdW5kIHNvIHdlIGNhbiByZXZva2UgaXQgbGF0ZXIuXG4gICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL1VSTC9yZXZva2VPYmplY3RVUkxcbiAgICB0aGlzLiNibG9iVXJsID0gdXJsO1xuICAgIHJldHVybiB1cmw7XG4gIH1cblxuICAjcmV2b2tlQmxvYlVybCgpIHtcbiAgICBpZiAodGhpcy4jYmxvYlVybCkge1xuICAgICAgVVJMLnJldm9rZU9iamVjdFVSTCh0aGlzLiNibG9iVXJsKTtcbiAgICAgIHRoaXMuI2Jsb2JVcmwgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
var _SkyAvatarComponent_instances, _SkyAvatarComponent__canChange, _SkyAvatarComponent__name, _SkyAvatarComponent__size, _SkyAvatarComponent__src, _SkyAvatarComponent_errorService, _SkyAvatarComponent_fileSizePipe, _SkyAvatarComponent_resourcesService, _SkyAvatarComponent_handleError, _SkyAvatarComponent_maxFileSizeText, _SkyAvatarComponent_openErrorModal, _SkyAvatarComponent_getString;
|
|
2
|
+
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
1
3
|
import { Component, EventEmitter, Input, Output, ViewEncapsulation, } from '@angular/core';
|
|
2
4
|
import { SkyErrorModalService } from '@skyux/errors';
|
|
3
5
|
import { SkyFileSizePipe } from '@skyux/forms';
|
|
@@ -8,25 +10,28 @@ import * as i2 from "@skyux/forms";
|
|
|
8
10
|
import * as i3 from "@skyux/i18n";
|
|
9
11
|
import * as i4 from "@angular/common";
|
|
10
12
|
import * as i5 from "./avatar.inner.component";
|
|
13
|
+
const MAX_FILE_SIZE_DEFAULT = 500000;
|
|
11
14
|
export class SkyAvatarComponent {
|
|
12
15
|
constructor(errorService, fileSizePipe, resourcesService) {
|
|
13
|
-
this
|
|
14
|
-
this.fileSizePipe = fileSizePipe;
|
|
15
|
-
this.resourcesService = resourcesService;
|
|
16
|
+
_SkyAvatarComponent_instances.add(this);
|
|
16
17
|
/**
|
|
17
18
|
* Specifies the maximum file size for the image in bytes.
|
|
18
19
|
*/
|
|
19
|
-
this.maxFileSize =
|
|
20
|
-
/**
|
|
21
|
-
* Specifies the size of the avatar.
|
|
22
|
-
* Acceptable values are: `"small"`, `"medium"`, and `"large"`.
|
|
23
|
-
* @default "large"
|
|
24
|
-
*/
|
|
25
|
-
this.size = 'large';
|
|
20
|
+
this.maxFileSize = MAX_FILE_SIZE_DEFAULT;
|
|
26
21
|
/**
|
|
27
22
|
* Emits a `SkyFileItem` object when the image is updated.
|
|
28
23
|
*/
|
|
29
24
|
this.avatarChanged = new EventEmitter();
|
|
25
|
+
_SkyAvatarComponent__canChange.set(this, false);
|
|
26
|
+
_SkyAvatarComponent__name.set(this, void 0);
|
|
27
|
+
_SkyAvatarComponent__size.set(this, 'large');
|
|
28
|
+
_SkyAvatarComponent__src.set(this, void 0);
|
|
29
|
+
_SkyAvatarComponent_errorService.set(this, void 0);
|
|
30
|
+
_SkyAvatarComponent_fileSizePipe.set(this, void 0);
|
|
31
|
+
_SkyAvatarComponent_resourcesService.set(this, void 0);
|
|
32
|
+
__classPrivateFieldSet(this, _SkyAvatarComponent_errorService, errorService, "f");
|
|
33
|
+
__classPrivateFieldSet(this, _SkyAvatarComponent_fileSizePipe, fileSizePipe, "f");
|
|
34
|
+
__classPrivateFieldSet(this, _SkyAvatarComponent_resourcesService, resourcesService, "f");
|
|
30
35
|
}
|
|
31
36
|
/**
|
|
32
37
|
* Indicates whether users can change the image. To select a different image,
|
|
@@ -36,10 +41,10 @@ export class SkyAvatarComponent {
|
|
|
36
41
|
* @default false
|
|
37
42
|
*/
|
|
38
43
|
set canChange(value) {
|
|
39
|
-
this
|
|
44
|
+
__classPrivateFieldSet(this, _SkyAvatarComponent__canChange, !!value, "f");
|
|
40
45
|
}
|
|
41
46
|
get canChange() {
|
|
42
|
-
return this
|
|
47
|
+
return __classPrivateFieldGet(this, _SkyAvatarComponent__canChange, "f");
|
|
43
48
|
}
|
|
44
49
|
/**
|
|
45
50
|
* Specifies the name of the record that the avatar represents.
|
|
@@ -50,20 +55,31 @@ export class SkyAvatarComponent {
|
|
|
50
55
|
* not required, but the component requires either the `name` or `src` property.
|
|
51
56
|
*/
|
|
52
57
|
set name(value) {
|
|
53
|
-
this
|
|
58
|
+
__classPrivateFieldSet(this, _SkyAvatarComponent__name, value, "f");
|
|
54
59
|
}
|
|
55
60
|
get name() {
|
|
56
|
-
return this
|
|
61
|
+
return __classPrivateFieldGet(this, _SkyAvatarComponent__name, "f");
|
|
57
62
|
}
|
|
58
63
|
/**
|
|
59
64
|
* Specifies an image to display to identify a record. This property is
|
|
60
65
|
* not required, but the component requires either the `name` or `src` property.
|
|
61
66
|
*/
|
|
62
67
|
set src(value) {
|
|
63
|
-
this
|
|
68
|
+
__classPrivateFieldSet(this, _SkyAvatarComponent__src, value, "f");
|
|
64
69
|
}
|
|
65
70
|
get src() {
|
|
66
|
-
return this
|
|
71
|
+
return __classPrivateFieldGet(this, _SkyAvatarComponent__src, "f");
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Specifies the size of the avatar.
|
|
75
|
+
* Acceptable values are: `"small"`, `"medium"`, and `"large"`.
|
|
76
|
+
* @default "large"
|
|
77
|
+
*/
|
|
78
|
+
set size(value) {
|
|
79
|
+
__classPrivateFieldSet(this, _SkyAvatarComponent__size, value ?? 'large', "f");
|
|
80
|
+
}
|
|
81
|
+
get size() {
|
|
82
|
+
return __classPrivateFieldGet(this, _SkyAvatarComponent__size, "f");
|
|
67
83
|
}
|
|
68
84
|
photoDrop(result) {
|
|
69
85
|
/* sanity check */
|
|
@@ -72,38 +88,35 @@ export class SkyAvatarComponent {
|
|
|
72
88
|
this.avatarChanged.emit(result.files[0]);
|
|
73
89
|
}
|
|
74
90
|
else if (result.rejectedFiles && result.rejectedFiles.length > 0) {
|
|
75
|
-
this.
|
|
91
|
+
__classPrivateFieldGet(this, _SkyAvatarComponent_instances, "m", _SkyAvatarComponent_handleError).call(this, result.rejectedFiles);
|
|
76
92
|
}
|
|
77
93
|
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
else if (rejectedFile.errorType === 'fileType') {
|
|
86
|
-
const title = this.getString('skyux_avatar_error_not_image_title');
|
|
87
|
-
const description = this.getString('skyux_avatar_error_not_image_description');
|
|
88
|
-
this.openErrorModal(title, description);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
maxFileSizeText() {
|
|
92
|
-
return this.fileSizePipe.transform(this.maxFileSize);
|
|
93
|
-
}
|
|
94
|
-
openErrorModal(title, description) {
|
|
95
|
-
const config = {
|
|
96
|
-
errorTitle: title,
|
|
97
|
-
errorDescription: description,
|
|
98
|
-
errorCloseText: this.getString('skyux_avatar_errormodal_ok'),
|
|
99
|
-
};
|
|
100
|
-
this.errorService.open(config);
|
|
94
|
+
}
|
|
95
|
+
_SkyAvatarComponent__canChange = new WeakMap(), _SkyAvatarComponent__name = new WeakMap(), _SkyAvatarComponent__size = new WeakMap(), _SkyAvatarComponent__src = new WeakMap(), _SkyAvatarComponent_errorService = new WeakMap(), _SkyAvatarComponent_fileSizePipe = new WeakMap(), _SkyAvatarComponent_resourcesService = new WeakMap(), _SkyAvatarComponent_instances = new WeakSet(), _SkyAvatarComponent_handleError = function _SkyAvatarComponent_handleError(rejectedFiles) {
|
|
96
|
+
const rejectedFile = rejectedFiles[0];
|
|
97
|
+
if (rejectedFile.errorType === 'maxFileSize') {
|
|
98
|
+
const title = __classPrivateFieldGet(this, _SkyAvatarComponent_instances, "m", _SkyAvatarComponent_getString).call(this, 'skyux_avatar_error_too_large_title');
|
|
99
|
+
const description = __classPrivateFieldGet(this, _SkyAvatarComponent_instances, "m", _SkyAvatarComponent_getString).call(this, 'skyux_avatar_error_too_large_description', __classPrivateFieldGet(this, _SkyAvatarComponent_instances, "m", _SkyAvatarComponent_maxFileSizeText).call(this));
|
|
100
|
+
__classPrivateFieldGet(this, _SkyAvatarComponent_instances, "m", _SkyAvatarComponent_openErrorModal).call(this, title, description);
|
|
101
101
|
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
102
|
+
else if (rejectedFile.errorType === 'fileType') {
|
|
103
|
+
const title = __classPrivateFieldGet(this, _SkyAvatarComponent_instances, "m", _SkyAvatarComponent_getString).call(this, 'skyux_avatar_error_not_image_title');
|
|
104
|
+
const description = __classPrivateFieldGet(this, _SkyAvatarComponent_instances, "m", _SkyAvatarComponent_getString).call(this, 'skyux_avatar_error_not_image_description');
|
|
105
|
+
__classPrivateFieldGet(this, _SkyAvatarComponent_instances, "m", _SkyAvatarComponent_openErrorModal).call(this, title, description);
|
|
105
106
|
}
|
|
106
|
-
}
|
|
107
|
+
}, _SkyAvatarComponent_maxFileSizeText = function _SkyAvatarComponent_maxFileSizeText() {
|
|
108
|
+
return __classPrivateFieldGet(this, _SkyAvatarComponent_fileSizePipe, "f").transform(this.maxFileSize);
|
|
109
|
+
}, _SkyAvatarComponent_openErrorModal = function _SkyAvatarComponent_openErrorModal(title, description) {
|
|
110
|
+
const config = {
|
|
111
|
+
errorTitle: title,
|
|
112
|
+
errorDescription: description,
|
|
113
|
+
errorCloseText: __classPrivateFieldGet(this, _SkyAvatarComponent_instances, "m", _SkyAvatarComponent_getString).call(this, 'skyux_avatar_errormodal_ok'),
|
|
114
|
+
};
|
|
115
|
+
__classPrivateFieldGet(this, _SkyAvatarComponent_errorService, "f").open(config);
|
|
116
|
+
}, _SkyAvatarComponent_getString = function _SkyAvatarComponent_getString(key, ...args) {
|
|
117
|
+
// TODO: Need to implement the async `getString` method in a breaking change.
|
|
118
|
+
return __classPrivateFieldGet(this, _SkyAvatarComponent_resourcesService, "f").getStringForLocale({ locale: 'en-US' }, key, ...args);
|
|
119
|
+
};
|
|
107
120
|
SkyAvatarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyAvatarComponent, deps: [{ token: i1.SkyErrorModalService }, { token: i2.SkyFileSizePipe }, { token: i3.SkyLibResourcesService }], target: i0.ɵɵFactoryTarget.Component });
|
|
108
121
|
SkyAvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyAvatarComponent, selector: "sky-avatar", inputs: { canChange: "canChange", name: "name", src: "src", maxFileSize: "maxFileSize", size: "size" }, outputs: { avatarChanged: "avatarChanged" }, ngImport: i0, template: "<div class=\"sky-avatar\">\n <div *ngIf=\"canChange\">\n <div class=\"sky-avatar-file-drop\">\n <sky-file-drop\n [acceptedTypes]=\"'image/*'\"\n [fileUploadAriaLabel]=\"\n src\n ? ('skyux_avatar_upload_change_aria_label' | skyLibResources: name)\n : ('skyux_avatar_upload_new_aria_label' | skyLibResources: name)\n \"\n [multiple]=\"false\"\n [maxFileSize]=\"maxFileSize\"\n [multiple]=\"false\"\n (filesChanged)=\"photoDrop($event)\"\n >\n <ng-container *ngTemplateOutlet=\"innerTemplate\"></ng-container>\n </sky-file-drop>\n </div>\n </div>\n <div *ngIf=\"!canChange\">\n <ng-container *ngTemplateOutlet=\"innerTemplate\"></ng-container>\n </div>\n</div>\n\n<ng-template #innerTemplate>\n <sky-avatar-inner [name]=\"name\" [size]=\"size\" [src]=\"src\"></sky-avatar-inner>\n</ng-template>\n", styles: [".sky-avatar .sky-file-drop-col{flex-basis:initial}.sky-theme-modern .sky-file-drop:focus{outline:none}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.λ8, selector: "sky-file-drop", inputs: ["fileUploadAriaLabel", "linkUploadAriaLabel", "minFileSize", "maxFileSize", "multiple", "validateFn", "acceptedTypes", "noClick", "allowLinks"], outputs: ["filesChanged", "linkInputBlur", "linkChanged"] }, { kind: "component", type: i5.SkyAvatarInnerComponent, selector: "sky-avatar-inner", inputs: ["src", "name", "size"] }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }], encapsulation: i0.ViewEncapsulation.None });
|
|
109
122
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyAvatarComponent, decorators: [{
|
|
@@ -122,4 +135,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
122
135
|
}], avatarChanged: [{
|
|
123
136
|
type: Output
|
|
124
137
|
}] } });
|
|
125
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9hdmF0YXIvc3JjL2xpYi9tb2R1bGVzL2F2YXRhci9hdmF0YXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2F2YXRhci9zcmMvbGliL21vZHVsZXMvYXZhdGFyL2F2YXRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQW9CLG9CQUFvQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBa0MsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7OztBQVdyRCxNQUFNLE9BQU8sa0JBQWtCO0lBeUU3QixZQUNVLFlBQWtDLEVBQ2xDLFlBQTZCLEVBQzdCLGdCQUF3QztRQUZ4QyxpQkFBWSxHQUFaLFlBQVksQ0FBc0I7UUFDbEMsaUJBQVksR0FBWixZQUFZLENBQWlCO1FBQzdCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBd0I7UUE3QmxEOztXQUVHO1FBRUksZ0JBQVcsR0FBRyxNQUFNLENBQUM7UUFFNUI7Ozs7V0FJRztRQUVJLFNBQUksR0FBa0IsT0FBTyxDQUFDO1FBRXJDOztXQUVHO1FBRUksa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBZSxDQUFDO0lBWXBELENBQUM7SUE1RUo7Ozs7OztPQU1HO0lBQ0gsSUFDVyxTQUFTLENBQUMsS0FBYztRQUNqQyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBVyxTQUFTO1FBQ2xCLE9B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QURkLEtBQUs7Z0JBY0ssR0FBRztzQkFEYixLQUFLO2dCQWFDLFdBQVc7c0JBRGpCLEtBQUs7Z0JBU0MsSUFBSTtzQkFEVixLQUFLO2dCQU9DLGFBQWE7c0JBRG5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRXJyb3JNb2RhbENvbmZpZywgU2t5RXJyb3JNb2RhbFNlcnZpY2UgfSBmcm9tICdAc2t5dXgvZXJyb3JzJztcbmltcG9ydCB7IFNreUZpbGVEcm9wQ2hhbmdlLCBTa3lGaWxlSXRlbSwgU2t5RmlsZVNpemVQaXBlIH0gZnJvbSAnQHNreXV4L2Zvcm1zJztcbmltcG9ydCB7IFNreUxpYlJlc291cmNlc1NlcnZpY2UgfSBmcm9tICdAc2t5dXgvaTE4bic7XG5cbmltcG9ydCB7IFNreUF2YXRhclNpemUgfSBmcm9tICcuL2F2YXRhci1zaXplJztcbmltcG9ydCB7IFNreUF2YXRhclNyYyB9IGZyb20gJy4vYXZhdGFyLXNyYyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1hdmF0YXInLFxuICB0ZW1wbGF0ZVVybDogJy4vYXZhdGFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXZhdGFyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIFNreUF2YXRhckNvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB1c2VycyBjYW4gY2hhbmdlIHRoZSBpbWFnZS4gVG8gc2VsZWN0IGEgZGlmZmVyZW50IGltYWdlLFxuICAgKiB1c2VycyBjbGljayB0aGUgaW1hZ2Ugb3IgZHJhZyBhbm90aGVyIGltYWdlIG9uIHRvcCBvZiBpdCxcbiAgICogbXVjaCBsaWtlIHRoZSBgc2t5LWZpbGUtZHJvcGAgY29tcG9uZW50IGluIHRoZVxuICAgKiBbZmlsZSBhdHRhY2htZW50IG1vZHVsZV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL2ZpbGUtYXR0YWNobWVudHMvZmlsZS1hdHRhY2htZW50KS5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgY2FuQ2hhbmdlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fY2FuQ2hhbmdlID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNhbkNoYW5nZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fY2FuQ2hhbmdlO1xuICB9XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgbmFtZSBvZiB0aGUgcmVjb3JkIHRoYXQgdGhlIGF2YXRhciByZXByZXNlbnRzLlxuICAgKiBJZiB0aGUgYHNyY2AgcHJvcGVydHkgZG9lcyBub3Qgc3BlY2lmeSBhbiBpbWFnZSwgdGhlIGNvbXBvbmVudCBkaXNwbGF5c1xuICAgKiBpbml0aWFscyBmcm9tIHRoZSBmaXJzdCBhbmQgbGFzdCB3b3JkcyBpbiB0aGUgbmFtZS4gVG8gZW5zdXJlXG4gICAqIHRoYXQgdGhlIGNvbXBvbmVudCBleHRyYWN0cyB0aGUgY29ycmVjdCBpbml0aWFscywgc3BlY2lmeSBhIG5hbWUgd2l0aCBubyBwcmVmaXhcbiAgICogb3Igc3VmZml4LCBvciBqdXN0IHNwZWNpZnkgaW5pdGlhbHMgd2l0aCBhIHNwYWNlIGJldHdlZW4gdGhlbS4gVGhpcyBwcm9wZXJ0eSBpc1xuICAgKiBub3QgcmVxdWlyZWQsIGJ1dCB0aGUgY29tcG9uZW50IHJlcXVpcmVzIGVpdGhlciB0aGUgYG5hbWVgIG9yIGBzcmNgIHByb3BlcnR5LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBuYW1lKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9uYW1lID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fbmFtZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgYW4gaW1hZ2UgdG8gZGlzcGxheSB0byBpZGVudGlmeSBhIHJlY29yZC4gVGhpcyBwcm9wZXJ0eSBpc1xuICAgKiBub3QgcmVxdWlyZWQsIGJ1dCB0aGUgY29tcG9uZW50IHJlcXVpcmVzIGVpdGhlciB0aGUgYG5hbWVgIG9yIGBzcmNgIHByb3BlcnR5LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzcmModmFsdWU6IFNreUF2YXRhclNyYykge1xuICAgIHRoaXMuX3NyYyA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBzcmMoKTogU2t5QXZhdGFyU3JjIHtcbiAgICByZXR1cm4gdGhpcy5fc3JjO1xuICB9XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgbWF4aW11bSBmaWxlIHNpemUgZm9yIHRoZSBpbWFnZSBpbiBieXRlcy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtYXhGaWxlU2l6ZSA9IDUwMDAwMDtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBzaXplIG9mIHRoZSBhdmF0YXIuXG4gICAqIEFjY2VwdGFibGUgdmFsdWVzIGFyZTogYFwic21hbGxcImAsIGBcIm1lZGl1bVwiYCwgYW5kIGBcImxhcmdlXCJgLlxuICAgKiBAZGVmYXVsdCBcImxhcmdlXCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzaXplOiBTa3lBdmF0YXJTaXplID0gJ2xhcmdlJztcblxuICAvKipcbiAgICogRW1pdHMgYSBgU2t5RmlsZUl0ZW1gIG9iamVjdCB3aGVuIHRoZSBpbWFnZSBpcyB1cGRhdGVkLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBhdmF0YXJDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxTa3lGaWxlSXRlbT4oKTtcblxuICBwcml2YXRlIF9jYW5DaGFuZ2U6IGJvb2xlYW47XG5cbiAgcHJpdmF0ZSBfbmFtZTogc3RyaW5nO1xuXG4gIHByaXZhdGUgX3NyYzogU2t5QXZhdGFyU3JjO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZXJyb3JTZXJ2aWNlOiBTa3lFcnJvck1vZGFsU2VydmljZSxcbiAgICBwcml2YXRlIGZpbGVTaXplUGlwZTogU2t5RmlsZVNpemVQaXBlLFxuICAgIHByaXZhdGUgcmVzb3VyY2VzU2VydmljZTogU2t5TGliUmVzb3VyY2VzU2VydmljZVxuICApIHt9XG5cbiAgcHVibGljIHBob3RvRHJvcChyZXN1bHQ6IFNreUZpbGVEcm9wQ2hhbmdlKTogdm9pZCB7XG4gICAgLyogc2FuaXR5IGNoZWNrICovXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAocmVzdWx0LmZpbGVzICYmIHJlc3VsdC5maWxlcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmF2YXRhckNoYW5nZWQuZW1pdChyZXN1bHQuZmlsZXNbMF0pO1xuICAgIH0gZWxzZSBpZiAocmVzdWx0LnJlamVjdGVkRmlsZXMgJiYgcmVzdWx0LnJlamVjdGVkRmlsZXMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5oYW5kbGVFcnJvcihyZXN1bHQucmVqZWN0ZWRGaWxlcyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVFcnJvcihyZWplY3RlZEZpbGVzOiBBcnJheTxTa3lGaWxlSXRlbT4pOiB2b2lkIHtcbiAgICBjb25zdCByZWplY3RlZEZpbGUgPSByZWplY3RlZEZpbGVzWzBdO1xuXG4gICAgaWYgKHJlamVjdGVkRmlsZS5lcnJvclR5cGUgPT09ICdtYXhGaWxlU2l6ZScpIHtcbiAgICAgIGNvbnN0IHRpdGxlID0gdGhpcy5nZXRTdHJpbmcoJ3NreXV4X2F2YXRhcl9lcnJvcl90b29fbGFyZ2VfdGl0bGUnKTtcbiAgICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gdGhpcy5nZXRTdHJpbmcoXG4gICAgICAgICdza3l1eF9hdmF0YXJfZXJyb3JfdG9vX2xhcmdlX2Rlc2NyaXB0aW9uJyxcbiAgICAgICAgdGhpcy5tYXhGaWxlU2l6ZVRleHQoKVxuICAgICAgKTtcblxuICAgICAgdGhpcy5vcGVuRXJyb3JNb2RhbCh0aXRsZSwgZGVzY3JpcHRpb24pO1xuICAgIH0gZWxzZSBpZiAocmVqZWN0ZWRGaWxlLmVycm9yVHlwZSA9PT0gJ2ZpbGVUeXBlJykge1xuICAgICAgY29uc3QgdGl0bGUgPSB0aGlzLmdldFN0cmluZygnc2t5dXhfYXZhdGFyX2Vycm9yX25vdF9pbWFnZV90aXRsZScpO1xuICAgICAgY29uc3QgZGVzY3JpcHRpb24gPSB0aGlzLmdldFN0cmluZyhcbiAgICAgICAgJ3NreXV4X2F2YXRhcl9lcnJvcl9ub3RfaW1hZ2VfZGVzY3JpcHRpb24nXG4gICAgICApO1xuXG4gICAgICB0aGlzLm9wZW5FcnJvck1vZGFsKHRpdGxlLCBkZXNjcmlwdGlvbik7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBtYXhGaWxlU2l6ZVRleHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5maWxlU2l6ZVBpcGUudHJhbnNmb3JtKHRoaXMubWF4RmlsZVNpemUpO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuRXJyb3JNb2RhbCh0aXRsZTogc3RyaW5nLCBkZXNjcmlwdGlvbjogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgY29uZmlnOiBFcnJvck1vZGFsQ29uZmlnID0ge1xuICAgICAgZXJyb3JUaXRsZTogdGl0bGUsXG4gICAgICBlcnJvckRlc2NyaXB0aW9uOiBkZXNjcmlwdGlvbixcbiAgICAgIGVycm9yQ2xvc2VUZXh0OiB0aGlzLmdldFN0cmluZygnc2t5dXhfYXZhdGFyX2Vycm9ybW9kYWxfb2snKSxcbiAgICB9O1xuXG4gICAgdGhpcy5lcnJvclNlcnZpY2Uub3Blbihjb25maWcpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTdHJpbmcoa2V5OiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKTogc3RyaW5nIHtcbiAgICAvLyBUT0RPOiBOZWVkIHRvIGltcGxlbWVudCB0aGUgYXN5bmMgYGdldFN0cmluZ2AgbWV0aG9kIGluIGEgYnJlYWtpbmcgY2hhbmdlLlxuICAgIHJldHVybiB0aGlzLnJlc291cmNlc1NlcnZpY2UuZ2V0U3RyaW5nRm9yTG9jYWxlKFxuICAgICAgeyBsb2NhbGU6ICdlbi1VUycgfSxcbiAgICAgIGtleSxcbiAgICAgIC4uLmFyZ3NcbiAgICApO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2t5LWF2YXRhclwiPlxuICA8ZGl2ICpuZ0lmPVwiY2FuQ2hhbmdlXCI+XG4gICAgPGRpdiBjbGFzcz1cInNreS1hdmF0YXItZmlsZS1kcm9wXCI+XG4gICAgICA8c2t5LWZpbGUtZHJvcFxuICAgICAgICBbYWNjZXB0ZWRUeXBlc109XCInaW1hZ2UvKidcIlxuICAgICAgICBbZmlsZVVwbG9hZEFyaWFMYWJlbF09XCJcbiAgICAgICAgICBzcmNcbiAgICAgICAgICAgID8gKCdza3l1eF9hdmF0YXJfdXBsb2FkX2NoYW5nZV9hcmlhX2xhYmVsJyB8IHNreUxpYlJlc291cmNlczogbmFtZSlcbiAgICAgICAgICAgIDogKCdza3l1eF9hdmF0YXJfdXBsb2FkX25ld19hcmlhX2xhYmVsJyB8IHNreUxpYlJlc291cmNlczogbmFtZSlcbiAgICAgICAgXCJcbiAgICAgICAgW211bHRpcGxlXT1cImZhbHNlXCJcbiAgICAgICAgW21heEZpbGVTaXplXT1cIm1heEZpbGVTaXplXCJcbiAgICAgICAgW211bHRpcGxlXT1cImZhbHNlXCJcbiAgICAgICAgKGZpbGVzQ2hhbmdlZCk9XCJwaG90b0Ryb3AoJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpbm5lclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L3NreS1maWxlLWRyb3A+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwiIWNhbkNoYW5nZVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpbm5lclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjaW5uZXJUZW1wbGF0ZT5cbiAgPHNreS1hdmF0YXItaW5uZXIgW25hbWVdPVwibmFtZVwiIFtzaXplXT1cInNpemVcIiBbc3JjXT1cInNyY1wiPjwvc2t5LWF2YXRhci1pbm5lcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
138
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9hdmF0YXIvc3JjL2xpYi9tb2R1bGVzL2F2YXRhci9hdmF0YXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2F2YXRhci9zcmMvbGliL21vZHVsZXMvYXZhdGFyL2F2YXRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBb0Isb0JBQW9CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFrQyxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDL0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sYUFBYSxDQUFDOzs7Ozs7O0FBS3JELE1BQU0scUJBQXFCLEdBQUcsTUFBTSxDQUFDO0FBUXJDLE1BQU0sT0FBTyxrQkFBa0I7SUFxRjdCLFlBQ0UsWUFBa0MsRUFDbEMsWUFBNkIsRUFDN0IsZ0JBQXdDOztRQXpDMUM7O1dBRUc7UUFFSSxnQkFBVyxHQUF1QixxQkFBcUIsQ0FBQztRQWdCL0Q7O1dBRUc7UUFFSSxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFlLENBQUM7UUFFdkQseUNBQWMsS0FBSyxFQUFDO1FBRXBCLDRDQUEyQjtRQUUzQixvQ0FBd0IsT0FBTyxFQUFDO1FBRWhDLDJDQUFnQztRQUVoQyxtREFBb0M7UUFDcEMsbURBQStCO1FBQy9CLHVEQUEwQztRQU94Qyx1QkFBQSxJQUFJLG9DQUFpQixZQUFZLE1BQUEsQ0FBQztRQUNsQyx1QkFBQSxJQUFJLG9DQUFpQixZQUFZLE1BQUEsQ0FBQztRQUNsQyx1QkFBQSxJQUFJLHdDQUFx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LG9FQUFXLE1BQWYsSUFBSSxFQUFZLDRCQUE0QixDQUFDO0tBQzlELENBQUM7SUFFRix1QkFBQSxJQUFJLHdDQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ2xDLENBQUMseUVBRVUsR0FBVyxFQUFFLEdBQUcsSUFBVztJQUNwQyw2RUFBNkU7SUFDN0UsT0FBTyx1QkFBQSxJQUFJLDRDQUFrQixDQUFDLGtCQUFrQixDQUM5QyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFDbkIsR0FBRyxFQUNILEdBQUcsSUFBSSxDQUNSLENBQUM7QUFDSixDQUFDOytHQW5KVSxrQkFBa0I7bUdBQWxCLGtCQUFrQix1TUN0Qi9CLCs0QkEyQkE7MkZETGEsa0JBQWtCO2tCQU45QixTQUFTOytCQUNFLFlBQVksaUJBR1AsaUJBQWlCLENBQUMsSUFBSTs4S0FXMUIsU0FBUztzQkFEbkIsS0FBSztnQkFrQkssSUFBSTtzQkFEZCxLQUFLO2dCQWNLLEdBQUc7c0JBRGIsS0FBSztnQkFhQyxXQUFXO3NCQURqQixLQUFLO2dCQVNLLElBQUk7c0JBRGQsS0FBSztnQkFhQyxhQUFhO3NCQURuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVycm9yTW9kYWxDb25maWcsIFNreUVycm9yTW9kYWxTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2Vycm9ycyc7XG5pbXBvcnQgeyBTa3lGaWxlRHJvcENoYW5nZSwgU2t5RmlsZUl0ZW0sIFNreUZpbGVTaXplUGlwZSB9IGZyb20gJ0Bza3l1eC9mb3Jtcyc7XG5pbXBvcnQgeyBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2kxOG4nO1xuXG5pbXBvcnQgeyBTa3lBdmF0YXJTaXplIH0gZnJvbSAnLi9hdmF0YXItc2l6ZSc7XG5pbXBvcnQgeyBTa3lBdmF0YXJTcmMgfSBmcm9tICcuL2F2YXRhci1zcmMnO1xuXG5jb25zdCBNQVhfRklMRV9TSVpFX0RFRkFVTFQgPSA1MDAwMDA7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1hdmF0YXInLFxuICB0ZW1wbGF0ZVVybDogJy4vYXZhdGFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXZhdGFyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIFNreUF2YXRhckNvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB1c2VycyBjYW4gY2hhbmdlIHRoZSBpbWFnZS4gVG8gc2VsZWN0IGEgZGlmZmVyZW50IGltYWdlLFxuICAgKiB1c2VycyBjbGljayB0aGUgaW1hZ2Ugb3IgZHJhZyBhbm90aGVyIGltYWdlIG9uIHRvcCBvZiBpdCxcbiAgICogbXVjaCBsaWtlIHRoZSBgc2t5LWZpbGUtZHJvcGAgY29tcG9uZW50IGluIHRoZVxuICAgKiBbZmlsZSBhdHRhY2htZW50IG1vZHVsZV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL2ZpbGUtYXR0YWNobWVudHMvZmlsZS1hdHRhY2htZW50KS5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgY2FuQ2hhbmdlKHZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2NhbkNoYW5nZSA9ICEhdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNhbkNoYW5nZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4jX2NhbkNoYW5nZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIG5hbWUgb2YgdGhlIHJlY29yZCB0aGF0IHRoZSBhdmF0YXIgcmVwcmVzZW50cy5cbiAgICogSWYgdGhlIGBzcmNgIHByb3BlcnR5IGRvZXMgbm90IHNwZWNpZnkgYW4gaW1hZ2UsIHRoZSBjb21wb25lbnQgZGlzcGxheXNcbiAgICogaW5pdGlhbHMgZnJvbSB0aGUgZmlyc3QgYW5kIGxhc3Qgd29yZHMgaW4gdGhlIG5hbWUuIFRvIGVuc3VyZVxuICAgKiB0aGF0IHRoZSBjb21wb25lbnQgZXh0cmFjdHMgdGhlIGNvcnJlY3QgaW5pdGlhbHMsIHNwZWNpZnkgYSBuYW1lIHdpdGggbm8gcHJlZml4XG4gICAqIG9yIHN1ZmZpeCwgb3IganVzdCBzcGVjaWZ5IGluaXRpYWxzIHdpdGggYSBzcGFjZSBiZXR3ZWVuIHRoZW0uIFRoaXMgcHJvcGVydHkgaXNcbiAgICogbm90IHJlcXVpcmVkLCBidXQgdGhlIGNvbXBvbmVudCByZXF1aXJlcyBlaXRoZXIgdGhlIGBuYW1lYCBvciBgc3JjYCBwcm9wZXJ0eS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgbmFtZSh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX25hbWUgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbmFtZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfbmFtZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgYW4gaW1hZ2UgdG8gZGlzcGxheSB0byBpZGVudGlmeSBhIHJlY29yZC4gVGhpcyBwcm9wZXJ0eSBpc1xuICAgKiBub3QgcmVxdWlyZWQsIGJ1dCB0aGUgY29tcG9uZW50IHJlcXVpcmVzIGVpdGhlciB0aGUgYG5hbWVgIG9yIGBzcmNgIHByb3BlcnR5LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzcmModmFsdWU6IFNreUF2YXRhclNyYyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19zcmMgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3JjKCk6IFNreUF2YXRhclNyYyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI19zcmM7XG4gIH1cblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBtYXhpbXVtIGZpbGUgc2l6ZSBmb3IgdGhlIGltYWdlIGluIGJ5dGVzLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIG1heEZpbGVTaXplOiBudW1iZXIgfCB1bmRlZmluZWQgPSBNQVhfRklMRV9TSVpFX0RFRkFVTFQ7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgc2l6ZSBvZiB0aGUgYXZhdGFyLlxuICAgKiBBY2NlcHRhYmxlIHZhbHVlcyBhcmU6IGBcInNtYWxsXCJgLCBgXCJtZWRpdW1cImAsIGFuZCBgXCJsYXJnZVwiYC5cbiAgICogQGRlZmF1bHQgXCJsYXJnZVwiXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNpemUodmFsdWU6IFNreUF2YXRhclNpemUgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfc2l6ZSA9IHZhbHVlID8/ICdsYXJnZSc7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNpemUoKTogU2t5QXZhdGFyU2l6ZSB7XG4gICAgcmV0dXJuIHRoaXMuI19zaXplO1xuICB9XG5cbiAgLyoqXG4gICAqIEVtaXRzIGEgYFNreUZpbGVJdGVtYCBvYmplY3Qgd2hlbiB0aGUgaW1hZ2UgaXMgdXBkYXRlZC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgYXZhdGFyQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8U2t5RmlsZUl0ZW0+KCk7XG5cbiAgI19jYW5DaGFuZ2UgPSBmYWxzZTtcblxuICAjX25hbWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAjX3NpemU6IFNreUF2YXRhclNpemUgPSAnbGFyZ2UnO1xuXG4gICNfc3JjOiBTa3lBdmF0YXJTcmMgfCB1bmRlZmluZWQ7XG5cbiAgI2Vycm9yU2VydmljZTogU2t5RXJyb3JNb2RhbFNlcnZpY2U7XG4gICNmaWxlU2l6ZVBpcGU6IFNreUZpbGVTaXplUGlwZTtcbiAgI3Jlc291cmNlc1NlcnZpY2U6IFNreUxpYlJlc291cmNlc1NlcnZpY2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgZXJyb3JTZXJ2aWNlOiBTa3lFcnJvck1vZGFsU2VydmljZSxcbiAgICBmaWxlU2l6ZVBpcGU6IFNreUZpbGVTaXplUGlwZSxcbiAgICByZXNvdXJjZXNTZXJ2aWNlOiBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuI2Vycm9yU2VydmljZSA9IGVycm9yU2VydmljZTtcbiAgICB0aGlzLiNmaWxlU2l6ZVBpcGUgPSBmaWxlU2l6ZVBpcGU7XG4gICAgdGhpcy4jcmVzb3VyY2VzU2VydmljZSA9IHJlc291cmNlc1NlcnZpY2U7XG4gIH1cblxuICBwdWJsaWMgcGhvdG9Ecm9wKHJlc3VsdDogU2t5RmlsZURyb3BDaGFuZ2UpOiB2b2lkIHtcbiAgICAvKiBzYW5pdHkgY2hlY2sgKi9cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChyZXN1bHQuZmlsZXMgJiYgcmVzdWx0LmZpbGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuYXZhdGFyQ2hhbmdlZC5lbWl0KHJlc3VsdC5maWxlc1swXSk7XG4gICAgfSBlbHNlIGlmIChyZXN1bHQucmVqZWN0ZWRGaWxlcyAmJiByZXN1bHQucmVqZWN0ZWRGaWxlcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLiNoYW5kbGVFcnJvcihyZXN1bHQucmVqZWN0ZWRGaWxlcyk7XG4gICAgfVxuICB9XG5cbiAgI2hhbmRsZUVycm9yKHJlamVjdGVkRmlsZXM6IEFycmF5PFNreUZpbGVJdGVtPik6IHZvaWQge1xuICAgIGNvbnN0IHJlamVjdGVkRmlsZSA9IHJlamVjdGVkRmlsZXNbMF07XG5cbiAgICBpZiAocmVqZWN0ZWRGaWxlLmVycm9yVHlwZSA9PT0gJ21heEZpbGVTaXplJykge1xuICAgICAgY29uc3QgdGl0bGUgPSB0aGlzLiNnZXRTdHJpbmcoJ3NreXV4X2F2YXRhcl9lcnJvcl90b29fbGFyZ2VfdGl0bGUnKTtcbiAgICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gdGhpcy4jZ2V0U3RyaW5nKFxuICAgICAgICAnc2t5dXhfYXZhdGFyX2Vycm9yX3Rvb19sYXJnZV9kZXNjcmlwdGlvbicsXG4gICAgICAgIHRoaXMuI21heEZpbGVTaXplVGV4dCgpXG4gICAgICApO1xuXG4gICAgICB0aGlzLiNvcGVuRXJyb3JNb2RhbCh0aXRsZSwgZGVzY3JpcHRpb24pO1xuICAgIH0gZWxzZSBpZiAocmVqZWN0ZWRGaWxlLmVycm9yVHlwZSA9PT0gJ2ZpbGVUeXBlJykge1xuICAgICAgY29uc3QgdGl0bGUgPSB0aGlzLiNnZXRTdHJpbmcoJ3NreXV4X2F2YXRhcl9lcnJvcl9ub3RfaW1hZ2VfdGl0bGUnKTtcbiAgICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gdGhpcy4jZ2V0U3RyaW5nKFxuICAgICAgICAnc2t5dXhfYXZhdGFyX2Vycm9yX25vdF9pbWFnZV9kZXNjcmlwdGlvbidcbiAgICAgICk7XG5cbiAgICAgIHRoaXMuI29wZW5FcnJvck1vZGFsKHRpdGxlLCBkZXNjcmlwdGlvbik7XG4gICAgfVxuICB9XG5cbiAgI21heEZpbGVTaXplVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLiNmaWxlU2l6ZVBpcGUudHJhbnNmb3JtKHRoaXMubWF4RmlsZVNpemUpO1xuICB9XG5cbiAgI29wZW5FcnJvck1vZGFsKHRpdGxlOiBzdHJpbmcsIGRlc2NyaXB0aW9uOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBjb25maWc6IEVycm9yTW9kYWxDb25maWcgPSB7XG4gICAgICBlcnJvclRpdGxlOiB0aXRsZSxcbiAgICAgIGVycm9yRGVzY3JpcHRpb246IGRlc2NyaXB0aW9uLFxuICAgICAgZXJyb3JDbG9zZVRleHQ6IHRoaXMuI2dldFN0cmluZygnc2t5dXhfYXZhdGFyX2Vycm9ybW9kYWxfb2snKSxcbiAgICB9O1xuXG4gICAgdGhpcy4jZXJyb3JTZXJ2aWNlLm9wZW4oY29uZmlnKTtcbiAgfVxuXG4gICNnZXRTdHJpbmcoa2V5OiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKTogc3RyaW5nIHtcbiAgICAvLyBUT0RPOiBOZWVkIHRvIGltcGxlbWVudCB0aGUgYXN5bmMgYGdldFN0cmluZ2AgbWV0aG9kIGluIGEgYnJlYWtpbmcgY2hhbmdlLlxuICAgIHJldHVybiB0aGlzLiNyZXNvdXJjZXNTZXJ2aWNlLmdldFN0cmluZ0ZvckxvY2FsZShcbiAgICAgIHsgbG9jYWxlOiAnZW4tVVMnIH0sXG4gICAgICBrZXksXG4gICAgICAuLi5hcmdzXG4gICAgKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInNreS1hdmF0YXJcIj5cbiAgPGRpdiAqbmdJZj1cImNhbkNoYW5nZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJza3ktYXZhdGFyLWZpbGUtZHJvcFwiPlxuICAgICAgPHNreS1maWxlLWRyb3BcbiAgICAgICAgW2FjY2VwdGVkVHlwZXNdPVwiJ2ltYWdlLyonXCJcbiAgICAgICAgW2ZpbGVVcGxvYWRBcmlhTGFiZWxdPVwiXG4gICAgICAgICAgc3JjXG4gICAgICAgICAgICA/ICgnc2t5dXhfYXZhdGFyX3VwbG9hZF9jaGFuZ2VfYXJpYV9sYWJlbCcgfCBza3lMaWJSZXNvdXJjZXM6IG5hbWUpXG4gICAgICAgICAgICA6ICgnc2t5dXhfYXZhdGFyX3VwbG9hZF9uZXdfYXJpYV9sYWJlbCcgfCBza3lMaWJSZXNvdXJjZXM6IG5hbWUpXG4gICAgICAgIFwiXG4gICAgICAgIFttdWx0aXBsZV09XCJmYWxzZVwiXG4gICAgICAgIFttYXhGaWxlU2l6ZV09XCJtYXhGaWxlU2l6ZVwiXG4gICAgICAgIFttdWx0aXBsZV09XCJmYWxzZVwiXG4gICAgICAgIChmaWxlc0NoYW5nZWQpPVwicGhvdG9Ecm9wKCRldmVudClcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaW5uZXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9za3ktZmlsZS1kcm9wPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cIiFjYW5DaGFuZ2VcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaW5uZXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2lubmVyVGVtcGxhdGU+XG4gIDxza3ktYXZhdGFyLWlubmVyIFtuYW1lXT1cIm5hbWVcIiBbc2l6ZV09XCJzaXplXCIgW3NyY109XCJzcmNcIj48L3NreS1hdmF0YXItaW5uZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
|