monkey-style-guide 2.0.117 → 2.0.121
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/README.md +1 -1
- package/assets/icons/auction.svg +7 -7
- package/assets/icons/radio.svg +4 -4
- package/assets/icons/trophy.svg +8 -8
- package/assets/icons/waiting.svg +17 -17
- package/assets/scss/partials/_breakpoints.scss +35 -35
- package/assets/scss/partials/components/_badge.scss +55 -55
- package/assets/scss/partials/components/_expansion.scss +5 -0
- package/assets/scss/partials/components/_modal.scss +282 -282
- package/assets/scss/partials/components/_tab.scss +82 -82
- package/assets/scss/partials/components/_table.scss +5 -0
- package/assets/scss/partials/components/_toggle.scss +103 -103
- package/esm2020/lib/components/badge/badge.module.mjs +1 -1
- package/esm2020/lib/components/badge/index.mjs +1 -1
- package/esm2020/lib/components/date-range-picker/date-range-picker.component.mjs +27 -14
- package/esm2020/lib/components/expansion/expansion.component.mjs +5 -5
- package/esm2020/lib/components/expansion/expansion.module.mjs +1 -1
- package/esm2020/lib/components/expansion/index.mjs +1 -1
- package/esm2020/lib/components/icon/icon-auction.component.mjs +3 -3
- package/esm2020/lib/components/icon/icon-radio.component.mjs +3 -3
- package/esm2020/lib/components/icon/icon-trophy.component.mjs +3 -3
- package/esm2020/lib/components/icon/icon-waiting.component.mjs +3 -3
- package/esm2020/lib/components/tab/index.mjs +1 -1
- package/esm2020/lib/components/tab/tab.component.mjs +9 -9
- package/esm2020/lib/components/tab/tab.module.mjs +1 -1
- package/esm2020/lib/components/toggle/index.mjs +1 -1
- package/esm2020/lib/components/toggle/toggle.module.mjs +1 -1
- package/esm2020/lib/core/interfaces/index.mjs +1 -1
- package/esm2020/lib/core/interfaces/monkey-modal-settings.mjs +1 -1
- package/esm2020/lib/core/services/modal/index.mjs +1 -1
- package/esm2020/lib/core/services/modal/monkey-style-guide-modal-fixed.service.mjs +1 -1
- package/esm2020/lib/core/services/modal/monkey-style-guide-modal.service.mjs +1 -1
- package/fesm2015/monkey-style-guide.mjs +45 -32
- package/fesm2015/monkey-style-guide.mjs.map +1 -1
- package/fesm2020/monkey-style-guide.mjs +45 -32
- package/fesm2020/monkey-style-guide.mjs.map +1 -1
- package/lib/components/date-range-picker/date-range-picker.component.d.ts +4 -2
- package/monkey-style-guide-2.0.121.tgz +0 -0
- package/package.json +1 -1
- package/monkey-style-guide-2.0.117.tgz +0 -0
|
@@ -1,82 +1,82 @@
|
|
|
1
|
-
/**************************
|
|
2
|
-
* Copyright Monkey Exchange. All Rights Reserved
|
|
3
|
-
* This style guide was developed by Monkey Exchange Team
|
|
4
|
-
* MIT Licence
|
|
5
|
-
**************************/
|
|
6
|
-
@import '../variables.scss';
|
|
7
|
-
|
|
8
|
-
.mecx-tab {
|
|
9
|
-
width: 100%;
|
|
10
|
-
background-color: inherit;
|
|
11
|
-
padding: 0 8px;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
monkey-tab {
|
|
15
|
-
@extend .mecx-tab;
|
|
16
|
-
|
|
17
|
-
mecx-tab-body {
|
|
18
|
-
display: flex;
|
|
19
|
-
justify-content: center;
|
|
20
|
-
align-items: center;
|
|
21
|
-
width: 100%;
|
|
22
|
-
|
|
23
|
-
&.horizontal {
|
|
24
|
-
display: flex;
|
|
25
|
-
flex-direction: row !important;
|
|
26
|
-
justify-content: center;
|
|
27
|
-
align-items: center;
|
|
28
|
-
align-self: center;
|
|
29
|
-
align-content: center;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
&.vertical {
|
|
33
|
-
display: flex;
|
|
34
|
-
flex-direction: column !important;
|
|
35
|
-
justify-content: center;
|
|
36
|
-
align-items: center;
|
|
37
|
-
align-self: center;
|
|
38
|
-
align-content: center;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
monkey-option {
|
|
42
|
-
width: 100%;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
.mecx-option {
|
|
46
|
-
position: relative;
|
|
47
|
-
display: block;
|
|
48
|
-
padding: 0 8px 0 8px;
|
|
49
|
-
font-size: 14px;
|
|
50
|
-
line-height: 60px;
|
|
51
|
-
cursor: pointer;
|
|
52
|
-
font-style: normal;
|
|
53
|
-
font-weight: 500;
|
|
54
|
-
font-size: 14px;
|
|
55
|
-
line-height: 16px;
|
|
56
|
-
color: #9c9ca6;
|
|
57
|
-
border-bottom: 2px solid #9c9ca6;
|
|
58
|
-
border-radius: 1px 0px 0px 1px;
|
|
59
|
-
height: 32px;
|
|
60
|
-
text-align: center;
|
|
61
|
-
align-items: center;
|
|
62
|
-
justify-content: center;
|
|
63
|
-
display: flex;
|
|
64
|
-
|
|
65
|
-
&:hover {
|
|
66
|
-
cursor: pointer;
|
|
67
|
-
background-color: map-get($mecx-theme, 100);
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
&.selected {
|
|
71
|
-
background-color: transparent !important;
|
|
72
|
-
color: map-get($mecx-theme, main);
|
|
73
|
-
border-bottom: 2px solid var(--mecx-color-theme-main);
|
|
74
|
-
border-radius: 1px 0px 0px 1px;
|
|
75
|
-
font-style: normal;
|
|
76
|
-
font-weight: 600;
|
|
77
|
-
font-size: 14px;
|
|
78
|
-
line-height: 16px;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}
|
|
1
|
+
/**************************
|
|
2
|
+
* Copyright Monkey Exchange. All Rights Reserved
|
|
3
|
+
* This style guide was developed by Monkey Exchange Team
|
|
4
|
+
* MIT Licence
|
|
5
|
+
**************************/
|
|
6
|
+
@import '../variables.scss';
|
|
7
|
+
|
|
8
|
+
.mecx-tab {
|
|
9
|
+
width: 100%;
|
|
10
|
+
background-color: inherit;
|
|
11
|
+
padding: 0 8px;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
monkey-tab {
|
|
15
|
+
@extend .mecx-tab;
|
|
16
|
+
|
|
17
|
+
mecx-tab-body {
|
|
18
|
+
display: flex;
|
|
19
|
+
justify-content: center;
|
|
20
|
+
align-items: center;
|
|
21
|
+
width: 100%;
|
|
22
|
+
|
|
23
|
+
&.horizontal {
|
|
24
|
+
display: flex;
|
|
25
|
+
flex-direction: row !important;
|
|
26
|
+
justify-content: center;
|
|
27
|
+
align-items: center;
|
|
28
|
+
align-self: center;
|
|
29
|
+
align-content: center;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
&.vertical {
|
|
33
|
+
display: flex;
|
|
34
|
+
flex-direction: column !important;
|
|
35
|
+
justify-content: center;
|
|
36
|
+
align-items: center;
|
|
37
|
+
align-self: center;
|
|
38
|
+
align-content: center;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
monkey-option {
|
|
42
|
+
width: 100%;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.mecx-option {
|
|
46
|
+
position: relative;
|
|
47
|
+
display: block;
|
|
48
|
+
padding: 0 8px 0 8px;
|
|
49
|
+
font-size: 14px;
|
|
50
|
+
line-height: 60px;
|
|
51
|
+
cursor: pointer;
|
|
52
|
+
font-style: normal;
|
|
53
|
+
font-weight: 500;
|
|
54
|
+
font-size: 14px;
|
|
55
|
+
line-height: 16px;
|
|
56
|
+
color: #9c9ca6;
|
|
57
|
+
border-bottom: 2px solid #9c9ca6;
|
|
58
|
+
border-radius: 1px 0px 0px 1px;
|
|
59
|
+
height: 32px;
|
|
60
|
+
text-align: center;
|
|
61
|
+
align-items: center;
|
|
62
|
+
justify-content: center;
|
|
63
|
+
display: flex;
|
|
64
|
+
|
|
65
|
+
&:hover {
|
|
66
|
+
cursor: pointer;
|
|
67
|
+
background-color: map-get($mecx-theme, 100);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
&.selected {
|
|
71
|
+
background-color: transparent !important;
|
|
72
|
+
color: map-get($mecx-theme, main);
|
|
73
|
+
border-bottom: 2px solid var(--mecx-color-theme-main);
|
|
74
|
+
border-radius: 1px 0px 0px 1px;
|
|
75
|
+
font-style: normal;
|
|
76
|
+
font-weight: 600;
|
|
77
|
+
font-size: 14px;
|
|
78
|
+
line-height: 16px;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
@@ -1,103 +1,103 @@
|
|
|
1
|
-
/**************************
|
|
2
|
-
* Copyright Monkey Exchange. All Rights Reserved
|
|
3
|
-
* This style guide was developed by Monkey Exchange Team
|
|
4
|
-
* MIT Licence
|
|
5
|
-
**************************/
|
|
6
|
-
@import '../variables.scss';
|
|
7
|
-
|
|
8
|
-
monkey-toggle {
|
|
9
|
-
mecx-monkey-toggle {
|
|
10
|
-
position: relative;
|
|
11
|
-
display: inline-block;
|
|
12
|
-
width: 60px;
|
|
13
|
-
height: 34px;
|
|
14
|
-
|
|
15
|
-
input {
|
|
16
|
-
opacity: 0;
|
|
17
|
-
width: 0;
|
|
18
|
-
height: 0;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
.slider-false {
|
|
22
|
-
position: absolute;
|
|
23
|
-
cursor: pointer;
|
|
24
|
-
top: 0;
|
|
25
|
-
left: 0;
|
|
26
|
-
right: 0;
|
|
27
|
-
bottom: 0;
|
|
28
|
-
background-color: #ccc;
|
|
29
|
-
border: 1px solid #d6d6d6;
|
|
30
|
-
-webkit-transition: 0.4s;
|
|
31
|
-
transition: 0.4s;
|
|
32
|
-
border-radius: 34px;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
.slider-false:before {
|
|
36
|
-
position: absolute;
|
|
37
|
-
content: '';
|
|
38
|
-
height: 26px;
|
|
39
|
-
width: 26px;
|
|
40
|
-
left: 4px;
|
|
41
|
-
bottom: 4px;
|
|
42
|
-
background-color: #fff;
|
|
43
|
-
-webkit-transition: 0.4s;
|
|
44
|
-
transition: 0.4s;
|
|
45
|
-
border-radius: 50%;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
input:checked + .slider-false {
|
|
49
|
-
background-color: #ebfff8;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
input:focus + .slider-false {
|
|
53
|
-
box-shadow: 0 0 1px #ebfff8;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
input:checked + .slider-false:before {
|
|
57
|
-
-webkit-transform: translateX(26px);
|
|
58
|
-
-ms-transform: translateX(26px);
|
|
59
|
-
transform: translateX(26px);
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
.slider-true {
|
|
63
|
-
position: absolute;
|
|
64
|
-
cursor: pointer;
|
|
65
|
-
top: 0;
|
|
66
|
-
left: 0;
|
|
67
|
-
right: 0;
|
|
68
|
-
bottom: 0;
|
|
69
|
-
background-color: #ebfff8;
|
|
70
|
-
border: 1px solid #00875a;
|
|
71
|
-
-webkit-transition: 0.4s;
|
|
72
|
-
transition: 0.4s;
|
|
73
|
-
border-radius: 34px;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
.slider-true:before {
|
|
77
|
-
position: absolute;
|
|
78
|
-
content: '';
|
|
79
|
-
height: 26px;
|
|
80
|
-
width: 26px;
|
|
81
|
-
left: 4px;
|
|
82
|
-
bottom: 4px;
|
|
83
|
-
background-color: #00875a;
|
|
84
|
-
-webkit-transition: 0.4s;
|
|
85
|
-
transition: 0.4s;
|
|
86
|
-
border-radius: 50%;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
input:checked + .slider-true {
|
|
90
|
-
background-color: #ebfff8;
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
input:focus + .slider-true {
|
|
94
|
-
box-shadow: 0 0 1px #ebfff8;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
input:checked + .slider-true:before {
|
|
98
|
-
-webkit-transform: translateX(26px);
|
|
99
|
-
-ms-transform: translateX(26px);
|
|
100
|
-
transform: translateX(26px);
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
}
|
|
1
|
+
/**************************
|
|
2
|
+
* Copyright Monkey Exchange. All Rights Reserved
|
|
3
|
+
* This style guide was developed by Monkey Exchange Team
|
|
4
|
+
* MIT Licence
|
|
5
|
+
**************************/
|
|
6
|
+
@import '../variables.scss';
|
|
7
|
+
|
|
8
|
+
monkey-toggle {
|
|
9
|
+
mecx-monkey-toggle {
|
|
10
|
+
position: relative;
|
|
11
|
+
display: inline-block;
|
|
12
|
+
width: 60px;
|
|
13
|
+
height: 34px;
|
|
14
|
+
|
|
15
|
+
input {
|
|
16
|
+
opacity: 0;
|
|
17
|
+
width: 0;
|
|
18
|
+
height: 0;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.slider-false {
|
|
22
|
+
position: absolute;
|
|
23
|
+
cursor: pointer;
|
|
24
|
+
top: 0;
|
|
25
|
+
left: 0;
|
|
26
|
+
right: 0;
|
|
27
|
+
bottom: 0;
|
|
28
|
+
background-color: #ccc;
|
|
29
|
+
border: 1px solid #d6d6d6;
|
|
30
|
+
-webkit-transition: 0.4s;
|
|
31
|
+
transition: 0.4s;
|
|
32
|
+
border-radius: 34px;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.slider-false:before {
|
|
36
|
+
position: absolute;
|
|
37
|
+
content: '';
|
|
38
|
+
height: 26px;
|
|
39
|
+
width: 26px;
|
|
40
|
+
left: 4px;
|
|
41
|
+
bottom: 4px;
|
|
42
|
+
background-color: #fff;
|
|
43
|
+
-webkit-transition: 0.4s;
|
|
44
|
+
transition: 0.4s;
|
|
45
|
+
border-radius: 50%;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
input:checked + .slider-false {
|
|
49
|
+
background-color: #ebfff8;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
input:focus + .slider-false {
|
|
53
|
+
box-shadow: 0 0 1px #ebfff8;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
input:checked + .slider-false:before {
|
|
57
|
+
-webkit-transform: translateX(26px);
|
|
58
|
+
-ms-transform: translateX(26px);
|
|
59
|
+
transform: translateX(26px);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.slider-true {
|
|
63
|
+
position: absolute;
|
|
64
|
+
cursor: pointer;
|
|
65
|
+
top: 0;
|
|
66
|
+
left: 0;
|
|
67
|
+
right: 0;
|
|
68
|
+
bottom: 0;
|
|
69
|
+
background-color: #ebfff8;
|
|
70
|
+
border: 1px solid #00875a;
|
|
71
|
+
-webkit-transition: 0.4s;
|
|
72
|
+
transition: 0.4s;
|
|
73
|
+
border-radius: 34px;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.slider-true:before {
|
|
77
|
+
position: absolute;
|
|
78
|
+
content: '';
|
|
79
|
+
height: 26px;
|
|
80
|
+
width: 26px;
|
|
81
|
+
left: 4px;
|
|
82
|
+
bottom: 4px;
|
|
83
|
+
background-color: #00875a;
|
|
84
|
+
-webkit-transition: 0.4s;
|
|
85
|
+
transition: 0.4s;
|
|
86
|
+
border-radius: 50%;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
input:checked + .slider-true {
|
|
90
|
+
background-color: #ebfff8;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
input:focus + .slider-true {
|
|
94
|
+
box-shadow: 0 0 1px #ebfff8;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
input:checked + .slider-true:before {
|
|
98
|
+
-webkit-transform: translateX(26px);
|
|
99
|
+
-ms-transform: translateX(26px);
|
|
100
|
+
transform: translateX(26px);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
@@ -16,4 +16,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
|
|
|
16
16
|
schemas: [NO_ERRORS_SCHEMA],
|
|
17
17
|
}]
|
|
18
18
|
}] });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LXN0eWxlLWd1aWRlL3NyYy9saWIvY29tcG9uZW50cy9iYWRnZS9iYWRnZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBUS9DLE1BQU0sT0FBTyxpQkFBaUI7OzhHQUFqQixpQkFBaUI7K0dBQWpCLGlCQUFpQixpQkFMYixvQkFBb0IsYUFDekIsWUFBWSxhQUNaLG9CQUFvQjsrR0FHbkIsaUJBQWlCLFlBSm5CLENBQUMsWUFBWSxDQUFDOzJGQUlaLGlCQUFpQjtrQkFON0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztvQkFDcEMsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztvQkFDL0IsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7aUJBQzVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIE5PX0VSUk9SU19TQ0hFTUEgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1vbmtleUJhZGdlQ29tcG9uZW50IH0gZnJvbSAnLi9iYWRnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbTW9ua2V5QmFkZ2VDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgZXhwb3J0czogW01vbmtleUJhZGdlQ29tcG9uZW50XSxcbiAgc2NoZW1hczogW05PX0VSUk9SU19TQ0hFTUFdLFxufSlcbmV4cG9ydCBjbGFzcyBNb25rZXlCYWRnZU1vZHVsZSB7fVxuIl19
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export * from './badge.component';
|
|
2
2
|
export * from './badge.module';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUvc3JjL2xpYi9jb21wb25lbnRzL2JhZGdlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYmFkZ2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vYmFkZ2UubW9kdWxlJztcbiJdfQ==
|
|
@@ -18,7 +18,7 @@ export class MonkeyDateRangePickerComponent {
|
|
|
18
18
|
this.fb = fb;
|
|
19
19
|
this.cdr = cdr;
|
|
20
20
|
this.helperMessage = '';
|
|
21
|
-
this.
|
|
21
|
+
this.moveDaysForward = true;
|
|
22
22
|
this.onChange = new EventEmitter();
|
|
23
23
|
this.today = moment.default().format('YYYY-MM-DD');
|
|
24
24
|
this.onModelChange = (value) => { };
|
|
@@ -29,8 +29,12 @@ export class MonkeyDateRangePickerComponent {
|
|
|
29
29
|
this._daysArrFirst = [];
|
|
30
30
|
this._daysArrSecond = [];
|
|
31
31
|
this._disabled = false;
|
|
32
|
+
this._minDate = null;
|
|
32
33
|
this.initDateRange();
|
|
33
34
|
}
|
|
35
|
+
set minDate(value) {
|
|
36
|
+
this._minDate = !this.moveDaysForward ? null : value;
|
|
37
|
+
}
|
|
34
38
|
initDateRange() {
|
|
35
39
|
return (this._dateForm = this.fb.group({
|
|
36
40
|
startDate: [null, Validators.required],
|
|
@@ -153,9 +157,9 @@ export class MonkeyDateRangePickerComponent {
|
|
|
153
157
|
}
|
|
154
158
|
}
|
|
155
159
|
isDisabled(day) {
|
|
156
|
-
const {
|
|
157
|
-
if (
|
|
158
|
-
const firstDay = moment.default(
|
|
160
|
+
const { _minDate } = this;
|
|
161
|
+
if (_minDate) {
|
|
162
|
+
const firstDay = moment.default(_minDate);
|
|
159
163
|
return day.isBefore(firstDay.subtract(1, 'day'));
|
|
160
164
|
}
|
|
161
165
|
return false;
|
|
@@ -173,10 +177,10 @@ export class MonkeyDateRangePickerComponent {
|
|
|
173
177
|
selectedDate(day) {
|
|
174
178
|
if (this._disabled)
|
|
175
179
|
return;
|
|
176
|
-
const { _dateForm,
|
|
180
|
+
const { _dateForm, _minDate } = this;
|
|
177
181
|
let dayFormatted = day.format('YYYY-MM-DD');
|
|
178
|
-
if (
|
|
179
|
-
const firstDay = moment.default(
|
|
182
|
+
if (_minDate) {
|
|
183
|
+
const firstDay = moment.default(_minDate);
|
|
180
184
|
if (day.isBefore(firstDay.subtract(1, 'day')))
|
|
181
185
|
return;
|
|
182
186
|
}
|
|
@@ -206,17 +210,24 @@ export class MonkeyDateRangePickerComponent {
|
|
|
206
210
|
selectRangeOfDays(days) {
|
|
207
211
|
if (this._disabled)
|
|
208
212
|
return;
|
|
209
|
-
const { _dateForm,
|
|
213
|
+
const { _dateForm, _minDate, today, moveDaysForward } = this;
|
|
210
214
|
const { startDate } = _dateForm.value;
|
|
211
|
-
const firstDay = moment.default(startDate ||
|
|
212
|
-
const
|
|
213
|
-
|
|
214
|
-
|
|
215
|
+
const firstDay = moment.default(startDate || _minDate || today).format('YYYY-MM-DD');
|
|
216
|
+
const method = moveDaysForward ? 'add' : 'subtract';
|
|
217
|
+
const lastDay = moment.default(firstDay)[method](days, 'day').format('YYYY-MM-DD');
|
|
218
|
+
if (moveDaysForward) {
|
|
219
|
+
_dateForm.get('startDate').patchValue(firstDay);
|
|
220
|
+
_dateForm.get('endDate').patchValue(lastDay);
|
|
221
|
+
}
|
|
222
|
+
else {
|
|
223
|
+
_dateForm.get('startDate').patchValue(lastDay);
|
|
224
|
+
_dateForm.get('endDate').patchValue(firstDay);
|
|
225
|
+
}
|
|
215
226
|
this.writeValue(_dateForm.value);
|
|
216
227
|
}
|
|
217
228
|
}
|
|
218
229
|
MonkeyDateRangePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MonkeyDateRangePickerComponent, deps: [{ token: i1.FormBuilder }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
219
|
-
MonkeyDateRangePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: MonkeyDateRangePickerComponent, selector: "monkey-date-range-picker", inputs: { label: "label", helperMessage: "helperMessage", i18n: "i18n", infoMessage: "infoMessage", errorMessage: "errorMessage", minDate: "minDate", value: "value" }, outputs: { onChange: "onChange" }, providers: [
|
|
230
|
+
MonkeyDateRangePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: MonkeyDateRangePickerComponent, selector: "monkey-date-range-picker", inputs: { label: "label", helperMessage: "helperMessage", i18n: "i18n", infoMessage: "infoMessage", errorMessage: "errorMessage", moveDaysForward: "moveDaysForward", minDate: "minDate", value: "value" }, outputs: { onChange: "onChange" }, providers: [
|
|
220
231
|
{
|
|
221
232
|
provide: NG_VALUE_ACCESSOR,
|
|
222
233
|
useExisting: forwardRef(() => MonkeyDateRangePickerComponent),
|
|
@@ -559,6 +570,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
|
|
|
559
570
|
type: Input
|
|
560
571
|
}], errorMessage: [{
|
|
561
572
|
type: Input
|
|
573
|
+
}], moveDaysForward: [{
|
|
574
|
+
type: Input
|
|
562
575
|
}], minDate: [{
|
|
563
576
|
type: Input
|
|
564
577
|
}], onChange: [{
|
|
@@ -566,4 +579,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
|
|
|
566
579
|
}], value: [{
|
|
567
580
|
type: Input
|
|
568
581
|
}] } });
|
|
569
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LXN0eWxlLWd1aWRlL3NyYy9saWIvY29tcG9uZW50cy9kYXRlLXJhbmdlLXBpY2tlci9kYXRlLXJhbmdlLXBpY2tlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7NEJBSTRCO0FBQzVCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNqQixVQUFVLEVBRVYsTUFBTSxFQUNOLFlBQVksRUFDWixLQUFLLEdBRU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUlMLGlCQUFpQixFQUNqQixVQUFVLEdBQ1gsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDL0MsT0FBTyxLQUFLLE9BQU8sTUFBTSxRQUFRLENBQUM7Ozs7O0FBRWxDLE1BQU0sTUFBTSxHQUFRLE9BQU8sQ0FBQztBQTBLNUIsTUFBTSxPQUFPLDhCQUE4QjtJQWdDekMsWUFBb0IsRUFBZSxFQUFVLEdBQXNCO1FBQS9DLE9BQUUsR0FBRixFQUFFLENBQWE7UUFBVSxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQTlCMUQsa0JBQWEsR0FBVyxFQUFFLENBQUM7UUFlM0IsWUFBTyxHQUFRLElBQUksQ0FBQztRQUNuQixhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUVyQyxVQUFLLEdBQUcsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM5QyxrQkFBYSxHQUFHLENBQUMsS0FBVSxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFDbkMsbUJBQWMsR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFLEdBQUUsQ0FB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QUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLCtCQUErQixDQUFDOzRCQUM3RCxLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRCxZQUFZO3FCQUNiO2lCQUNGO2tJQUVVLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFZRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNJLFFBQVE7c0JBQWpCLE1BQU07Z0JBa0dILEtBQUs7c0JBRFIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gKiBDb3B5cmlnaHQgTW9ua2V5IEV4Y2hhbmdlLiBBbGwgUmlnaHRzIFJlc2VydmVkXHJcbiAqIFRoaXMgc3R5bGUgZ3VpZGUgd2FzIGRldmVsb3BlZCBieSBNb25rZXkgRXhjaGFuZ2UgVGVhbVxyXG4gKiBNSVQgTGljZW5jZVxyXG4gKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbmltcG9ydCB7IEN1cnJlbmN5UGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXHJcbiAgRm9ybUJ1aWxkZXIsXHJcbiAgRm9ybUdyb3VwLFxyXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gIFZhbGlkYXRvcnMsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNb25rZXlVdGlscyB9IGZyb20gJy4uLy4uL2NvcmUvdXRpbHMnO1xyXG5pbXBvcnQgKiBhcyBtb21lbnRfIGZyb20gJ21vbWVudCc7XHJcblxyXG5jb25zdCBtb21lbnQ6IGFueSA9IG1vbWVudF87XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21vbmtleS1kYXRlLXJhbmdlLXBpY2tlcicsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxtZWN4LWRhdGUtcmFuZ2UtcGlja2VyLWdyb3VwIFtuZ0NsYXNzXT1cInsgZGlzYWJsZWQ6IF9kaXNhYmxlZCB9XCIgW2lkXT1cIl9pZFwiPlxyXG4gICAgICA8bWVjeC1kYXRlLXJhbmdlLXBpY2tlci1ncm91cC1oZWFkZXI+XHJcbiAgICAgICAgPGxhYmVsPlxyXG4gICAgICAgICAge3sgbGFiZWwgfX1cclxuICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgIDxoZWxwZXI+XHJcbiAgICAgICAgICB7eyBoZWxwZXJNZXNzYWdlIH19XHJcbiAgICAgICAgPC9oZWxwZXI+XHJcbiAgICAgIDwvbWVjeC1kYXRlLXJhbmdlLXBpY2tlci1ncm91cC1oZWFkZXI+XHJcbiAgICAgIDxtZWN4LWRhdGUtcmFuZ2UtcGlja2VyLWdyb3VwLWJvZHk+XHJcbiAgICAgICAgPG1lY3gtZGF0ZS1yYW5nZS1waWNrZXIgY2xhc3M9XCJmaXJzdC1kYXRlLXJhbmdlXCI+XHJcbiAgICAgICAgICA8bWVjeC1kYXRlLXJhbmdlLXBpY2tlci1oZWFkZXI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYWxlbmRhci10aXRsZVwiPlxyXG4gICAgICAgICAgICAgIDxtb25rZXktYnV0dG9uXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImNhbGVuZGFyLXByZXZpb3VzXCJcclxuICAgICAgICAgICAgICAgIGNvbG9yPVwidGhlbWVcIlxyXG4gICAgICAgICAgICAgICAgaWNvbj1cImFycm93LWxlZnQtMTZcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cInRlcnRpYXJ5XCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJwcmV2aW91c01vbnRoKClcIlxyXG4gICAgICAgICAgICAgICAgc2l6ZT1cInNtXCJcclxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJfZGlzYWJsZWRcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8L21vbmtleS1idXR0b24+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vbnRoLXllYXItdGl0bGVcIj5cclxuICAgICAgICAgICAgICAgIHt7IGkxOG4/Lm1vbnRocz8uW19kYXRlRmlyc3QuZm9ybWF0KCdNJyldIH19XHJcbiAgICAgICAgICAgICAgICB7eyBfZGF0ZUZpcnN0LmZvcm1hdCgnWVlZWScpIH19XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPG1vbmtleS1idXR0b25cclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiY2FsZW5kYXItbmV4dFwiXHJcbiAgICAgICAgICAgICAgICBjb2xvcj1cInRoZW1lXCJcclxuICAgICAgICAgICAgICAgIGljb249XCJhcnJvdy1yaWdodC0xNlwiXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGVydGlhcnlcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm5leHRNb250aCgpXCJcclxuICAgICAgICAgICAgICAgIHNpemU9XCJzbVwiXHJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiX2Rpc2FibGVkXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPC9tb25rZXktYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndlZWtcIj5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIndlZWstZGF5XCIgKm5nRm9yPVwibGV0IGRheSBvZiBbMSwgMiwgMywgNCwgNSwgNiwgN11cIj5cclxuICAgICAgICAgICAgICAgIHt7IGkxOG4/LmRheXM/LltkYXldfX1cclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9tZWN4LWRhdGUtcmFuZ2UtcGlja2VyLWhlYWRlcj5cclxuICAgICAgICAgIDxtZWN4LWRhdGUtcmFuZ2UtcGlja2VyLWJvZHk+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb250aC13ZWVrXCIgKm5nRm9yPVwibGV0IHdlZWsgb2YgX2RheXNBcnJGaXJzdFwiPlxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwibW9udGgtZGF5XCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RlZERhdGUoZGF5KVwiXHJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICAgICAgIGluYWN0aXZlOiAhZGF5IHx8IGlzRGlzYWJsZWQoZGF5KSxcclxuICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQ6IGlzU2VsZWN0ZWQoZGF5KSxcclxuICAgICAgICAgICAgICAgICAgdG9kYXk6IHRvZGF5Q2hlY2soZGF5KSxcclxuICAgICAgICAgICAgICAgICAgJ2ZpcnN0LXNlbGVjdGVkJzogaXNGaXJzdFNlbGVjdGVkKGRheSksXHJcbiAgICAgICAgICAgICAgICAgICdsYXN0LXNlbGVjdGVkJzogaXNMYXN0U2VsZWN0ZWQoZGF5KVxyXG4gICAgICAgICAgICAgICAgfVwiXHJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgZGF5IG9mIHdlZWtcIlxyXG4gICAgICAgICAgICAgICAgI2Rpdk9uZVxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIHt7IGRheT8uZGF0ZSgpIH19XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9tZWN4LWRhdGUtcmFuZ2UtcGlja2VyLWJvZHk+XHJcbiAgICAgICAgPC9tZWN4LWRhdGUtcmFuZ2UtcGlja2VyPlxyXG5cclxuICAgICAgICA8bWVjeC1kYXRlLXJhbmdlLXBpY2tlciBjbGFzcz1cInNlY29uZC1kYXRlLXJhbmdlXCI+XHJcbiAgICAgICAgICA8bWVjeC1kYXRlLXJhbmdlLXBpY2tlci1oZWFkZXI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYWxlbmRhci10aXRsZVwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb250aC15ZWFyLXRpdGxlXCI+XHJcbiAgICAgICAgICAgICAgICB7eyBpMThuPy5tb250aHM/LltfZGF0ZVNlY29uZC5mb3JtYXQoJ00nKV0gfX1cclxuICAgICAgICAgICAgICAgIHt7IF9kYXRlU2Vjb25kLmZvcm1hdCgnWVlZWScpIH19XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPG1vbmtleS1idXR0b25cclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiY2FsZW5kYXItcHJldmlvdXNcIlxyXG4gICAgICAgICAgICAgICAgY29sb3I9XCJ0aGVtZVwiXHJcbiAgICAgICAgICAgICAgICBpY29uPVwiYXJyb3ctcmlnaHQtMTZcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cInRlcnRpYXJ5XCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJuZXh0TW9udGgoKVwiXHJcbiAgICAgICAgICAgICAgICBzaXplPVwic21cIlxyXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIl9kaXNhYmxlZFwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDwvbW9ua2V5LWJ1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3ZWVrXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ3ZWVrLWRheVwiICpuZ0Zvcj1cImxldCBkYXkgb2YgWzEsIDIsIDMsIDQsIDUsIDYsIDddXCI+XHJcbiAgICAgICAgICAgICAgICB7eyBpMThuPy5kYXlzPy5bZGF5XX19XHJcbiAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvbWVjeC1kYXRlLXJhbmdlLXBpY2tlci1oZWFkZXI+XHJcbiAgICAgICAgICA8bWVjeC1kYXRlLXJhbmdlLXBpY2tlci1ib2R5PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9udGgtd2Vla1wiICpuZ0Zvcj1cImxldCB3ZWVrIG9mIF9kYXlzQXJyU2Vjb25kXCI+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJtb250aC1kYXlcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdGVkRGF0ZShkYXkpXCJcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgICAgICAgaW5hY3RpdmU6ICFkYXkgfHwgaXNEaXNhYmxlZChkYXkpLFxyXG4gICAgICAgICAgICAgICAgICBzZWxlY3RlZDogaXNTZWxlY3RlZChkYXkpLFxyXG4gICAgICAgICAgICAgICAgICB0b2RheTogdG9kYXlDaGVjayhkYXkpLFxyXG4gICAgICAgICAgICAgICAgICAnZmlyc3Qtc2VsZWN0ZWQnOiBpc0ZpcnN0U2VsZWN0ZWQoZGF5KSxcclxuICAgICAgICAgICAgICAgICAgJ2xhc3Qtc2VsZWN0ZWQnOiBpc0xhc3RTZWxlY3RlZChkYXkpXHJcbiAgICAgICAgICAgICAgICB9XCJcclxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBkYXkgb2Ygd2Vla1wiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAge3sgZGF5Py5kYXRlKCkgfX1cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L21lY3gtZGF0ZS1yYW5nZS1waWNrZXItYm9keT5cclxuICAgICAgICA8L21lY3gtZGF0ZS1yYW5nZS1waWNrZXI+XHJcbiAgICAgIDwvbWVjeC1kYXRlLXJhbmdlLXBpY2tlci1ncm91cC1ib2R5PlxyXG4gICAgICA8bWVjeC1kYXRlLXJhbmdlLXBpY2tlci1ncm91cC1pbmZvPlxyXG4gICAgICAgIDxpbmZvPlxyXG4gICAgICAgICAge3sgaW5mb01lc3NhZ2UgfX1cclxuICAgICAgICA8L2luZm8+XHJcbiAgICAgICAgPGVycm9yPlxyXG4gICAgICAgICAge3sgZXJyb3JNZXNzYWdlIH19XHJcbiAgICAgICAgPC9lcnJvcj5cclxuICAgICAgPC9tZWN4LWRhdGUtcmFuZ2UtcGlja2VyLWdyb3VwLWluZm8+XHJcbiAgICAgIDxtZWN4LWRhdGUtcmFuZ2UtcGlja2VyLWdyb3VwLWFjdGlvbiBbY2xhc3MuZXJyb3JdPVwiZXJyb3JNZXNzYWdlPy50cmltKClcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uLWRheXNcIj5cclxuICAgICAgICAgIDxtb25rZXktYnV0dG9uXHJcbiAgICAgICAgICAgIGNvbG9yPVwidGhlbWVcIlxyXG4gICAgICAgICAgICB0eXBlPVwic2Vjb25kYXJ5XCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFJhbmdlT2ZEYXlzKDMwKVwiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJfZGlzYWJsZWRcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICB7eyBpMThuPy5hY3Rpb25zPy5bJzMwJ10gfX1cclxuICAgICAgICAgIDwvbW9ua2V5LWJ1dHRvbj5cclxuICAgICAgICAgIDxtb25rZXktYnV0dG9uXHJcbiAgICAgICAgICAgIGNvbG9yPVwidGhlbWVcIlxyXG4gICAgICAgICAgICB0eXBlPVwic2Vjb25kYXJ5XCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFJhbmdlT2ZEYXlzKDYwKVwiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJfZGlzYWJsZWRcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICB7eyBpMThuPy5hY3Rpb25zPy5bJzYwJ10gfX1cclxuICAgICAgICAgIDwvbW9ua2V5LWJ1dHRvbj5cclxuICAgICAgICAgIDxtb25rZXktYnV0dG9uXHJcbiAgICAgICAgICAgIGNvbG9yPVwidGhlbWVcIlxyXG4gICAgICAgICAgICB0eXBlPVwic2Vjb25kYXJ5XCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFJhbmdlT2ZEYXlzKDkwKVwiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJfZGlzYWJsZWRcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICB7eyBpMThuPy5hY3Rpb25zPy5bJzkwJ10gfX1cclxuICAgICAgICAgIDwvbW9ua2V5LWJ1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8bW9ua2V5LWJ1dHRvblxyXG4gICAgICAgICAgY29sb3I9XCJ0aGVtZVwiXHJcbiAgICAgICAgICB0eXBlPVwicHJpbWFyeVwiXHJcbiAgICAgICAgICAoY2xpY2spPVwibmF2aWdhdGVUb1RvZGF5KClcIlxyXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIl9kaXNhYmxlZFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAge3sgaTE4bj8udG9kYXkgfX1cclxuICAgICAgICA8L21vbmtleS1idXR0b24+XHJcbiAgICAgIDwvbWVjeC1kYXRlLXJhbmdlLXBpY2tlci1ncm91cC1hY3Rpb24+XHJcbiAgICA8L21lY3gtZGF0ZS1yYW5nZS1waWNrZXItZ3JvdXA+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTW9ua2V5RGF0ZVJhbmdlUGlja2VyQ29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gICAgQ3VycmVuY3lQaXBlLFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNb25rZXlEYXRlUmFuZ2VQaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0IHtcclxuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGhlbHBlck1lc3NhZ2U6IHN0cmluZyA9ICcnO1xyXG4gIEBJbnB1dCgpIGkxOG46IHtcclxuICAgIG1vbnRoczoge1xyXG4gICAgICBbczogc3RyaW5nXTogc3RyaW5nO1xyXG4gICAgfTtcclxuICAgIGRheXM6IHtcclxuICAgICAgW3M6IHN0cmluZ106IHN0cmluZztcclxuICAgIH07XHJcbiAgICBhY3Rpb25zOiB7XHJcbiAgICAgIFtzOiBzdHJpbmddOiBzdHJpbmc7XHJcbiAgICB9O1xyXG4gICAgdG9kYXk6IHN0cmluZztcclxuICB9O1xyXG4gIEBJbnB1dCgpIGluZm9NZXNzYWdlOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZXJyb3JNZXNzYWdlOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbWluRGF0ZTogYW55ID0gbnVsbDtcclxuICBAT3V0cHV0KCkgb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgcHJpdmF0ZSB0b2RheSA9IG1vbWVudC5kZWZhdWx0KCkuZm9ybWF0KCdZWVlZLU1NLUREJyk7XHJcbiAgcHJpdmF0ZSBvbk1vZGVsQ2hhbmdlID0gKHZhbHVlOiBhbnkpID0+IHt9O1xyXG4gIHByaXZhdGUgb25Nb2RlbFRvdWNoZWQgPSAodmFsdWU6IGFueSkgPT4ge307XHJcblxyXG4gIHB1YmxpYyBfZGF0ZUZpcnN0ID0gbW9tZW50LmRlZmF1bHQoKTtcclxuICBwdWJsaWMgX2RhdGVTZWNvbmQgPSBtb21lbnQuZGVmYXVsdCgpLmFkZCgxLCAnTScpO1xyXG4gIHB1YmxpYyBfaWQ6IHN0cmluZyA9IGBtZWN4LWRhdGUtcmFuZ2UtcGlja2VyLSR7TW9ua2V5VXRpbHMuZ2V0UmFuZG9tU3RyaW5nKDEwKX1gO1xyXG4gIHB1YmxpYyBfZGF5c0FyckZpcnN0ID0gW107XHJcbiAgcHVibGljIF9kYXlzQXJyU2Vjb25kID0gW107XHJcbiAgcHVibGljIF9kYXRlRm9ybTogRm9ybUdyb3VwO1xyXG4gIHB1YmxpYyBfZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gICAgdGhpcy5pbml0RGF0ZVJhbmdlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXREYXRlUmFuZ2UoKSB7XHJcbiAgICByZXR1cm4gKHRoaXMuX2RhdGVGb3JtID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgIHN0YXJ0RGF0ZTogW251bGwsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgICBlbmREYXRlOiBbbnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICB9KSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZUNhbGVuZGFyKG1vbnRoOiBhbnkpIHtcclxuICAgIGxldCBmaXJzdERheSA9IG1vbWVudC5kZWZhdWx0KG1vbnRoKS5zdGFydE9mKCdNJyk7XHJcbiAgICBsZXQgbGFzdERheSA9IG1vbWVudC5kZWZhdWx0KG1vbnRoKS5lbmRPZignTScpO1xyXG4gICAgbGV0IGRheXMgPSBBcnJheS5hcHBseShudWxsLCB7IGxlbmd0aDogbW9udGguZGF5c0luTW9udGgoKSB9KVxyXG4gICAgICAubWFwKE51bWJlci5jYWxsLCBOdW1iZXIpXHJcbiAgICAgIC5tYXAoKG46IG51bWJlcikgPT4ge1xyXG4gICAgICAgIHJldHVybiBtb21lbnQuZGVmYXVsdChmaXJzdERheSkuYWRkKG4sICdkJyk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIGxldCBuID0gMDtcclxuICAgIHdoaWxlIChuIDwgZmlyc3REYXkud2Vla2RheSgpKSB7XHJcbiAgICAgIGRheXMudW5zaGlmdChudWxsKTtcclxuICAgICAgbisrO1xyXG4gICAgfVxyXG4gICAgbiA9IDA7XHJcbiAgICB3aGlsZSAobiA8IDcgLSBsYXN0RGF5LndlZWtkYXkoKSkge1xyXG4gICAgICBkYXlzLnB1c2gobnVsbCk7XHJcbiAgICAgIG4rKztcclxuICAgIH1cclxuXHJcbiAgICBsZXQgaW5kZXggPSAxO1xyXG4gICAgbGV0IGdyb3VwID0gW107XHJcbiAgICBsZXQgZ3JvdXBlZCA9IFtdO1xyXG5cclxuICAgIE9iamVjdC5lbnRyaWVzKGRheXMpLm1hcCgoW2tleSwgdmFsdWVdOiBbc3RyaW5nLCBhbnldKSA9PiB7XHJcbiAgICAgIGlmIChpbmRleCA+IDcpIHtcclxuICAgICAgICBpbmRleCA9IDE7XHJcbiAgICAgICAgZ3JvdXBlZC5wdXNoKGdyb3VwKTtcclxuICAgICAgICBncm91cCA9IFtdO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBncm91cC5wdXNoKHZhbHVlKTtcclxuICAgICAgaW5kZXgrKztcclxuICAgIH0pO1xyXG4gICAgZ3JvdXBlZC5wdXNoKGdyb3VwKTtcclxuXHJcbiAgICByZXR1cm4gZ3JvdXBlZDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGQoKSB7XHJcbiAgICB0aGlzLl9kYXlzQXJyRmlyc3QgPSB0aGlzLmNyZWF0ZUNhbGVuZGFyKHRoaXMuX2RhdGVGaXJzdCk7XHJcbiAgICB0aGlzLl9kYXlzQXJyU2Vjb25kID0gdGhpcy5jcmVhdGVDYWxlbmRhcih0aGlzLl9kYXRlU2Vjb25kKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2xlYXJEYXRlcygpIHtcclxuICAgIGlmICh0aGlzLl9kaXNhYmxlZCkgcmV0dXJuO1xyXG4gICAgdGhpcy5fZGF0ZUZvcm0uc2V0VmFsdWUoeyBzdGFydERhdGU6IG51bGwsIGVuZERhdGU6IG51bGwgfSk7XHJcbiAgICB0aGlzLndyaXRlVmFsdWUodGhpcy5fZGF0ZUZvcm0udmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgbmF2aWdhdGVUb1RvZGF5KCkge1xyXG4gICAgdGhpcy5fZGF0ZUZpcnN0ID0gbW9tZW50LmRlZmF1bHQoKTtcclxuICAgIHRoaXMuX2RhdGVTZWNvbmQgPSBtb21lbnQuZGVmYXVsdCgpLmFkZCgxLCAnTScpO1xyXG4gICAgdGhpcy5idWlsZCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmJ1aWxkKCk7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Nb2RlbENoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbk1vZGVsVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5fZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBzZXQgdmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgaWYgKFxyXG4gICAgICB2YWx1ZSAmJlxyXG4gICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodmFsdWUsICdzdGFydERhdGUnKSAmJlxyXG4gICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodmFsdWUsICdlbmREYXRlJylcclxuICAgICkge1xyXG4gICAgICB0aGlzLl9kYXRlRm9ybS5zZXRWYWx1ZSh2YWx1ZSk7XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgdGhpcy5vbk1vZGVsQ2hhbmdlKHRoaXMuX2RhdGVGb3JtLnZhbHVlKTtcclxuICAgICAgdGhpcy5vbk1vZGVsVG91Y2hlZCh0aGlzLl9kYXRlRm9ybS52YWx1ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNsZWFyRGF0ZXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldCB2YWx1ZSgpOiBhbnkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RhdGVGb3JtLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgICB0aGlzLm9uQ2hhbmdlLm5leHQodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgbmV4dE1vbnRoKCkge1xyXG4gICAgaWYgKHRoaXMuX2Rpc2FibGVkKSByZXR1cm47XHJcbiAgICB0aGlzLl9kYXRlRmlyc3QuYWRkKDEsICdNJyk7XHJcbiAgICB0aGlzLl9kYXRlU2Vjb25kLmFkZCgxLCAnTScpO1xyXG5cclxuICAgIHRoaXMuX2RheXNBcnJGaXJzdCA9IHRoaXMuY3JlYXRlQ2FsZW5kYXIodGhpcy5fZGF0ZUZpcnN0KTtcclxuICAgIHRoaXMuX2RheXNBcnJTZWNvbmQgPSB0aGlzLmNyZWF0ZUNhbGVuZGFyKHRoaXMuX2RhdGVTZWNvbmQpO1xyXG4gIH1cclxuXHJcbiAgcHJldmlvdXNNb250aCgpIHtcclxuICAgIGlmICh0aGlzLl9kaXNhYmxlZCkgcmV0dXJuO1xyXG4gICAgdGhpcy5fZGF0ZUZpcnN0LnN1YnRyYWN0KDEsICdNJyk7XHJcbiAgICB0aGlzLl9kYXRlU2Vjb25kLnN1YnRyYWN0KDEsICdNJyk7XHJcblxyXG4gICAgdGhpcy5fZGF5c0FyckZpcnN0ID0gdGhpcy5jcmVhdGVDYWxlbmRhcih0aGlzLl9kYXRlRmlyc3QpO1xyXG4gICAgdGhpcy5fZGF5c0FyclNlY29uZCA9IHRoaXMuY3JlYXRlQ2FsZW5kYXIodGhpcy5fZGF0ZVNlY29uZCk7XHJcbiAgfVxyXG5cclxuICB0b2RheUNoZWNrKGRheTogYW55KSB7XHJcbiAgICBpZiAoIWRheSkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG1vbWVudC5kZWZhdWx0KCkuZm9ybWF0KCdMJykgPT09IGRheS5mb3JtYXQoJ0wnKTtcclxuICB9XHJcblxyXG4gIGlzU2VsZWN0ZWQoZGF5OiBhbnkpIHtcclxuICAgIGlmICghZGF5KSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgc3RhcnREYXRlTW9tZW50ID0gbW9tZW50LmRlZmF1bHQodGhpcy5fZGF0ZUZvcm0udmFsdWUuc3RhcnREYXRlLCAnWVlZWS1NTS1ERCcpO1xyXG4gICAgbGV0IGVuZERhdGVNb21lbnQgPSBtb21lbnQuZGVmYXVsdCh0aGlzLl9kYXRlRm9ybS52YWx1ZS5lbmREYXRlLCAnWVlZWS1NTS1ERCcpO1xyXG5cclxuICAgIGlmICh0aGlzLl9kYXRlRm9ybS52YWxpZCkge1xyXG4gICAgICByZXR1cm4gc3RhcnREYXRlTW9tZW50LmlzU2FtZU9yQmVmb3JlKGRheSkgJiYgZW5kRGF0ZU1vbWVudC5pc1NhbWVPckFmdGVyKGRheSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuX2RhdGVGb3JtLmdldCgnc3RhcnREYXRlJykudmFsaWQpIHtcclxuICAgICAgcmV0dXJuIHN0YXJ0RGF0ZU1vbWVudC5pc1NhbWUoZGF5KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlzRGlzYWJsZWQoZGF5KSB7XHJcbiAgICBjb25zdCB7IG1pbkRhdGUgfSA9IHRoaXM7XHJcbiAgICBpZiAobWluRGF0ZSkge1xyXG4gICAgICBjb25zdCBmaXJzdERheSA9IG1vbWVudC5kZWZhdWx0KG1pbkRhdGUpO1xyXG4gICAgICByZXR1cm4gZGF5LmlzQmVmb3JlKGZpcnN0RGF5LnN1YnRyYWN0KDEsICdkYXknKSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBpc0ZpcnN0U2VsZWN0ZWQoZGF5KSB7XHJcbiAgICBjb25zdCB7IF9kYXRlRm9ybSB9ID0gdGhpcztcclxuICAgIGNvbnN0IHsgc3RhcnREYXRlIH0gPSBfZGF0ZUZvcm0udmFsdWU7XHJcbiAgICByZXR1cm4gZGF5Py5pc1NhbWUoc3RhcnREYXRlKTtcclxuICB9XHJcblxyXG4gIGlzTGFzdFNlbGVjdGVkKGRheTogYW55KSB7XHJcbiAgICBjb25zdCB7IF9kYXRlRm9ybSB9ID0gdGhpcztcclxuICAgIGNvbnN0IHsgZW5kRGF0ZSB9ID0gX2RhdGVGb3JtLnZhbHVlO1xyXG4gICAgcmV0dXJuIGRheT8uaXNTYW1lKGVuZERhdGUpO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0ZWREYXRlKGRheTogYW55KSB7XHJcbiAgICBpZiAodGhpcy5fZGlzYWJsZWQpIHJldHVybjtcclxuICAgIGNvbnN0IHsgX2RhdGVGb3JtLCBtaW5EYXRlIH0gPSB0aGlzO1xyXG4gICAgbGV0IGRheUZvcm1hdHRlZCA9IGRheS5mb3JtYXQoJ1lZWVktTU0tREQnKTtcclxuXHJcbiAgICBpZiAobWluRGF0ZSkge1xyXG4gICAgICBjb25zdCBmaXJzdERheSA9IG1vbWVudC5kZWZhdWx0KG1pbkRhdGUpO1xyXG4gICAgICBpZiAoZGF5LmlzQmVmb3JlKGZpcnN0RGF5LnN1YnRyYWN0KDEsICdkYXknKSkpIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoX2RhdGVGb3JtLnZhbGlkKSB7XHJcbiAgICAgIHRoaXMuY2xlYXJEYXRlcygpO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCB7IHN0YXJ0RGF0ZSwgZW5kRGF0ZSB9ID0gX2RhdGVGb3JtLnZhbHVlO1xyXG4gICAgaWYgKHN0YXJ0RGF0ZSkge1xyXG4gICAgICBpZiAobW9tZW50LmRlZmF1bHQoc3RhcnREYXRlKS5pc0FmdGVyKG1vbWVudC5kZWZhdWx0KGRheUZvcm1hdHRlZCkpKSB7XHJcbiAgICAgICAgZW5kRGF0ZSA9IHN0YXJ0RGF0ZTtcclxuICAgICAgICBzdGFydERhdGUgPSBkYXlGb3JtYXR0ZWQ7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgZW5kRGF0ZSA9IGRheUZvcm1hdHRlZDtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHN0YXJ0RGF0ZSA9IGRheUZvcm1hdHRlZDtcclxuXHJcbiAgICBpZiAoc3RhcnREYXRlKSB7XHJcbiAgICAgIF9kYXRlRm9ybS5nZXQoJ3N0YXJ0RGF0ZScpLnBhdGNoVmFsdWUoc3RhcnREYXRlKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZW5kRGF0ZSkge1xyXG4gICAgICBfZGF0ZUZvcm0uZ2V0KCdlbmREYXRlJykucGF0Y2hWYWx1ZShlbmREYXRlKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLndyaXRlVmFsdWUoX2RhdGVGb3JtLnZhbHVlKTtcclxuICB9XHJcblxyXG4gIHNlbGVjdFJhbmdlT2ZEYXlzKGRheXM6IG51bWJlcikge1xyXG4gICAgaWYgKHRoaXMuX2Rpc2FibGVkKSByZXR1cm47XHJcbiAgICBjb25zdCB7IF9kYXRlRm9ybSwgbWluRGF0ZSwgdG9kYXkgfSA9IHRoaXM7XHJcbiAgICBjb25zdCB7IHN0YXJ0RGF0ZSB9ID0gX2RhdGVGb3JtLnZhbHVlO1xyXG5cclxuICAgIGNvbnN0IGZpcnN0RGF5ID0gbW9tZW50LmRlZmF1bHQoc3RhcnREYXRlIHx8IG1pbkRhdGUgfHwgdG9kYXkpLmZvcm1hdCgnWVlZWS1NTS1ERCcpO1xyXG4gICAgY29uc3QgbGFzdERheSA9IG1vbWVudC5kZWZhdWx0KGZpcnN0RGF5KS5hZGQoZGF5cywgJ2RheScpLmZvcm1hdCgnWVlZWS1NTS1ERCcpO1xyXG4gICAgX2RhdGVGb3JtLmdldCgnc3RhcnREYXRlJykucGF0Y2hWYWx1ZShmaXJzdERheSk7XHJcbiAgICBfZGF0ZUZvcm0uZ2V0KCdlbmREYXRlJykucGF0Y2hWYWx1ZShsYXN0RGF5KTtcclxuICAgIHRoaXMud3JpdGVWYWx1ZShfZGF0ZUZvcm0udmFsdWUpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
582
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LXN0eWxlLWd1aWRlL3NyYy9saWIvY29tcG9uZW50cy9kYXRlLXJhbmdlLXBpY2tlci9kYXRlLXJhbmdlLXBpY2tlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7NEJBSTRCO0FBQzVCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNqQixVQUFVLEVBRVYsTUFBTSxFQUNOLFlBQVksRUFDWixLQUFLLEdBRU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUlMLGlCQUFpQixFQUNqQixVQUFVLEdBQ1gsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDL0MsT0FBTyxLQUFLLE9BQU8sTUFBTSxRQUFRLENBQUM7Ozs7O0FBRWxDLE1BQU0sTUFBTSxHQUFRLE9BQU8sQ0FBQztBQTBLNUIsTUFBTSxPQUFPLDhCQUE4QjtJQXNDekMsWUFBb0IsRUFBZSxFQUFVLEdBQXNCO1FBQS9DLE9BQUUsR0FBRixFQUFFLENBQWE7UUFBVSxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQXBDMUQsa0JBQWEsR0FBVyxFQUFFLENBQUM7UUFlM0Isb0JBQWUsR0FBRyxJQUFJLENBQUM7UUFNdEIsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFckMsVUFBSyxHQUFHLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDOUMsa0JBQWEsR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQ25DLG1CQUFjLEdBQUcsQ0FBQyxLQUFVLEVBQUUsRUFBRSxHQUFFLENB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QUNiLDBCQXBLUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EySlQ7MkZBV1UsOEJBQThCO2tCQXhLMUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMEJBQTBCO29CQUNwQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkpUO29CQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsK0JBQStCLENBQUM7NEJBQzdELEtBQUssRUFBRSxJQUFJO3lCQUNaO3dCQUNELFlBQVk7cUJBQ2I7aUJBQ0Y7a0lBRVUsS0FBSztzQkFBYixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQVlHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUVGLE9BQU87c0JBRFYsS0FBSztnQkFLSSxRQUFRO3NCQUFqQixNQUFNO2dCQW1HSCxLQUFLO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuICogQ29weXJpZ2h0IE1vbmtleSBFeGNoYW5nZS4gQWxsIFJpZ2h0cyBSZXNlcnZlZFxyXG4gKiBUaGlzIHN0eWxlIGd1aWRlIHdhcyBkZXZlbG9wZWQgYnkgTW9ua2V5IEV4Y2hhbmdlIFRlYW1cclxuICogTUlUIExpY2VuY2VcclxuICoqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5pbXBvcnQgeyBDdXJyZW5jeVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBmb3J3YXJkUmVmLFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxyXG4gIEZvcm1CdWlsZGVyLFxyXG4gIEZvcm1Hcm91cCxcclxuICBOR19WQUxVRV9BQ0NFU1NPUixcclxuICBWYWxpZGF0b3JzLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTW9ua2V5VXRpbHMgfSBmcm9tICcuLi8uLi9jb3JlL3V0aWxzJztcclxuaW1wb3J0ICogYXMgbW9tZW50XyBmcm9tICdtb21lbnQnO1xyXG5cclxuY29uc3QgbW9tZW50OiBhbnkgPSBtb21lbnRfO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdtb25rZXktZGF0ZS1yYW5nZS1waWNrZXInLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8bWVjeC1kYXRlLXJhbmdlLXBpY2tlci1ncm91cCBbbmdDbGFzc109XCJ7IGRpc2FibGVkOiBfZGlzYWJsZWQgfVwiIFtpZF09XCJfaWRcIj5cclxuICAgICAgPG1lY3gtZGF0ZS1yYW5nZS1waWNrZXItZ3JvdXAtaGVhZGVyPlxyXG4gICAgICAgIDxsYWJlbD5cclxuICAgICAgICAgIHt7IGxhYmVsIH19XHJcbiAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICA8aGVscGVyPlxyXG4gICAgICAgICAge3sgaGVscGVyTWVzc2FnZSB9fVxyXG4gICAgICAgIDwvaGVscGVyPlxyXG4gICAgICA8L21lY3gtZGF0ZS1yYW5nZS1waWNrZXItZ3JvdXAtaGVhZGVyPlxyXG4gICAgICA8bWVjeC1kYXRlLXJhbmdlLXBpY2tlci1ncm91cC1ib2R5PlxyXG4gICAgICAgIDxtZWN4LWRhdGUtcmFuZ2UtcGlja2VyIGNsYXNzPVwiZmlyc3QtZGF0ZS1yYW5nZVwiPlxyXG4gICAgICAgICAgPG1lY3gtZGF0ZS1yYW5nZS1waWNrZXItaGVhZGVyPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FsZW5kYXItdGl0bGVcIj5cclxuICAgICAgICAgICAgICA8bW9ua2V5LWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjYWxlbmRhci1wcmV2aW91c1wiXHJcbiAgICAgICAgICAgICAgICBjb2xvcj1cInRoZW1lXCJcclxuICAgICAgICAgICAgICAgIGljb249XCJhcnJvdy1sZWZ0LTE2XCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXJ0aWFyeVwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwicHJldmlvdXNNb250aCgpXCJcclxuICAgICAgICAgICAgICAgIHNpemU9XCJzbVwiXHJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiX2Rpc2FibGVkXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPC9tb25rZXktYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb250aC15ZWFyLXRpdGxlXCI+XHJcbiAgICAgICAgICAgICAgICB7eyBpMThuPy5tb250aHM/LltfZGF0ZUZpcnN0LmZvcm1hdCgnTScpXSB9fVxyXG4gICAgICAgICAgICAgICAge3sgX2RhdGVGaXJzdC5mb3JtYXQoJ1lZWVknKSB9fVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxtb25rZXktYnV0dG9uXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImNhbGVuZGFyLW5leHRcIlxyXG4gICAgICAgICAgICAgICAgY29sb3I9XCJ0aGVtZVwiXHJcbiAgICAgICAgICAgICAgICBpY29uPVwiYXJyb3ctcmlnaHQtMTZcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cInRlcnRpYXJ5XCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJuZXh0TW9udGgoKVwiXHJcbiAgICAgICAgICAgICAgICBzaXplPVwic21cIlxyXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIl9kaXNhYmxlZFwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDwvbW9ua2V5LWJ1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3ZWVrXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ3ZWVrLWRheVwiICpuZ0Zvcj1cImxldCBkYXkgb2YgWzEsIDIsIDMsIDQsIDUsIDYsIDddXCI+XHJcbiAgICAgICAgICAgICAgICB7eyBpMThuPy5kYXlzPy5bZGF5XX19XHJcbiAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvbWVjeC1kYXRlLXJhbmdlLXBpY2tlci1oZWFkZXI+XHJcbiAgICAgICAgICA8bWVjeC1kYXRlLXJhbmdlLXBpY2tlci1ib2R5PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9udGgtd2Vla1wiICpuZ0Zvcj1cImxldCB3ZWVrIG9mIF9kYXlzQXJyRmlyc3RcIj5cclxuICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm1vbnRoLWRheVwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0ZWREYXRlKGRheSlcIlxyXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICAgICAgICBpbmFjdGl2ZTogIWRheSB8fCBpc0Rpc2FibGVkKGRheSksXHJcbiAgICAgICAgICAgICAgICAgIHNlbGVjdGVkOiBpc1NlbGVjdGVkKGRheSksXHJcbiAgICAgICAgICAgICAgICAgIHRvZGF5OiB0b2RheUNoZWNrKGRheSksXHJcbiAgICAgICAgICAgICAgICAgICdmaXJzdC1zZWxlY3RlZCc6IGlzRmlyc3RTZWxlY3RlZChkYXkpLFxyXG4gICAgICAgICAgICAgICAgICAnbGFzdC1zZWxlY3RlZCc6IGlzTGFzdFNlbGVjdGVkKGRheSlcclxuICAgICAgICAgICAgICAgIH1cIlxyXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGRheSBvZiB3ZWVrXCJcclxuICAgICAgICAgICAgICAgICNkaXZPbmVcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICB7eyBkYXk/LmRhdGUoKSB9fVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvbWVjeC1kYXRlLXJhbmdlLXBpY2tlci1ib2R5PlxyXG4gICAgICAgIDwvbWVjeC1kYXRlLXJhbmdlLXBpY2tlcj5cclxuXHJcbiAgICAgICAgPG1lY3gtZGF0ZS1yYW5nZS1waWNrZXIgY2xhc3M9XCJzZWNvbmQtZGF0ZS1yYW5nZVwiPlxyXG4gICAgICAgICAgPG1lY3gtZGF0ZS1yYW5nZS1waWNrZXItaGVhZGVyPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FsZW5kYXItdGl0bGVcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9udGgteWVhci10aXRsZVwiPlxyXG4gICAgICAgICAgICAgICAge3sgaTE4bj8ubW9udGhzPy5bX2RhdGVTZWNvbmQuZm9ybWF0KCdNJyldIH19XHJcbiAgICAgICAgICAgICAgICB7eyBfZGF0ZVNlY29uZC5mb3JtYXQoJ1lZWVknKSB9fVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxtb25rZXktYnV0dG9uXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImNhbGVuZGFyLXByZXZpb3VzXCJcclxuICAgICAgICAgICAgICAgIGNvbG9yPVwidGhlbWVcIlxyXG4gICAgICAgICAgICAgICAgaWNvbj1cImFycm93LXJpZ2h0LTE2XCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXJ0aWFyeVwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwibmV4dE1vbnRoKClcIlxyXG4gICAgICAgICAgICAgICAgc2l6ZT1cInNtXCJcclxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJfZGlzYWJsZWRcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8L21vbmtleS1idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2Vla1wiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwid2Vlay1kYXlcIiAqbmdGb3I9XCJsZXQgZGF5IG9mIFsxLCAyLCAzLCA0LCA1LCA2LCA3XVwiPlxyXG4gICAgICAgICAgICAgICAge3sgaTE4bj8uZGF5cz8uW2RheV19fVxyXG4gICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L21lY3gtZGF0ZS1yYW5nZS1waWNrZXItaGVhZGVyPlxyXG4gICAgICAgICAgPG1lY3gtZGF0ZS1yYW5nZS1waWNrZXItYm9keT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vbnRoLXdlZWtcIiAqbmdGb3I9XCJsZXQgd2VlayBvZiBfZGF5c0FyclNlY29uZFwiPlxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwibW9udGgtZGF5XCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RlZERhdGUoZGF5KVwiXHJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICAgICAgIGluYWN0aXZlOiAhZGF5IHx8IGlzRGlzYWJsZWQoZGF5KSxcclxuICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQ6IGlzU2VsZWN0ZWQoZGF5KSxcclxuICAgICAgICAgICAgICAgICAgdG9kYXk6IHRvZGF5Q2hlY2soZGF5KSxcclxuICAgICAgICAgICAgICAgICAgJ2ZpcnN0LXNlbGVjdGVkJzogaXNGaXJzdFNlbGVjdGVkKGRheSksXHJcbiAgICAgICAgICAgICAgICAgICdsYXN0LXNlbGVjdGVkJzogaXNMYXN0U2VsZWN0ZWQoZGF5KVxyXG4gICAgICAgICAgICAgICAgfVwiXHJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgZGF5IG9mIHdlZWtcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIHt7IGRheT8uZGF0ZSgpIH19XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9tZWN4LWRhdGUtcmFuZ2UtcGlja2VyLWJvZHk+XHJcbiAgICAgICAgPC9tZWN4LWRhdGUtcmFuZ2UtcGlja2VyPlxyXG4gICAgICA8L21lY3gtZGF0ZS1yYW5nZS1waWNrZXItZ3JvdXAtYm9keT5cclxuICAgICAgPG1lY3gtZGF0ZS1yYW5nZS1waWNrZXItZ3JvdXAtaW5mbz5cclxuICAgICAgICA8aW5mbz5cclxuICAgICAgICAgIHt7IGluZm9NZXNzYWdlIH19XHJcbiAgICAgICAgPC9pbmZvPlxyXG4gICAgICAgIDxlcnJvcj5cclxuICAgICAgICAgIHt7IGVycm9yTWVzc2FnZSB9fVxyXG4gICAgICAgIDwvZXJyb3I+XHJcbiAgICAgIDwvbWVjeC1kYXRlLXJhbmdlLXBpY2tlci1ncm91cC1pbmZvPlxyXG4gICAgICA8bWVjeC1kYXRlLXJhbmdlLXBpY2tlci1ncm91cC1hY3Rpb24gW2NsYXNzLmVycm9yXT1cImVycm9yTWVzc2FnZT8udHJpbSgpXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFjdGlvbi1kYXlzXCI+XHJcbiAgICAgICAgICA8bW9ua2V5LWJ1dHRvblxyXG4gICAgICAgICAgICBjb2xvcj1cInRoZW1lXCJcclxuICAgICAgICAgICAgdHlwZT1cInNlY29uZGFyeVwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RSYW5nZU9mRGF5cygzMClcIlxyXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiX2Rpc2FibGVkXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge3sgaTE4bj8uYWN0aW9ucz8uWyczMCddIH19XHJcbiAgICAgICAgICA8L21vbmtleS1idXR0b24+XHJcbiAgICAgICAgICA8bW9ua2V5LWJ1dHRvblxyXG4gICAgICAgICAgICBjb2xvcj1cInRoZW1lXCJcclxuICAgICAgICAgICAgdHlwZT1cInNlY29uZGFyeVwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RSYW5nZU9mRGF5cyg2MClcIlxyXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiX2Rpc2FibGVkXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge3sgaTE4bj8uYWN0aW9ucz8uWyc2MCddIH19XHJcbiAgICAgICAgICA8L21vbmtleS1idXR0b24+XHJcbiAgICAgICAgICA8bW9ua2V5LWJ1dHRvblxyXG4gICAgICAgICAgICBjb2xvcj1cInRoZW1lXCJcclxuICAgICAgICAgICAgdHlwZT1cInNlY29uZGFyeVwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RSYW5nZU9mRGF5cyg5MClcIlxyXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiX2Rpc2FibGVkXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge3sgaTE4bj8uYWN0aW9ucz8uWyc5MCddIH19XHJcbiAgICAgICAgICA8L21vbmtleS1idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPG1vbmtleS1idXR0b25cclxuICAgICAgICAgIGNvbG9yPVwidGhlbWVcIlxyXG4gICAgICAgICAgdHlwZT1cInByaW1hcnlcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cIm5hdmlnYXRlVG9Ub2RheSgpXCJcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJfZGlzYWJsZWRcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIHt7IGkxOG4/LnRvZGF5IH19XHJcbiAgICAgICAgPC9tb25rZXktYnV0dG9uPlxyXG4gICAgICA8L21lY3gtZGF0ZS1yYW5nZS1waWNrZXItZ3JvdXAtYWN0aW9uPlxyXG4gICAgPC9tZWN4LWRhdGUtcmFuZ2UtcGlja2VyLWdyb3VwPlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE1vbmtleURhdGVSYW5nZVBpY2tlckNvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICAgIEN1cnJlbmN5UGlwZSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTW9ua2V5RGF0ZVJhbmdlUGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcclxuICBASW5wdXQoKSBoZWxwZXJNZXNzYWdlOiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKSBpMThuOiB7XHJcbiAgICBtb250aHM6IHtcclxuICAgICAgW3M6IHN0cmluZ106IHN0cmluZztcclxuICAgIH07XHJcbiAgICBkYXlzOiB7XHJcbiAgICAgIFtzOiBzdHJpbmddOiBzdHJpbmc7XHJcbiAgICB9O1xyXG4gICAgYWN0aW9uczoge1xyXG4gICAgICBbczogc3RyaW5nXTogc3RyaW5nO1xyXG4gICAgfTtcclxuICAgIHRvZGF5OiBzdHJpbmc7XHJcbiAgfTtcclxuICBASW5wdXQoKSBpbmZvTWVzc2FnZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGVycm9yTWVzc2FnZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIG1vdmVEYXlzRm9yd2FyZCA9IHRydWU7XHJcbiAgQElucHV0KClcclxuICBzZXQgbWluRGF0ZSh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLl9taW5EYXRlID0gIXRoaXMubW92ZURheXNGb3J3YXJkID8gbnVsbCA6IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgpIG9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIHByaXZhdGUgdG9kYXkgPSBtb21lbnQuZGVmYXVsdCgpLmZvcm1hdCgnWVlZWS1NTS1ERCcpO1xyXG4gIHByaXZhdGUgb25Nb2RlbENoYW5nZSA9ICh2YWx1ZTogYW55KSA9PiB7fTtcclxuICBwcml2YXRlIG9uTW9kZWxUb3VjaGVkID0gKHZhbHVlOiBhbnkpID0+IHt9O1xyXG5cclxuICBwdWJsaWMgX2RhdGVGaXJzdCA9IG1vbWVudC5kZWZhdWx0KCk7XHJcbiAgcHVibGljIF9kYXRlU2Vjb25kID0gbW9tZW50LmRlZmF1bHQoKS5hZGQoMSwgJ00nKTtcclxuICBwdWJsaWMgX2lkOiBzdHJpbmcgPSBgbWVjeC1kYXRlLXJhbmdlLXBpY2tlci0ke01vbmtleVV0aWxzLmdldFJhbmRvbVN0cmluZygxMCl9YDtcclxuICBwdWJsaWMgX2RheXNBcnJGaXJzdCA9IFtdO1xyXG4gIHB1YmxpYyBfZGF5c0FyclNlY29uZCA9IFtdO1xyXG4gIHB1YmxpYyBfZGF0ZUZvcm06IEZvcm1Hcm91cDtcclxuICBwdWJsaWMgX2Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIF9taW5EYXRlID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gICAgdGhpcy5pbml0RGF0ZVJhbmdlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXREYXRlUmFuZ2UoKSB7XHJcbiAgICByZXR1cm4gKHRoaXMuX2RhdGVGb3JtID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgIHN0YXJ0RGF0ZTogW251bGwsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgICBlbmREYXRlOiBbbnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICB9KSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZUNhbGVuZGFyKG1vbnRoOiBhbnkpIHtcclxuICAgIGxldCBmaXJzdERheSA9IG1vbWVudC5kZWZhdWx0KG1vbnRoKS5zdGFydE9mKCdNJyk7XHJcbiAgICBsZXQgbGFzdERheSA9IG1vbWVudC5kZWZhdWx0KG1vbnRoKS5lbmRPZignTScpO1xyXG4gICAgbGV0IGRheXMgPSBBcnJheS5hcHBseShudWxsLCB7IGxlbmd0aDogbW9udGguZGF5c0luTW9udGgoKSB9KVxyXG4gICAgICAubWFwKE51bWJlci5jYWxsLCBOdW1iZXIpXHJcbiAgICAgIC5tYXAoKG46IG51bWJlcikgPT4ge1xyXG4gICAgICAgIHJldHVybiBtb21lbnQuZGVmYXVsdChmaXJzdERheSkuYWRkKG4sICdkJyk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIGxldCBuID0gMDtcclxuICAgIHdoaWxlIChuIDwgZmlyc3REYXkud2Vla2RheSgpKSB7XHJcbiAgICAgIGRheXMudW5zaGlmdChudWxsKTtcclxuICAgICAgbisrO1xyXG4gICAgfVxyXG4gICAgbiA9IDA7XHJcbiAgICB3aGlsZSAobiA8IDcgLSBsYXN0RGF5LndlZWtkYXkoKSkge1xyXG4gICAgICBkYXlzLnB1c2gobnVsbCk7XHJcbiAgICAgIG4rKztcclxuICAgIH1cclxuXHJcbiAgICBsZXQgaW5kZXggPSAxO1xyXG4gICAgbGV0IGdyb3VwID0gW107XHJcbiAgICBsZXQgZ3JvdXBlZCA9IFtdO1xyXG5cclxuICAgIE9iamVjdC5lbnRyaWVzKGRheXMpLm1hcCgoW2tleSwgdmFsdWVdOiBbc3RyaW5nLCBhbnldKSA9PiB7XHJcbiAgICAgIGlmIChpbmRleCA+IDcpIHtcclxuICAgICAgICBpbmRleCA9IDE7XHJcbiAgICAgICAgZ3JvdXBlZC5wdXNoKGdyb3VwKTtcclxuICAgICAgICBncm91cCA9IFtdO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBncm91cC5wdXNoKHZhbHVlKTtcclxuICAgICAgaW5kZXgrKztcclxuICAgIH0pO1xyXG4gICAgZ3JvdXBlZC5wdXNoKGdyb3VwKTtcclxuXHJcbiAgICByZXR1cm4gZ3JvdXBlZDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGQoKSB7XHJcbiAgICB0aGlzLl9kYXlzQXJyRmlyc3QgPSB0aGlzLmNyZWF0ZUNhbGVuZGFyKHRoaXMuX2RhdGVGaXJzdCk7XHJcbiAgICB0aGlzLl9kYXlzQXJyU2Vjb25kID0gdGhpcy5jcmVhdGVDYWxlbmRhcih0aGlzLl9kYXRlU2Vjb25kKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2xlYXJEYXRlcygpIHtcclxuICAgIGlmICh0aGlzLl9kaXNhYmxlZCkgcmV0dXJuO1xyXG4gICAgdGhpcy5fZGF0ZUZvcm0uc2V0VmFsdWUoeyBzdGFydERhdGU6IG51bGwsIGVuZERhdGU6IG51bGwgfSk7XHJcbiAgICB0aGlzLndyaXRlVmFsdWUodGhpcy5fZGF0ZUZvcm0udmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgbmF2aWdhdGVUb1RvZGF5KCkge1xyXG4gICAgdGhpcy5fZGF0ZUZpcnN0ID0gbW9tZW50LmRlZmF1bHQoKTtcclxuICAgIHRoaXMuX2RhdGVTZWNvbmQgPSBtb21lbnQuZGVmYXVsdCgpLmFkZCgxLCAnTScpO1xyXG4gICAgdGhpcy5idWlsZCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmJ1aWxkKCk7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Nb2RlbENoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbk1vZGVsVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5fZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBzZXQgdmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgaWYgKFxyXG4gICAgICB2YWx1ZSAmJlxyXG4gICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodmFsdWUsICdzdGFydERhdGUnKSAmJlxyXG4gICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodmFsdWUsICdlbmREYXRlJylcclxuICAgICkge1xyXG4gICAgICB0aGlzLl9kYXRlRm9ybS5zZXRWYWx1ZSh2YWx1ZSk7XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgdGhpcy5vbk1vZGVsQ2hhbmdlKHRoaXMuX2RhdGVGb3JtLnZhbHVlKTtcclxuICAgICAgdGhpcy5vbk1vZGVsVG91Y2hlZCh0aGlzLl9kYXRlRm9ybS52YWx1ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNsZWFyRGF0ZXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldCB2YWx1ZSgpOiBhbnkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RhdGVGb3JtLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgICB0aGlzLm9uQ2hhbmdlLm5leHQodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgbmV4dE1vbnRoKCkge1xyXG4gICAgaWYgKHRoaXMuX2Rpc2FibGVkKSByZXR1cm47XHJcbiAgICB0aGlzLl9kYXRlRmlyc3QuYWRkKDEsICdNJyk7XHJcbiAgICB0aGlzLl9kYXRlU2Vjb25kLmFkZCgxLCAnTScpO1xyXG5cclxuICAgIHRoaXMuX2RheXNBcnJGaXJzdCA9IHRoaXMuY3JlYXRlQ2FsZW5kYXIodGhpcy5fZGF0ZUZpcnN0KTtcclxuICAgIHRoaXMuX2RheXNBcnJTZWNvbmQgPSB0aGlzLmNyZWF0ZUNhbGVuZGFyKHRoaXMuX2RhdGVTZWNvbmQpO1xyXG4gIH1cclxuXHJcbiAgcHJldmlvdXNNb250aCgpIHtcclxuICAgIGlmICh0aGlzLl9kaXNhYmxlZCkgcmV0dXJuO1xyXG4gICAgdGhpcy5fZGF0ZUZpcnN0LnN1YnRyYWN0KDEsICdNJyk7XHJcbiAgICB0aGlzLl9kYXRlU2Vjb25kLnN1YnRyYWN0KDEsICdNJyk7XHJcblxyXG4gICAgdGhpcy5fZGF5c0FyckZpcnN0ID0gdGhpcy5jcmVhdGVDYWxlbmRhcih0aGlzLl9kYXRlRmlyc3QpO1xyXG4gICAgdGhpcy5fZGF5c0FyclNlY29uZCA9IHRoaXMuY3JlYXRlQ2FsZW5kYXIodGhpcy5fZGF0ZVNlY29uZCk7XHJcbiAgfVxyXG5cclxuICB0b2RheUNoZWNrKGRheTogYW55KSB7XHJcbiAgICBpZiAoIWRheSkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG1vbWVudC5kZWZhdWx0KCkuZm9ybWF0KCdMJykgPT09IGRheS5mb3JtYXQoJ0wnKTtcclxuICB9XHJcblxyXG4gIGlzU2VsZWN0ZWQoZGF5OiBhbnkpIHtcclxuICAgIGlmICghZGF5KSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgc3RhcnREYXRlTW9tZW50ID0gbW9tZW50LmRlZmF1bHQodGhpcy5fZGF0ZUZvcm0udmFsdWUuc3RhcnREYXRlLCAnWVlZWS1NTS1ERCcpO1xyXG4gICAgbGV0IGVuZERhdGVNb21lbnQgPSBtb21lbnQuZGVmYXVsdCh0aGlzLl9kYXRlRm9ybS52YWx1ZS5lbmREYXRlLCAnWVlZWS1NTS1ERCcpO1xyXG5cclxuICAgIGlmICh0aGlzLl9kYXRlRm9ybS52YWxpZCkge1xyXG4gICAgICByZXR1cm4gc3RhcnREYXRlTW9tZW50LmlzU2FtZU9yQmVmb3JlKGRheSkgJiYgZW5kRGF0ZU1vbWVudC5pc1NhbWVPckFmdGVyKGRheSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuX2RhdGVGb3JtLmdldCgnc3RhcnREYXRlJykudmFsaWQpIHtcclxuICAgICAgcmV0dXJuIHN0YXJ0RGF0ZU1vbWVudC5pc1NhbWUoZGF5KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlzRGlzYWJsZWQoZGF5KSB7XHJcbiAgICBjb25zdCB7IF9taW5EYXRlIH0gPSB0aGlzO1xyXG4gICAgaWYgKF9taW5EYXRlKSB7XHJcbiAgICAgIGNvbnN0IGZpcnN0RGF5ID0gbW9tZW50LmRlZmF1bHQoX21pbkRhdGUpO1xyXG4gICAgICByZXR1cm4gZGF5LmlzQmVmb3JlKGZpcnN0RGF5LnN1YnRyYWN0KDEsICdkYXknKSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBpc0ZpcnN0U2VsZWN0ZWQoZGF5KSB7XHJcbiAgICBjb25zdCB7IF9kYXRlRm9ybSB9ID0gdGhpcztcclxuICAgIGNvbnN0IHsgc3RhcnREYXRlIH0gPSBfZGF0ZUZvcm0udmFsdWU7XHJcbiAgICByZXR1cm4gZGF5Py5pc1NhbWUoc3RhcnREYXRlKTtcclxuICB9XHJcblxyXG4gIGlzTGFzdFNlbGVjdGVkKGRheTogYW55KSB7XHJcbiAgICBjb25zdCB7IF9kYXRlRm9ybSB9ID0gdGhpcztcclxuICAgIGNvbnN0IHsgZW5kRGF0ZSB9ID0gX2RhdGVGb3JtLnZhbHVlO1xyXG4gICAgcmV0dXJuIGRheT8uaXNTYW1lKGVuZERhdGUpO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0ZWREYXRlKGRheTogYW55KSB7XHJcbiAgICBpZiAodGhpcy5fZGlzYWJsZWQpIHJldHVybjtcclxuICAgIGNvbnN0IHsgX2RhdGVGb3JtLCBfbWluRGF0ZSB9ID0gdGhpcztcclxuICAgIGxldCBkYXlGb3JtYXR0ZWQgPSBkYXkuZm9ybWF0KCdZWVlZLU1NLUREJyk7XHJcblxyXG4gICAgaWYgKF9taW5EYXRlKSB7XHJcbiAgICAgIGNvbnN0IGZpcnN0RGF5ID0gbW9tZW50LmRlZmF1bHQoX21pbkRhdGUpO1xyXG4gICAgICBpZiAoZGF5LmlzQmVmb3JlKGZpcnN0RGF5LnN1YnRyYWN0KDEsICdkYXknKSkpIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoX2RhdGVGb3JtLnZhbGlkKSB7XHJcbiAgICAgIHRoaXMuY2xlYXJEYXRlcygpO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCB7IHN0YXJ0RGF0ZSwgZW5kRGF0ZSB9ID0gX2RhdGVGb3JtLnZhbHVlO1xyXG4gICAgaWYgKHN0YXJ0RGF0ZSkge1xyXG4gICAgICBpZiAobW9tZW50LmRlZmF1bHQoc3RhcnREYXRlKS5pc0FmdGVyKG1vbWVudC5kZWZhdWx0KGRheUZvcm1hdHRlZCkpKSB7XHJcbiAgICAgICAgZW5kRGF0ZSA9IHN0YXJ0RGF0ZTtcclxuICAgICAgICBzdGFydERhdGUgPSBkYXlGb3JtYXR0ZWQ7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgZW5kRGF0ZSA9IGRheUZvcm1hdHRlZDtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHN0YXJ0RGF0ZSA9IGRheUZvcm1hdHRlZDtcclxuXHJcbiAgICBpZiAoc3RhcnREYXRlKSB7XHJcbiAgICAgIF9kYXRlRm9ybS5nZXQoJ3N0YXJ0RGF0ZScpLnBhdGNoVmFsdWUoc3RhcnREYXRlKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZW5kRGF0ZSkge1xyXG4gICAgICBfZGF0ZUZvcm0uZ2V0KCdlbmREYXRlJykucGF0Y2hWYWx1ZShlbmREYXRlKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLndyaXRlVmFsdWUoX2RhdGVGb3JtLnZhbHVlKTtcclxuICB9XHJcblxyXG4gIHNlbGVjdFJhbmdlT2ZEYXlzKGRheXM6IG51bWJlcikge1xyXG4gICAgaWYgKHRoaXMuX2Rpc2FibGVkKSByZXR1cm47XHJcbiAgICBjb25zdCB7IF9kYXRlRm9ybSwgX21pbkRhdGUsIHRvZGF5LCBtb3ZlRGF5c0ZvcndhcmQgfSA9IHRoaXM7XHJcbiAgICBjb25zdCB7IHN0YXJ0RGF0ZSB9ID0gX2RhdGVGb3JtLnZhbHVlO1xyXG5cclxuICAgIGNvbnN0IGZpcnN0RGF5ID0gbW9tZW50LmRlZmF1bHQoc3RhcnREYXRlIHx8IF9taW5EYXRlIHx8IHRvZGF5KS5mb3JtYXQoJ1lZWVktTU0tREQnKTtcclxuICAgIGNvbnN0IG1ldGhvZCA9IG1vdmVEYXlzRm9yd2FyZCA/ICdhZGQnIDogJ3N1YnRyYWN0JztcclxuICAgIGNvbnN0IGxhc3REYXkgPSBtb21lbnQuZGVmYXVsdChmaXJzdERheSlbbWV0aG9kXShkYXlzLCAnZGF5JykuZm9ybWF0KCdZWVlZLU1NLUREJyk7XHJcbiAgICBcclxuICAgIGlmKG1vdmVEYXlzRm9yd2FyZCl7XHJcbiAgICAgIF9kYXRlRm9ybS5nZXQoJ3N0YXJ0RGF0ZScpLnBhdGNoVmFsdWUoZmlyc3REYXkpO1xyXG4gICAgICBfZGF0ZUZvcm0uZ2V0KCdlbmREYXRlJykucGF0Y2hWYWx1ZShsYXN0RGF5KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIF9kYXRlRm9ybS5nZXQoJ3N0YXJ0RGF0ZScpLnBhdGNoVmFsdWUobGFzdERheSk7XHJcbiAgICAgIF9kYXRlRm9ybS5nZXQoJ2VuZERhdGUnKS5wYXRjaFZhbHVlKGZpcnN0RGF5KTtcclxuICAgIH1cclxuICAgIHRoaXMud3JpdGVWYWx1ZShfZGF0ZUZvcm0udmFsdWUpO1xyXG4gIH1cclxufVxyXG4iXX0=
|