@wizishop/angular-components 15.1.144 → 15.1.146

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.
@@ -958,135 +958,6 @@ wac-block {
958
958
  margin-right: 0;
959
959
  }
960
960
  }
961
- .wac-breadcrumbs {
962
- width: 100%;
963
- display: flex;
964
- align-items: center;
965
- padding: 0;
966
- margin: 0 0 10px;
967
- border-radius: 3px;
968
-
969
- @include media('<tablet') {
970
- &:not(.no-responsive) {
971
- max-width: 100%;
972
- overflow: hidden;
973
- .wac-breadcrumbs {
974
- &__wrapper {
975
- @include media('<tablet') {
976
- width: auto;
977
- overflow-x: scroll;
978
- }
979
- }
980
- &__item {
981
- @include media('<tablet') {
982
- width: auto;
983
- min-width: unset;
984
- max-width: unset;
985
- .name {
986
- white-space: nowrap;
987
- }
988
- }
989
- }
990
- }
991
- }
992
- }
993
-
994
- &__wrapper {
995
- width: 100%;
996
- display: flex;
997
- align-items: center;
998
- }
999
-
1000
- &__item {
1001
- width: 100%;
1002
- max-width: 50%;
1003
- display: flex;
1004
- align-items: center;
1005
- justify-content: center;
1006
- position: relative;
1007
- padding: 10px;
1008
- cursor: pointer;
1009
- &:before {
1010
- content: '';
1011
- display: block;
1012
- position: absolute;
1013
- bottom: -5px;
1014
- left: 50%;
1015
- transform: translateX(-50%);
1016
- width: calc(100% - 5px);
1017
- height: 3px;
1018
- background-color: $wac-round-breadcrumbs;
1019
- }
1020
- &.current, &.valid {
1021
- &:before {
1022
- background-color: $wac-wizishop-blue;
1023
- }
1024
- &:hover, &:focus {
1025
- .round {
1026
- background-color: $wac-wizishop-blue;
1027
- border-color: $wac-wizishop-blue;
1028
- > span, > i {
1029
- color: $wac-white;
1030
- }
1031
- }
1032
- .name {
1033
- color: $wac-wizishop-blue;
1034
- }
1035
- }
1036
- }
1037
-
1038
-
1039
- &.current {
1040
- &:before {
1041
- height: 5px;
1042
- }
1043
- }
1044
- .round {
1045
- min-width: 30px;
1046
- height: 30px;
1047
- border-radius: 30px;
1048
- display: flex;
1049
- justify-content: center;
1050
- align-items: center;
1051
- border: 2px solid $wac-round-breadcrumbs;
1052
- background-color: $wac-round-breadcrumbs;
1053
- transition: .3s ease;
1054
- margin: 0 15px 0 0;
1055
- > span {
1056
- font-size: rem(12);
1057
- font-weight: 500;
1058
- color: $wac-second-color;
1059
- line-height: 1;
1060
- }
1061
- > i {
1062
- font-size: rem(14);
1063
- color: $wac-wizishop-blue;
1064
- }
1065
- &.valid {
1066
- background-color: transparent;
1067
- border-color: $wac-wizishop-blue;
1068
- color: $wac-wizishop-blue;
1069
- }
1070
- &.current:not(.valid) {
1071
- background-color: $wac-wizishop-blue;
1072
- border-color: $wac-wizishop-blue;
1073
- > span, > i {
1074
- color: $wac-white;
1075
- }
1076
- }
1077
- }
1078
- .name {
1079
- font-size: rem(14);
1080
- font-weight: 500;
1081
- color: $wac-second-color;
1082
- line-height: 1;
1083
- transition: .3s ease;
1084
- &.valid, &.current {
1085
- color: $wac-wizishop-blue;
1086
- }
1087
- }
1088
- }
1089
- }
1090
961
  .w-border-picker {
1091
962
  display: flex;
1092
963
  flex-direction: column;
@@ -1234,7 +1105,136 @@ wac-block {
1234
1105
  }
1235
1106
 
1236
1107
  }
1237
- }.wac-button {
1108
+ }.wac-breadcrumbs {
1109
+ width: 100%;
1110
+ display: flex;
1111
+ align-items: center;
1112
+ padding: 0;
1113
+ margin: 0 0 10px;
1114
+ border-radius: 3px;
1115
+
1116
+ @include media('<tablet') {
1117
+ &:not(.no-responsive) {
1118
+ max-width: 100%;
1119
+ overflow: hidden;
1120
+ .wac-breadcrumbs {
1121
+ &__wrapper {
1122
+ @include media('<tablet') {
1123
+ width: auto;
1124
+ overflow-x: scroll;
1125
+ }
1126
+ }
1127
+ &__item {
1128
+ @include media('<tablet') {
1129
+ width: auto;
1130
+ min-width: unset;
1131
+ max-width: unset;
1132
+ .name {
1133
+ white-space: nowrap;
1134
+ }
1135
+ }
1136
+ }
1137
+ }
1138
+ }
1139
+ }
1140
+
1141
+ &__wrapper {
1142
+ width: 100%;
1143
+ display: flex;
1144
+ align-items: center;
1145
+ }
1146
+
1147
+ &__item {
1148
+ width: 100%;
1149
+ max-width: 50%;
1150
+ display: flex;
1151
+ align-items: center;
1152
+ justify-content: center;
1153
+ position: relative;
1154
+ padding: 10px;
1155
+ cursor: pointer;
1156
+ &:before {
1157
+ content: '';
1158
+ display: block;
1159
+ position: absolute;
1160
+ bottom: -5px;
1161
+ left: 50%;
1162
+ transform: translateX(-50%);
1163
+ width: calc(100% - 5px);
1164
+ height: 3px;
1165
+ background-color: $wac-round-breadcrumbs;
1166
+ }
1167
+ &.current, &.valid {
1168
+ &:before {
1169
+ background-color: $wac-wizishop-blue;
1170
+ }
1171
+ &:hover, &:focus {
1172
+ .round {
1173
+ background-color: $wac-wizishop-blue;
1174
+ border-color: $wac-wizishop-blue;
1175
+ > span, > i {
1176
+ color: $wac-white;
1177
+ }
1178
+ }
1179
+ .name {
1180
+ color: $wac-wizishop-blue;
1181
+ }
1182
+ }
1183
+ }
1184
+
1185
+
1186
+ &.current {
1187
+ &:before {
1188
+ height: 5px;
1189
+ }
1190
+ }
1191
+ .round {
1192
+ min-width: 30px;
1193
+ height: 30px;
1194
+ border-radius: 30px;
1195
+ display: flex;
1196
+ justify-content: center;
1197
+ align-items: center;
1198
+ border: 2px solid $wac-round-breadcrumbs;
1199
+ background-color: $wac-round-breadcrumbs;
1200
+ transition: .3s ease;
1201
+ margin: 0 15px 0 0;
1202
+ > span {
1203
+ font-size: rem(12);
1204
+ font-weight: 500;
1205
+ color: $wac-second-color;
1206
+ line-height: 1;
1207
+ }
1208
+ > i {
1209
+ font-size: rem(14);
1210
+ color: $wac-wizishop-blue;
1211
+ }
1212
+ &.valid {
1213
+ background-color: transparent;
1214
+ border-color: $wac-wizishop-blue;
1215
+ color: $wac-wizishop-blue;
1216
+ }
1217
+ &.current:not(.valid) {
1218
+ background-color: $wac-wizishop-blue;
1219
+ border-color: $wac-wizishop-blue;
1220
+ > span, > i {
1221
+ color: $wac-white;
1222
+ }
1223
+ }
1224
+ }
1225
+ .name {
1226
+ font-size: rem(14);
1227
+ font-weight: 500;
1228
+ color: $wac-second-color;
1229
+ line-height: 1;
1230
+ transition: .3s ease;
1231
+ &.valid, &.current {
1232
+ color: $wac-wizishop-blue;
1233
+ }
1234
+ }
1235
+ }
1236
+ }
1237
+ .wac-button {
1238
1238
  @include flexbox();
1239
1239
  @include justify-content(center);
1240
1240
  @include align-items(center);
@@ -4952,6 +4952,155 @@ wac-grid {
4952
4952
  }
4953
4953
  }
4954
4954
  }
4955
+ @mixin flex-col-start {
4956
+ display: flex;
4957
+ flex-direction: column;
4958
+ justify-content: flex-start;
4959
+ align-items: flex-start;
4960
+ }
4961
+
4962
+ .wac-image-text-section {
4963
+ display: flex;
4964
+ gap: 64px;
4965
+ align-items: center;
4966
+ justify-content: space-between;
4967
+ @include media('<desktop') {
4968
+ gap: 32px;
4969
+ flex-direction: column;
4970
+ justify-content: flex-start;
4971
+ align-items: flex-start;
4972
+ }
4973
+ &--reverse {
4974
+ flex-direction: row-reverse;
4975
+ @include media('<desktop') {
4976
+ flex-direction: column;
4977
+ }
4978
+ }
4979
+ &__left, &__right {
4980
+ width: 100%;
4981
+ }
4982
+
4983
+ &__left {
4984
+ @include flex-col-start;
4985
+ gap: 32px;
4986
+ @include media('>=desktop') {
4987
+ max-width: 40.24%;
4988
+ }
4989
+ &__text {
4990
+ @include flex-col-start;
4991
+ width: 100%;
4992
+ gap: 16px;
4993
+ &--gap32 {
4994
+ gap: 32px;
4995
+ }
4996
+ &__paragraph {
4997
+ @include flex-col-start;
4998
+ width: 100%;
4999
+ gap: 16px;
5000
+ }
5001
+ }
5002
+ &__btn {
5003
+ width: fit-content;
5004
+ @include media('<tablet') {
5005
+ width: 100%;
5006
+ }
5007
+ }
5008
+ }
5009
+
5010
+
5011
+ h2 {
5012
+ font-size: rem(30);
5013
+ line-height: rem(39);
5014
+ font-weight: 700;
5015
+ @include media('<tablet') {
5016
+ font-size: rem(24);
5017
+ line-height: 1.4;
5018
+ }
5019
+ }
5020
+
5021
+ p, span, strong, li {
5022
+ font-size: rem(16);
5023
+ line-height: rem(25);
5024
+ font-weight: 400;
5025
+ }
5026
+
5027
+ strong {
5028
+ line-height: rem(19);
5029
+ font-weight: 600;
5030
+ }
5031
+
5032
+ .bold {
5033
+ font-weight: 700;
5034
+ }
5035
+
5036
+ .italic {
5037
+ color: $second-color;
5038
+ font-style: italic;
5039
+ font-size: rem(14);
5040
+ line-height: rem(16);
5041
+ &.small {
5042
+ font-size: rem(13);
5043
+ line-height: rem(15);
5044
+ @include media('<tablet') {
5045
+ line-height: 1.4;
5046
+ }
5047
+ }
5048
+ }
5049
+
5050
+ .text-center {
5051
+ text-align: center;
5052
+ @include media('<tablet') {
5053
+ text-align: left;
5054
+ }
5055
+ }
5056
+
5057
+ img {
5058
+ max-width: 100%;
5059
+ height: auto;
5060
+ }
5061
+
5062
+ ul {
5063
+ list-style-type: none;
5064
+ padding: 0;
5065
+ margin: 0;
5066
+ width: 100%;
5067
+ @include flex-col-start;
5068
+ gap: 16px;
5069
+ li {
5070
+ display: flex;
5071
+ gap: 16px;
5072
+ i {
5073
+ font-size: rem(20);
5074
+ transform: translateY(2px);
5075
+ color: var(--wizishop-blue-button);
5076
+ }
5077
+ }
5078
+ }
5079
+
5080
+ .gabarit-img-main {
5081
+ position: relative;
5082
+ width: 100%;
5083
+ display: block;
5084
+ &:before {
5085
+ content: '';
5086
+ display: block;
5087
+ padding-top: 54.16%;
5088
+ }
5089
+ img {
5090
+ position: absolute;
5091
+ top: 0;
5092
+ left: 0;
5093
+ width: 100%;
5094
+ height: auto;
5095
+ }
5096
+ }
5097
+
5098
+ .hide-for-mobile {
5099
+ @include media('<tablet') {
5100
+ display: none;
5101
+ }
5102
+ }
5103
+ }
4955
5104
  .wac-info {
4956
5105
  display: inline-block;
4957
5106
  width: 40px;
@@ -0,0 +1,38 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "@angular/router";
5
+ import * as i3 from "../button/button.component";
6
+ export class ImageTextSectionComponent {
7
+ set data(value) {
8
+ this._data = {
9
+ buttonTarget: '_self',
10
+ reverse: false,
11
+ ...value,
12
+ };
13
+ if (typeof this._data.text === 'string') {
14
+ this.textIsArray = false;
15
+ }
16
+ else {
17
+ this.textIsArray = true;
18
+ }
19
+ }
20
+ get data() {
21
+ return this._data;
22
+ }
23
+ constructor() {
24
+ this.textIsArray = false;
25
+ }
26
+ ngOnInit() {
27
+ console.log(this.data.text.length);
28
+ }
29
+ }
30
+ ImageTextSectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ImageTextSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
31
+ ImageTextSectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.5", type: ImageTextSectionComponent, selector: "wac-image-text-section", inputs: { data: "data" }, ngImport: i0, template: "<div class=\"wac-image-text-section\" [ngClass]=\"{'wac-image-text-section--reverse': data?.reverse}\">\r\n <div class=\"wac-image-text-section__left\">\r\n <div class=\"wac-image-text-section__left__text\">\r\n <h2 *ngIf=\"data?.title\" [innerHTML]=\"data.title\"></h2>\r\n <ng-container *ngIf=\"data?.text && textIsArray\">\r\n <div class=\"wac-image-text-section__left__text__paragraph\">\r\n <p *ngFor=\"let text of data.text; let i = index\" [innerHTML]=\"text\"></p>\r\n </div>\r\n </ng-container>\r\n <p *ngIf=\"data?.text && !textIsArray\" [innerHTML]=\"data?.text\"></p>\r\n <ng-container *ngIf=\"data?.listItems\">\r\n <ul>\r\n <li *ngFor=\"let list of data?.listItems\"><i class=\"fa-solid fa-check\"></i><span [innerHTML]=\"list\"></span></li>\r\n </ul>\r\n </ng-container>\r\n </div>\r\n <ng-container *ngIf=\"data?.buttonLink && data?.buttonText\">\r\n <div class=\"wac-image-text-section__left__btn\">\r\n <wac-button [label]=\"data?.buttonText\" routerLink=\"{{data?.buttonLink}}\" [target]=\"data?.buttonTarget\"></wac-button>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"wac-image-text-section__right\">\r\n <div class=\"gabarit-img-main\">\r\n <img [src]=\"data?.imageSrc\" [alt]=\"data?.imageAlt\" />\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i3.ButtonComponent, selector: "wac-button", inputs: ["extraClasses", "label", "icon", "isLoadingSvg", "iconNext", "textcolor", "colorIcon", "widthAuto", "contentHorizontalPosition", "iconFontSize", "hasLoader", "disabled", "whiteSpaceNowrap", "opacity", "animation", "animationRight", "animationText", "confirmDelete", "confirmDeleteText", "coin", "tooltip", "tooltipWidth", "borderColor", "noPadding", "tooltipPosition", "tooltipOneline", "confirmDeletePosition", "isLoading"], outputs: ["click", "isLoadingChange"] }] });
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ImageTextSectionComponent, decorators: [{
33
+ type: Component,
34
+ args: [{ selector: 'wac-image-text-section', template: "<div class=\"wac-image-text-section\" [ngClass]=\"{'wac-image-text-section--reverse': data?.reverse}\">\r\n <div class=\"wac-image-text-section__left\">\r\n <div class=\"wac-image-text-section__left__text\">\r\n <h2 *ngIf=\"data?.title\" [innerHTML]=\"data.title\"></h2>\r\n <ng-container *ngIf=\"data?.text && textIsArray\">\r\n <div class=\"wac-image-text-section__left__text__paragraph\">\r\n <p *ngFor=\"let text of data.text; let i = index\" [innerHTML]=\"text\"></p>\r\n </div>\r\n </ng-container>\r\n <p *ngIf=\"data?.text && !textIsArray\" [innerHTML]=\"data?.text\"></p>\r\n <ng-container *ngIf=\"data?.listItems\">\r\n <ul>\r\n <li *ngFor=\"let list of data?.listItems\"><i class=\"fa-solid fa-check\"></i><span [innerHTML]=\"list\"></span></li>\r\n </ul>\r\n </ng-container>\r\n </div>\r\n <ng-container *ngIf=\"data?.buttonLink && data?.buttonText\">\r\n <div class=\"wac-image-text-section__left__btn\">\r\n <wac-button [label]=\"data?.buttonText\" routerLink=\"{{data?.buttonLink}}\" [target]=\"data?.buttonTarget\"></wac-button>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"wac-image-text-section__right\">\r\n <div class=\"gabarit-img-main\">\r\n <img [src]=\"data?.imageSrc\" [alt]=\"data?.imageAlt\" />\r\n </div>\r\n </div>\r\n</div>\r\n" }]
35
+ }], ctorParameters: function () { return []; }, propDecorators: { data: [{
36
+ type: Input
37
+ }] } });
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtdGV4dC1zZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvaW1hZ2UtdGV4dC1zZWN0aW9uL2ltYWdlLXRleHQtc2VjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2ltYWdlLXRleHQtc2VjdGlvbi9pbWFnZS10ZXh0LXNlY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQVMsTUFBTSxlQUFlLENBQUM7Ozs7O0FBT3ZELE1BQU0sT0FBTyx5QkFBeUI7SUFJcEMsSUFDSSxJQUFJLENBQUMsS0FBMEI7UUFDakMsSUFBSSxDQUFDLEtBQUssR0FBRztZQUNYLFlBQVksRUFBRSxPQUFPO1lBQ3JCLE9BQU8sRUFBRSxLQUFLO1lBQ2QsR0FBRyxLQUFLO1NBQ1QsQ0FBQztRQUNGLElBQUksT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUU7WUFDdkMsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7U0FDMUI7YUFBTTtZQUNMLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQztJQUVELElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ0Q7UUFsQk8sZ0JBQVcsR0FBRyxLQUFLLENBQUM7SUFrQlosQ0FBQztJQUVoQixRQUFRO1FBQ04sT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyQyxDQUFDOztzSEF6QlUseUJBQXlCOzBHQUF6Qix5QkFBeUIsd0ZDUHRDLGszQ0E0QkE7MkZEckJhLHlCQUF5QjtrQkFKckMsU0FBUzsrQkFDRSx3QkFBd0I7MEVBUTlCLElBQUk7c0JBRFAsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtJbWFnZVRleHRTZWN0aW9uRHRvfSBmcm9tIFwiLi9pbWFnZS10ZXh0LXNlY3Rpb24uZHRvXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3dhYy1pbWFnZS10ZXh0LXNlY3Rpb24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbWFnZS10ZXh0LXNlY3Rpb24uY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbWFnZVRleHRTZWN0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgcHJpdmF0ZSBfZGF0YSE6IEltYWdlVGV4dFNlY3Rpb25EdG87XHJcbiAgcHVibGljIHRleHRJc0FycmF5ID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBzZXQgZGF0YSh2YWx1ZTogSW1hZ2VUZXh0U2VjdGlvbkR0bykge1xyXG4gICAgdGhpcy5fZGF0YSA9IHtcclxuICAgICAgYnV0dG9uVGFyZ2V0OiAnX3NlbGYnLFxyXG4gICAgICByZXZlcnNlOiBmYWxzZSxcclxuICAgICAgLi4udmFsdWUsXHJcbiAgICB9O1xyXG4gICAgaWYgKHR5cGVvZiB0aGlzLl9kYXRhLnRleHQgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIHRoaXMudGV4dElzQXJyYXkgPSBmYWxzZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudGV4dElzQXJyYXkgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0IGRhdGEoKTogSW1hZ2VUZXh0U2VjdGlvbkR0byB7XHJcbiAgICByZXR1cm4gdGhpcy5fZGF0YTtcclxuICB9XHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGNvbnNvbGUubG9nKHRoaXMuZGF0YS50ZXh0Lmxlbmd0aCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ3YWMtaW1hZ2UtdGV4dC1zZWN0aW9uXCIgW25nQ2xhc3NdPVwieyd3YWMtaW1hZ2UtdGV4dC1zZWN0aW9uLS1yZXZlcnNlJzogZGF0YT8ucmV2ZXJzZX1cIj5cclxuICA8ZGl2IGNsYXNzPVwid2FjLWltYWdlLXRleHQtc2VjdGlvbl9fbGVmdFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIndhYy1pbWFnZS10ZXh0LXNlY3Rpb25fX2xlZnRfX3RleHRcIj5cclxuICAgICAgPGgyICpuZ0lmPVwiZGF0YT8udGl0bGVcIiBbaW5uZXJIVE1MXT1cImRhdGEudGl0bGVcIj48L2gyPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGF0YT8udGV4dCAmJiB0ZXh0SXNBcnJheVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3YWMtaW1hZ2UtdGV4dC1zZWN0aW9uX19sZWZ0X190ZXh0X19wYXJhZ3JhcGhcIj5cclxuICAgICAgICAgIDxwICpuZ0Zvcj1cImxldCB0ZXh0IG9mIGRhdGEudGV4dDsgbGV0IGkgPSBpbmRleFwiIFtpbm5lckhUTUxdPVwidGV4dFwiPjwvcD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxwICpuZ0lmPVwiZGF0YT8udGV4dCAmJiAhdGV4dElzQXJyYXlcIiBbaW5uZXJIVE1MXT1cImRhdGE/LnRleHRcIj48L3A+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRhPy5saXN0SXRlbXNcIj5cclxuICAgICAgICA8dWw+XHJcbiAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGxpc3Qgb2YgZGF0YT8ubGlzdEl0ZW1zXCI+PGkgY2xhc3M9XCJmYS1zb2xpZCBmYS1jaGVja1wiPjwvaT48c3BhbiBbaW5uZXJIVE1MXT1cImxpc3RcIj48L3NwYW4+PC9saT5cclxuICAgICAgICA8L3VsPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRhdGE/LmJ1dHRvbkxpbmsgJiYgZGF0YT8uYnV0dG9uVGV4dFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwid2FjLWltYWdlLXRleHQtc2VjdGlvbl9fbGVmdF9fYnRuXCI+XHJcbiAgICAgICAgICA8d2FjLWJ1dHRvbiBbbGFiZWxdPVwiZGF0YT8uYnV0dG9uVGV4dFwiIHJvdXRlckxpbms9XCJ7e2RhdGE/LmJ1dHRvbkxpbmt9fVwiIFt0YXJnZXRdPVwiZGF0YT8uYnV0dG9uVGFyZ2V0XCI+PC93YWMtYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJ3YWMtaW1hZ2UtdGV4dC1zZWN0aW9uX19yaWdodFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImdhYmFyaXQtaW1nLW1haW5cIj5cclxuICAgICAgPGltZyBbc3JjXT1cImRhdGE/LmltYWdlU3JjXCIgW2FsdF09XCJkYXRhPy5pbWFnZUFsdFwiIC8+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtdGV4dC1zZWN0aW9uLmR0by5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvaW1hZ2UtdGV4dC1zZWN0aW9uL2ltYWdlLXRleHQtc2VjdGlvbi5kdG8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSW1hZ2VUZXh0U2VjdGlvbkR0byB7XHJcbiAgaW1hZ2VTcmM6IHN0cmluZztcclxuICByZXZlcnNlPzogYm9vbGVhbjtcclxuICBpbWFnZUFsdD86IHN0cmluZztcclxuICB0aXRsZT86IHN0cmluZztcclxuICB0ZXh0PzogQXJyYXk8c3RyaW5nPiB8IHN0cmluZztcclxuICBsaXN0SXRlbXM/OiBBcnJheTxzdHJpbmc+O1xyXG4gIGJ1dHRvblRleHQ/OiBzdHJpbmc7XHJcbiAgYnV0dG9uTGluaz86IHN0cmluZztcclxuICBidXR0b25UYXJnZXQ/OiAnX2JsYW5rJyB8ICdfc2VsZicgfCAnX3BhcmVudCcgfCAnX3RvcCc7XHJcbn1cclxuIl19
@@ -98,7 +98,7 @@ export class InputComponent {
98
98
  }
99
99
  }
100
100
  InputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: InputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
101
- InputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.5", type: InputComponent, isStandalone: true, selector: "wac-input", inputs: { label: "label", value: "value", type: "type", placeholder: "placeholder", textInfo: "textInfo", textError: "textError", size: "size", isNumber: "isNumber", withoutBlock: "withoutBlock", icon: "icon", big: "big", medium: "medium", boldLabel: "boldLabel", min: "min", max: "max", disableMargin: "disableMargin", textPrepend: "textPrepend", textAppend: "textAppend", progressBar: "progressBar", extraClasses: "extraClasses", keyPreventDefault: "keyPreventDefault", showTooltip: "showTooltip", textTooltip: "textTooltip", iconTooltip: "iconTooltip", urlTooltip: "urlTooltip", linkTooltip: "linkTooltip", padding: "padding", disabled: "disabled", indication: "indication", success: "success", error: "error", maxlength: "maxlength", minlength: "minlength", indicationLeft: "indicationLeft" }, outputs: { keypressEnter: "keypressEnter", blurred: "blurred" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: InputComponent, multi: true }], ngImport: i0, template: "<div\r\n class=\"field wac-input\"\r\n [ngClass]=\"{ 'has-no-block': withoutBlock, 'is-big': big, 'is-medium': medium, 'with-padding': padding, 'indication-left': indicationLeft, 'with-progress-bar': progressBar }\"\r\n>\r\n <div class=\"field-label is-normal has-text-left\" *ngIf=\"!withoutBlock\">\r\n <label\r\n [ngClass]=\"[boldLabel === 'true' ? 'label has-text-weight-bold' : 'label has-text-weight-normal', showTooltip ? 'label-inline' : '', size && !progressBar ? 'has-padding-right-mobile' : '']\"\r\n [innerHTML]=\"label\"\r\n [for]=\"id\"\r\n ></label>\r\n <wac-tooltip\r\n *ngIf=\"showTooltip\"\r\n [tooltipIcon]=\"iconTooltip\"\r\n [tooltipText]=\"textTooltip\"\r\n [tooltipLink]=\"linkTooltip\"\r\n [tooltipUrl]=\"urlTooltip\"\r\n ></wac-tooltip>\r\n <!-- Size -->\r\n <span *ngIf=\"size && !progressBar\" class=\"is-size-7 wac-input__size\">\r\n <strong>{{ !value ? 0 : value.toString().length }}</strong> / {{ size }}\r\n </span>\r\n </div>\r\n <div class=\"field-body\">\r\n <div class=\"field\">\r\n <p\r\n class=\"control\"\r\n [ngClass]=\"{ 'has-icons-right': textError || success || error, 'has-icons-left': icon !== '', 'has-input-group': textAppend || textPrepend }\"\r\n >\r\n <!-- Text Prepend -->\r\n <span *ngIf=\"textPrepend\" class=\"has-input-group\">\r\n <span class=\"has-input-group-text prepend\">{{ textPrepend }}</span>\r\n <span *ngIf=\"icon !== ''\" class=\"icon is-small is-left\">\r\n <i [class]=\"icon\"></i>\r\n </span>\r\n </span>\r\n\r\n <!-- Input -->\r\n <input\r\n [class]=\"'input ' + extraClasses\"\r\n [id]=\"id\"\r\n [ngClass]=\"{\r\n 'is-danger': (textError || error) && !disabled,\r\n 'is-empty': value === '',\r\n 'is-large': big,\r\n 'is-number': isNumber,\r\n 'remove-margin': disableMargin,\r\n 'text-append': textAppend\r\n }\"\r\n [type]=\"type\"\r\n [placeholder]=\"placeholder\"\r\n [attr.size]=\"size\"\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"onChange($event)\"\r\n (blur)=\"onBlur()\"\r\n [disabled]=\"disabled\"\r\n (focusout)=\"onFocusOut()\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n [maxlength]=\"maxlength ? maxlength : 524288\"\r\n [minlength]=\"minlength ? minlength : 0\"\r\n (keypress)=\"keyPress($event)\"\r\n />\r\n\r\n <!-- Indication at the end of the input -->\r\n <span class=\"indication\" *ngIf=\"indication\" [ngClass]=\"{'reverse': indicationLeft}\">\r\n <span [innerHTML]=\"indication\"></span>\r\n </span>\r\n\r\n <!-- Text Append -->\r\n <span *ngIf=\"textAppend && !indicationLeft\" class=\"has-input-group\">\r\n <span class=\"has-input-group-text append\">{{ textAppend }}</span>\r\n <!-- error if text append not empty -->\r\n <span *ngIf=\"textError\" class=\"icon is-small is-right\">\r\n <i class=\"fal fa-times has-text-danger\"></i>\r\n </span>\r\n </span>\r\n\r\n <!-- Icon Left -->\r\n <span *ngIf=\"icon !== '' && !textPrepend && !indicationLeft\" class=\"icon is-small is-left\">\r\n <i [class]=\"icon\"></i>\r\n </span>\r\n\r\n <!-- Icon error if textAppend empty -->\r\n <span *ngIf=\"(textError || error) && !textAppend && !indicationLeft && !disabled\" class=\"icon is-small is-right\">\r\n <i class=\"fal fa-times has-text-danger\"></i>\r\n </span>\r\n\r\n <!-- Icon success -->\r\n <span *ngIf=\"success && !disabled\" class=\"icon is-small is-right\">\r\n <i class=\"fas fa-check has-text-success\"></i>\r\n </span>\r\n\r\n <!-- Text Info -->\r\n <span\r\n *ngIf=\"textInfo && (textError === null || textError === '') && !progressBar && !indicationLeft\"\r\n class=\"is-size-7 wac-input__info text-info\"\r\n [innerHtml]=\"textInfo\"\r\n ></span>\r\n\r\n <!-- Text Error -->\r\n <span *ngIf=\"textError && !progressBar && !indicationLeft\" class=\"is-size-7 wac-input__error has-text-danger\" [innerHtml]=\"textError\"></span>\r\n </p>\r\n\r\n <!-- Progress Bar -->\r\n <wac-progress-bar *ngIf=\"progressBar && !indicationLeft\" [min]=\"min\" [max]=\"max\" [valueLength]=\"value.length\"></wac-progress-bar>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: SharedDirectives }, { kind: "ngmodule", type: TooltipModule }, { kind: "component", type: i3.TooltipComponent, selector: "wac-tooltip", inputs: ["tooltipIcon", "tooltipText", "tooltipLink", "tooltipUrl"] }, { kind: "component", type: ProgressBarComponent, selector: "wac-progress-bar", inputs: ["valueLength", "min", "max"] }] });
101
+ InputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.5", type: InputComponent, isStandalone: true, selector: "wac-input", inputs: { label: "label", value: "value", type: "type", placeholder: "placeholder", textInfo: "textInfo", textError: "textError", size: "size", isNumber: "isNumber", withoutBlock: "withoutBlock", icon: "icon", big: "big", medium: "medium", boldLabel: "boldLabel", min: "min", max: "max", disableMargin: "disableMargin", textPrepend: "textPrepend", textAppend: "textAppend", progressBar: "progressBar", extraClasses: "extraClasses", keyPreventDefault: "keyPreventDefault", showTooltip: "showTooltip", textTooltip: "textTooltip", iconTooltip: "iconTooltip", urlTooltip: "urlTooltip", linkTooltip: "linkTooltip", padding: "padding", disabled: "disabled", indication: "indication", success: "success", error: "error", maxlength: "maxlength", minlength: "minlength", indicationLeft: "indicationLeft" }, outputs: { keypressEnter: "keypressEnter", blurred: "blurred" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: InputComponent, multi: true }], ngImport: i0, template: "<div\r\n class=\"field wac-input\"\r\n [ngClass]=\"{ 'has-no-block': withoutBlock, 'is-big': big, 'is-medium': medium, 'with-padding': padding, 'indication-left': indicationLeft, 'with-progress-bar': progressBar }\"\r\n>\r\n <div class=\"field-label is-normal has-text-left\" *ngIf=\"!withoutBlock && label\">\r\n <label\r\n [ngClass]=\"[boldLabel === 'true' ? 'label has-text-weight-bold' : 'label has-text-weight-normal', showTooltip ? 'label-inline' : '', size && !progressBar ? 'has-padding-right-mobile' : '']\"\r\n [innerHTML]=\"label\"\r\n [for]=\"id\"\r\n ></label>\r\n <wac-tooltip\r\n *ngIf=\"showTooltip\"\r\n [tooltipIcon]=\"iconTooltip\"\r\n [tooltipText]=\"textTooltip\"\r\n [tooltipLink]=\"linkTooltip\"\r\n [tooltipUrl]=\"urlTooltip\"\r\n ></wac-tooltip>\r\n <!-- Size -->\r\n <span *ngIf=\"size && !progressBar\" class=\"is-size-7 wac-input__size\">\r\n <strong>{{ !value ? 0 : value.toString().length }}</strong> / {{ size }}\r\n </span>\r\n </div>\r\n <div class=\"field-body\">\r\n <div class=\"field\">\r\n <p\r\n class=\"control\"\r\n [ngClass]=\"{ 'has-icons-right': textError || success || error, 'has-icons-left': icon !== '', 'has-input-group': textAppend || textPrepend }\"\r\n >\r\n <!-- Text Prepend -->\r\n <span *ngIf=\"textPrepend\" class=\"has-input-group\">\r\n <span class=\"has-input-group-text prepend\">{{ textPrepend }}</span>\r\n <span *ngIf=\"icon !== ''\" class=\"icon is-small is-left\">\r\n <i [class]=\"icon\"></i>\r\n </span>\r\n </span>\r\n\r\n <!-- Input -->\r\n <input\r\n [class]=\"'input ' + extraClasses\"\r\n [id]=\"id\"\r\n [ngClass]=\"{\r\n 'is-danger': (textError || error) && !disabled,\r\n 'is-empty': value === '',\r\n 'is-large': big,\r\n 'is-number': isNumber,\r\n 'remove-margin': disableMargin,\r\n 'text-append': textAppend\r\n }\"\r\n [type]=\"type\"\r\n [placeholder]=\"placeholder\"\r\n [attr.size]=\"size\"\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"onChange($event)\"\r\n (blur)=\"onBlur()\"\r\n [disabled]=\"disabled\"\r\n (focusout)=\"onFocusOut()\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n [maxlength]=\"maxlength ? maxlength : 524288\"\r\n [minlength]=\"minlength ? minlength : 0\"\r\n (keypress)=\"keyPress($event)\"\r\n />\r\n\r\n <!-- Indication at the end of the input -->\r\n <span class=\"indication\" *ngIf=\"indication\" [ngClass]=\"{'reverse': indicationLeft}\">\r\n <span [innerHTML]=\"indication\"></span>\r\n </span>\r\n\r\n <!-- Text Append -->\r\n <span *ngIf=\"textAppend && !indicationLeft\" class=\"has-input-group\">\r\n <span class=\"has-input-group-text append\">{{ textAppend }}</span>\r\n <!-- error if text append not empty -->\r\n <span *ngIf=\"textError\" class=\"icon is-small is-right\">\r\n <i class=\"fal fa-times has-text-danger\"></i>\r\n </span>\r\n </span>\r\n\r\n <!-- Icon Left -->\r\n <span *ngIf=\"icon !== '' && !textPrepend && !indicationLeft\" class=\"icon is-small is-left\">\r\n <i [class]=\"icon\"></i>\r\n </span>\r\n\r\n <!-- Icon error if textAppend empty -->\r\n <span *ngIf=\"(textError || error) && !textAppend && !indicationLeft && !disabled\" class=\"icon is-small is-right\">\r\n <i class=\"fal fa-times has-text-danger\"></i>\r\n </span>\r\n\r\n <!-- Icon success -->\r\n <span *ngIf=\"success && !disabled\" class=\"icon is-small is-right\">\r\n <i class=\"fas fa-check has-text-success\"></i>\r\n </span>\r\n\r\n <!-- Text Info -->\r\n <span\r\n *ngIf=\"textInfo && (textError === null || textError === '') && !progressBar && !indicationLeft\"\r\n class=\"is-size-7 wac-input__info text-info\"\r\n [innerHtml]=\"textInfo\"\r\n ></span>\r\n\r\n <!-- Text Error -->\r\n <span *ngIf=\"textError && !progressBar && !indicationLeft\" class=\"is-size-7 wac-input__error has-text-danger\" [innerHtml]=\"textError\"></span>\r\n </p>\r\n\r\n <!-- Progress Bar -->\r\n <wac-progress-bar *ngIf=\"progressBar && !indicationLeft\" [min]=\"min\" [max]=\"max\" [valueLength]=\"value.length\"></wac-progress-bar>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: SharedDirectives }, { kind: "ngmodule", type: TooltipModule }, { kind: "component", type: i3.TooltipComponent, selector: "wac-tooltip", inputs: ["tooltipIcon", "tooltipText", "tooltipLink", "tooltipUrl"] }, { kind: "component", type: ProgressBarComponent, selector: "wac-progress-bar", inputs: ["valueLength", "min", "max"] }] });
102
102
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: InputComponent, decorators: [{
103
103
  type: Component,
104
104
  args: [{ selector: 'wac-input', standalone: true, imports: [
@@ -107,7 +107,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImpor
107
107
  SharedDirectives,
108
108
  TooltipModule,
109
109
  ProgressBarComponent
110
- ], providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: InputComponent, multi: true }], template: "<div\r\n class=\"field wac-input\"\r\n [ngClass]=\"{ 'has-no-block': withoutBlock, 'is-big': big, 'is-medium': medium, 'with-padding': padding, 'indication-left': indicationLeft, 'with-progress-bar': progressBar }\"\r\n>\r\n <div class=\"field-label is-normal has-text-left\" *ngIf=\"!withoutBlock\">\r\n <label\r\n [ngClass]=\"[boldLabel === 'true' ? 'label has-text-weight-bold' : 'label has-text-weight-normal', showTooltip ? 'label-inline' : '', size && !progressBar ? 'has-padding-right-mobile' : '']\"\r\n [innerHTML]=\"label\"\r\n [for]=\"id\"\r\n ></label>\r\n <wac-tooltip\r\n *ngIf=\"showTooltip\"\r\n [tooltipIcon]=\"iconTooltip\"\r\n [tooltipText]=\"textTooltip\"\r\n [tooltipLink]=\"linkTooltip\"\r\n [tooltipUrl]=\"urlTooltip\"\r\n ></wac-tooltip>\r\n <!-- Size -->\r\n <span *ngIf=\"size && !progressBar\" class=\"is-size-7 wac-input__size\">\r\n <strong>{{ !value ? 0 : value.toString().length }}</strong> / {{ size }}\r\n </span>\r\n </div>\r\n <div class=\"field-body\">\r\n <div class=\"field\">\r\n <p\r\n class=\"control\"\r\n [ngClass]=\"{ 'has-icons-right': textError || success || error, 'has-icons-left': icon !== '', 'has-input-group': textAppend || textPrepend }\"\r\n >\r\n <!-- Text Prepend -->\r\n <span *ngIf=\"textPrepend\" class=\"has-input-group\">\r\n <span class=\"has-input-group-text prepend\">{{ textPrepend }}</span>\r\n <span *ngIf=\"icon !== ''\" class=\"icon is-small is-left\">\r\n <i [class]=\"icon\"></i>\r\n </span>\r\n </span>\r\n\r\n <!-- Input -->\r\n <input\r\n [class]=\"'input ' + extraClasses\"\r\n [id]=\"id\"\r\n [ngClass]=\"{\r\n 'is-danger': (textError || error) && !disabled,\r\n 'is-empty': value === '',\r\n 'is-large': big,\r\n 'is-number': isNumber,\r\n 'remove-margin': disableMargin,\r\n 'text-append': textAppend\r\n }\"\r\n [type]=\"type\"\r\n [placeholder]=\"placeholder\"\r\n [attr.size]=\"size\"\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"onChange($event)\"\r\n (blur)=\"onBlur()\"\r\n [disabled]=\"disabled\"\r\n (focusout)=\"onFocusOut()\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n [maxlength]=\"maxlength ? maxlength : 524288\"\r\n [minlength]=\"minlength ? minlength : 0\"\r\n (keypress)=\"keyPress($event)\"\r\n />\r\n\r\n <!-- Indication at the end of the input -->\r\n <span class=\"indication\" *ngIf=\"indication\" [ngClass]=\"{'reverse': indicationLeft}\">\r\n <span [innerHTML]=\"indication\"></span>\r\n </span>\r\n\r\n <!-- Text Append -->\r\n <span *ngIf=\"textAppend && !indicationLeft\" class=\"has-input-group\">\r\n <span class=\"has-input-group-text append\">{{ textAppend }}</span>\r\n <!-- error if text append not empty -->\r\n <span *ngIf=\"textError\" class=\"icon is-small is-right\">\r\n <i class=\"fal fa-times has-text-danger\"></i>\r\n </span>\r\n </span>\r\n\r\n <!-- Icon Left -->\r\n <span *ngIf=\"icon !== '' && !textPrepend && !indicationLeft\" class=\"icon is-small is-left\">\r\n <i [class]=\"icon\"></i>\r\n </span>\r\n\r\n <!-- Icon error if textAppend empty -->\r\n <span *ngIf=\"(textError || error) && !textAppend && !indicationLeft && !disabled\" class=\"icon is-small is-right\">\r\n <i class=\"fal fa-times has-text-danger\"></i>\r\n </span>\r\n\r\n <!-- Icon success -->\r\n <span *ngIf=\"success && !disabled\" class=\"icon is-small is-right\">\r\n <i class=\"fas fa-check has-text-success\"></i>\r\n </span>\r\n\r\n <!-- Text Info -->\r\n <span\r\n *ngIf=\"textInfo && (textError === null || textError === '') && !progressBar && !indicationLeft\"\r\n class=\"is-size-7 wac-input__info text-info\"\r\n [innerHtml]=\"textInfo\"\r\n ></span>\r\n\r\n <!-- Text Error -->\r\n <span *ngIf=\"textError && !progressBar && !indicationLeft\" class=\"is-size-7 wac-input__error has-text-danger\" [innerHtml]=\"textError\"></span>\r\n </p>\r\n\r\n <!-- Progress Bar -->\r\n <wac-progress-bar *ngIf=\"progressBar && !indicationLeft\" [min]=\"min\" [max]=\"max\" [valueLength]=\"value.length\"></wac-progress-bar>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
110
+ ], providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: InputComponent, multi: true }], template: "<div\r\n class=\"field wac-input\"\r\n [ngClass]=\"{ 'has-no-block': withoutBlock, 'is-big': big, 'is-medium': medium, 'with-padding': padding, 'indication-left': indicationLeft, 'with-progress-bar': progressBar }\"\r\n>\r\n <div class=\"field-label is-normal has-text-left\" *ngIf=\"!withoutBlock && label\">\r\n <label\r\n [ngClass]=\"[boldLabel === 'true' ? 'label has-text-weight-bold' : 'label has-text-weight-normal', showTooltip ? 'label-inline' : '', size && !progressBar ? 'has-padding-right-mobile' : '']\"\r\n [innerHTML]=\"label\"\r\n [for]=\"id\"\r\n ></label>\r\n <wac-tooltip\r\n *ngIf=\"showTooltip\"\r\n [tooltipIcon]=\"iconTooltip\"\r\n [tooltipText]=\"textTooltip\"\r\n [tooltipLink]=\"linkTooltip\"\r\n [tooltipUrl]=\"urlTooltip\"\r\n ></wac-tooltip>\r\n <!-- Size -->\r\n <span *ngIf=\"size && !progressBar\" class=\"is-size-7 wac-input__size\">\r\n <strong>{{ !value ? 0 : value.toString().length }}</strong> / {{ size }}\r\n </span>\r\n </div>\r\n <div class=\"field-body\">\r\n <div class=\"field\">\r\n <p\r\n class=\"control\"\r\n [ngClass]=\"{ 'has-icons-right': textError || success || error, 'has-icons-left': icon !== '', 'has-input-group': textAppend || textPrepend }\"\r\n >\r\n <!-- Text Prepend -->\r\n <span *ngIf=\"textPrepend\" class=\"has-input-group\">\r\n <span class=\"has-input-group-text prepend\">{{ textPrepend }}</span>\r\n <span *ngIf=\"icon !== ''\" class=\"icon is-small is-left\">\r\n <i [class]=\"icon\"></i>\r\n </span>\r\n </span>\r\n\r\n <!-- Input -->\r\n <input\r\n [class]=\"'input ' + extraClasses\"\r\n [id]=\"id\"\r\n [ngClass]=\"{\r\n 'is-danger': (textError || error) && !disabled,\r\n 'is-empty': value === '',\r\n 'is-large': big,\r\n 'is-number': isNumber,\r\n 'remove-margin': disableMargin,\r\n 'text-append': textAppend\r\n }\"\r\n [type]=\"type\"\r\n [placeholder]=\"placeholder\"\r\n [attr.size]=\"size\"\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"onChange($event)\"\r\n (blur)=\"onBlur()\"\r\n [disabled]=\"disabled\"\r\n (focusout)=\"onFocusOut()\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n [maxlength]=\"maxlength ? maxlength : 524288\"\r\n [minlength]=\"minlength ? minlength : 0\"\r\n (keypress)=\"keyPress($event)\"\r\n />\r\n\r\n <!-- Indication at the end of the input -->\r\n <span class=\"indication\" *ngIf=\"indication\" [ngClass]=\"{'reverse': indicationLeft}\">\r\n <span [innerHTML]=\"indication\"></span>\r\n </span>\r\n\r\n <!-- Text Append -->\r\n <span *ngIf=\"textAppend && !indicationLeft\" class=\"has-input-group\">\r\n <span class=\"has-input-group-text append\">{{ textAppend }}</span>\r\n <!-- error if text append not empty -->\r\n <span *ngIf=\"textError\" class=\"icon is-small is-right\">\r\n <i class=\"fal fa-times has-text-danger\"></i>\r\n </span>\r\n </span>\r\n\r\n <!-- Icon Left -->\r\n <span *ngIf=\"icon !== '' && !textPrepend && !indicationLeft\" class=\"icon is-small is-left\">\r\n <i [class]=\"icon\"></i>\r\n </span>\r\n\r\n <!-- Icon error if textAppend empty -->\r\n <span *ngIf=\"(textError || error) && !textAppend && !indicationLeft && !disabled\" class=\"icon is-small is-right\">\r\n <i class=\"fal fa-times has-text-danger\"></i>\r\n </span>\r\n\r\n <!-- Icon success -->\r\n <span *ngIf=\"success && !disabled\" class=\"icon is-small is-right\">\r\n <i class=\"fas fa-check has-text-success\"></i>\r\n </span>\r\n\r\n <!-- Text Info -->\r\n <span\r\n *ngIf=\"textInfo && (textError === null || textError === '') && !progressBar && !indicationLeft\"\r\n class=\"is-size-7 wac-input__info text-info\"\r\n [innerHtml]=\"textInfo\"\r\n ></span>\r\n\r\n <!-- Text Error -->\r\n <span *ngIf=\"textError && !progressBar && !indicationLeft\" class=\"is-size-7 wac-input__error has-text-danger\" [innerHtml]=\"textError\"></span>\r\n </p>\r\n\r\n <!-- Progress Bar -->\r\n <wac-progress-bar *ngIf=\"progressBar && !indicationLeft\" [min]=\"min\" [max]=\"max\" [valueLength]=\"value.length\"></wac-progress-bar>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
111
111
  }], propDecorators: { label: [{
112
112
  type: Input
113
113
  }], value: [{
@@ -181,4 +181,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImpor
181
181
  }], blurred: [{
182
182
  type: Output
183
183
  }] } });
184
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dHMvaW5wdXQvaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dHMvaW5wdXQvaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUF3QixXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDaEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7Ozs7O0FBY2pGLE1BQU0sT0FBTyxjQUFjO0lBWjNCO1FBY0UsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUVYLFVBQUssR0FBRyxFQUFFLENBQUM7UUFFWCxTQUFJLEdBQUcsTUFBTSxDQUFDO1FBRWQsZ0JBQVcsR0FBRyxFQUFFLENBQUMsQ0FBQyx1Q0FBdUM7UUFFekQsYUFBUSxHQUFHLElBQUksQ0FBQyxDQUFDLHdDQUF3QztRQUV6RCxjQUFTLEdBQUcsSUFBSSxDQUFDLENBQUMsd0NBQXdDO1FBRTFELFNBQUksR0FBRyxJQUFJLENBQUM7UUFFWixhQUFRLEdBQUcsSUFBSSxDQUFDO1FBRWhCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRXJCLFNBQUksR0FBRyxFQUFFLENBQUM7UUFFVixRQUFHLEdBQUcsS0FBSyxDQUFDO1FBRVosV0FBTSxHQUFHLEtBQUssQ0FBQztRQUVmLGNBQVMsR0FBRyxPQUFPLENBQUMsQ0FBQywwQkFBMEI7UUFFL0MsUUFBRyxHQUFHLElBQUksQ0FBQztRQUVYLFFBQUcsR0FBRyxJQUFJLENBQUM7UUFFWCxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUV0QixnQkFBVyxHQUFHLElBQUksQ0FBQyxDQUFDLHdDQUF3QztRQUU1RCxlQUFVLEdBQUcsSUFBSSxDQUFDLENBQUUsd0NBQXdDO1FBRTVELGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRXBCLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBRWxCLHNCQUFpQixHQUFHLEVBQUUsQ0FBQztRQUV2QixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUVwQixnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUVqQixnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUVqQixlQUFVLEdBQUcsRUFBRSxDQUFDO1FBRWhCLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBRWpCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFFaEIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVqQixlQUFVLEdBQUcsRUFBRSxDQUFDLENBQUMsd0NBQXdDO1FBRXpELFlBQU8sR0FBRyxLQUFLLENBQUM7UUFFaEIsVUFBSyxHQUFHLEtBQUssQ0FBQztRQU1kLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBRWIsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQzVDLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRXJDLG1CQUFjLEdBQUcsT0FBTyxDQUFDO1FBRWpDLE9BQUUsR0FDQSxXQUFXO1lBQ1gsSUFBSSxDQUFDLE1BQU0sRUFBRTtpQkFDVixRQUFRLENBQUMsRUFBRSxDQUFDO2lCQUNaLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFVixjQUFTLEdBQUcsQ0FBQyxLQUFhLEVBQUUsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUNsQyxlQUFVLEdBQWEsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0tBdUR6QztJQXJEQyxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxVQUFtQjtRQUNsQyxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztJQUM3QixDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQVE7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7SUFDbkIsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFhO1FBQ3BCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNsQixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3ZCO0lBQ0gsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1NBQ25CO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBSztRQUNwQixJQUFJLElBQUksQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsR0FBRyxLQUFLLEVBQUU7WUFDaEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO1NBQ3ZCO1FBQ0QsSUFBSSxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLEdBQUcsS0FBSyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztTQUN2QjtJQUNILENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUMxQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ25DO0lBQ0gsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFvQjtRQUMzQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQzlDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUN4QjtRQUVELElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3JDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQy9CO0lBQ0gsQ0FBQzs7MkdBeElVLGNBQWM7K0ZBQWQsY0FBYyx1NUJBRmQsQ0FBQyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQywwQkNqQnZGLGdoSkE0R0EsMkNEaEdJLFlBQVksZ09BQ1osV0FBVyxvN0JBQ1gsZ0JBQWdCLDhCQUNoQixhQUFhLCtLQUNiLG9CQUFvQjsyRkFHWCxjQUFjO2tCQVoxQixTQUFTOytCQUNFLFdBQVcsY0FFVCxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixvQkFBb0I7cUJBQUMsYUFDWixDQUFDLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDOzhCQUlyRixLQUFLO3NCQURKLEtBQUs7Z0JBR04sS0FBSztzQkFESixLQUFLO2dCQUdOLElBQUk7c0JBREgsS0FBSztnQkFHTixXQUFXO3NCQURWLEtBQUs7Z0JBR04sUUFBUTtzQkFEUCxLQUFLO2dCQUdOLFNBQVM7c0JBRFIsS0FBSztnQkFHTixJQUFJO3NCQURILEtBQUs7Z0JBR04sUUFBUTtzQkFEUCxLQUFLO2dCQUdOLFlBQVk7c0JBRFgsS0FBSztnQkFHTixJQUFJO3NCQURILEtBQUs7Z0JBR04sR0FBRztzQkFERixLQUFLO2dCQUdOLE1BQU07c0JBREwsS0FBSztnQkFHTixTQUFTO3NCQURSLEtBQUs7Z0JBR04sR0FBRztzQkFERixLQUFLO2dCQUdOLEdBQUc7c0JBREYsS0FBSztnQkFHTixhQUFhO3NCQURaLEtBQUs7Z0JBR04sV0FBVztzQkFEVixLQUFLO2dCQUdOLFVBQVU7c0JBRFQsS0FBSztnQkFHTixXQUFXO3NCQURWLEtBQUs7Z0JBR04sWUFBWTtzQkFEWCxLQUFLO2dCQUdOLGlCQUFpQjtzQkFEaEIsS0FBSztnQkFHTixXQUFXO3NCQURWLEtBQUs7Z0JBR04sV0FBVztzQkFEVixLQUFLO2dCQUdOLFdBQVc7c0JBRFYsS0FBSztnQkFHTixVQUFVO3NCQURULEtBQUs7Z0JBR04sV0FBVztzQkFEVixLQUFLO2dCQUdOLE9BQU87c0JBRE4sS0FBSztnQkFHTixRQUFRO3NCQURQLEtBQUs7Z0JBR04sVUFBVTtzQkFEVCxLQUFLO2dCQUdOLE9BQU87c0JBRE4sS0FBSztnQkFHTixLQUFLO3NCQURKLEtBQUs7Z0JBR04sU0FBUztzQkFEUixLQUFLO2dCQUdOLFNBQVM7c0JBRFIsS0FBSztnQkFHTixjQUFjO3NCQURiLEtBQUs7Z0JBR0ksYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1zTW9kdWxlLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVG9vbHRpcE1vZHVsZSB9IGZyb20gJy4uLy4uL3Rvb2x0aXAvdG9vbHRpcC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBTaGFyZWREaXJlY3RpdmVzIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlcy9zaGFyZWQtZGlyZWN0aXZlcy5tb2R1bGUnO1xyXG5pbXBvcnQgeyBQcm9ncmVzc0JhckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3Byb2dyZXNzLWJhci9wcm9ncmVzcy1iYXIuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnd2FjLWlucHV0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBTaGFyZWREaXJlY3RpdmVzLFxyXG4gICAgVG9vbHRpcE1vZHVsZSxcclxuICAgIFByb2dyZXNzQmFyQ29tcG9uZW50XSxcclxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCB1c2VFeGlzdGluZzogSW5wdXRDb21wb25lbnQsIG11bHRpOiB0cnVlIH1dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuICBASW5wdXQoKVxyXG4gIGxhYmVsID0gJyc7XHJcbiAgQElucHV0KClcclxuICB2YWx1ZSA9ICcnO1xyXG4gIEBJbnB1dCgpXHJcbiAgdHlwZSA9ICd0ZXh0JztcclxuICBASW5wdXQoKVxyXG4gIHBsYWNlaG9sZGVyID0gJyc7IC8vIHRvZG8gY291bGQgYmUgaGFuZGxlIHdpdGggbmctY29udGVudFxyXG4gIEBJbnB1dCgpXHJcbiAgdGV4dEluZm8gPSBudWxsOyAvLyB0b2RvIHNob3VsZCBiZSBoYW5kbGUgd2l0aCBuZy1jb250ZW50XHJcbiAgQElucHV0KClcclxuICB0ZXh0RXJyb3IgPSBudWxsOyAvLyB0b2RvIHNob3VsZCBiZSBoYW5kbGUgd2l0aCBuZy1jb250ZW50XHJcbiAgQElucHV0KClcclxuICBzaXplID0gbnVsbDtcclxuICBASW5wdXQoKVxyXG4gIGlzTnVtYmVyID0gbnVsbDtcclxuICBASW5wdXQoKVxyXG4gIHdpdGhvdXRCbG9jayA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgaWNvbiA9ICcnO1xyXG4gIEBJbnB1dCgpXHJcbiAgYmlnID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBtZWRpdW0gPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIGJvbGRMYWJlbCA9ICdmYWxzZSc7IC8vIHRvZG8gcmVmYWN0byB0byBib29sZWFuXHJcbiAgQElucHV0KClcclxuICBtaW4gPSBudWxsO1xyXG4gIEBJbnB1dCgpXHJcbiAgbWF4ID0gbnVsbDtcclxuICBASW5wdXQoKVxyXG4gIGRpc2FibGVNYXJnaW4gPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIHRleHRQcmVwZW5kID0gbnVsbDsgLy8gdG9kbyBzaG91bGQgYmUgaGFuZGxlIHdpdGggbmctY29udGVudFxyXG4gIEBJbnB1dCgpXHJcbiAgdGV4dEFwcGVuZCA9IG51bGw7ICAvLyB0b2RvIHNob3VsZCBiZSBoYW5kbGUgd2l0aCBuZy1jb250ZW50XHJcbiAgQElucHV0KClcclxuICBwcm9ncmVzc0JhciA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgZXh0cmFDbGFzc2VzID0gJyc7XHJcbiAgQElucHV0KClcclxuICBrZXlQcmV2ZW50RGVmYXVsdCA9IFtdO1xyXG4gIEBJbnB1dCgpXHJcbiAgc2hvd1Rvb2x0aXAgPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIHRleHRUb29sdGlwID0gJyc7XHJcbiAgQElucHV0KClcclxuICBpY29uVG9vbHRpcCA9ICcnO1xyXG4gIEBJbnB1dCgpXHJcbiAgdXJsVG9vbHRpcCA9ICcnO1xyXG4gIEBJbnB1dCgpXHJcbiAgbGlua1Rvb2x0aXAgPSAnJztcclxuICBASW5wdXQoKVxyXG4gIHBhZGRpbmcgPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBpbmRpY2F0aW9uID0gJyc7IC8vIHRvZG8gc2hvdWxkIGJlIGhhbmRsZSB3aXRoIG5nLWNvbnRlbnRcclxuICBASW5wdXQoKVxyXG4gIHN1Y2Nlc3MgPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIGVycm9yID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBtYXhsZW5ndGg6IG51bWJlciB8IHN0cmluZztcclxuICBASW5wdXQoKVxyXG4gIG1pbmxlbmd0aDogbnVtYmVyIHwgc3RyaW5nO1xyXG4gIEBJbnB1dCgpXHJcbiAgaW5kaWNhdGlvbkxlZnQgPSBmYWxzZTtcclxuXHJcbiAgQE91dHB1dCgpIGtleXByZXNzRW50ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgQE91dHB1dCgpIGJsdXJyZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIHByaXZhdGUgS0VZUFJFU1NfRU5URVIgPSBcIkVudGVyXCI7XHJcblxyXG4gIGlkID1cclxuICAgICd3ei1pbnB1dF8nICtcclxuICAgIE1hdGgucmFuZG9tKClcclxuICAgICAgLnRvU3RyaW5nKDM2KVxyXG4gICAgICAuc3Vic3RyKDIsIDkpO1xyXG5cclxuICBwcml2YXRlIF9vbkNoYW5nZSA9ICh2YWx1ZTogc3RyaW5nKSA9PiB7fTtcclxuICBwcml2YXRlIF9vblRvdWNoZWQ6IEZ1bmN0aW9uID0gKCkgPT4ge307XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5fb25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuX29uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMudmFsdWUgPSBvYmo7XHJcbiAgfVxyXG5cclxuICBvbkNoYW5nZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICBpZiAodGhpcy5fb25DaGFuZ2UpIHtcclxuICAgICAgdGhpcy5fb25DaGFuZ2UodmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25CbHVyKCkge1xyXG4gICAgaWYgKHRoaXMuX29uVG91Y2hlZCkge1xyXG4gICAgICB0aGlzLl9vblRvdWNoZWQoKTtcclxuICAgIH1cclxuICAgIHRoaXMuYmx1cnJlZC5uZXh0KCk7XHJcbiAgfVxyXG5cclxuICBjaGVja051bWJlclZhbHVlKHZhbHVlKSB7XHJcbiAgICBpZiAodGhpcy5taW4gJiYgdGhpcy5taW4gPiB2YWx1ZSkge1xyXG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5taW47XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5tYXggJiYgdGhpcy5tYXggPCB2YWx1ZSkge1xyXG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5tYXg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkZvY3VzT3V0KCkge1xyXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gJ251bWJlcicpIHtcclxuICAgICAgdGhpcy5jaGVja051bWJlclZhbHVlKHRoaXMudmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAga2V5UHJlc3MoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIGlmICh0aGlzLmtleVByZXZlbnREZWZhdWx0LmluY2x1ZGVzKGV2ZW50LmtleSkpIHtcclxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZXZlbnQua2V5ID09PSB0aGlzLktFWVBSRVNTX0VOVEVSKSB7XHJcbiAgICAgIHRoaXMua2V5cHJlc3NFbnRlci5uZXh0KHRydWUpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2XHJcbiAgY2xhc3M9XCJmaWVsZCB3YWMtaW5wdXRcIlxyXG4gIFtuZ0NsYXNzXT1cInsgJ2hhcy1uby1ibG9jayc6IHdpdGhvdXRCbG9jaywgJ2lzLWJpZyc6IGJpZywgJ2lzLW1lZGl1bSc6IG1lZGl1bSwgJ3dpdGgtcGFkZGluZyc6IHBhZGRpbmcsICdpbmRpY2F0aW9uLWxlZnQnOiBpbmRpY2F0aW9uTGVmdCwgJ3dpdGgtcHJvZ3Jlc3MtYmFyJzogcHJvZ3Jlc3NCYXIgfVwiXHJcbj5cclxuICA8ZGl2IGNsYXNzPVwiZmllbGQtbGFiZWwgaXMtbm9ybWFsIGhhcy10ZXh0LWxlZnRcIiAqbmdJZj1cIiF3aXRob3V0QmxvY2tcIj5cclxuICAgIDxsYWJlbFxyXG4gICAgICBbbmdDbGFzc109XCJbYm9sZExhYmVsID09PSAndHJ1ZScgPyAnbGFiZWwgaGFzLXRleHQtd2VpZ2h0LWJvbGQnIDogJ2xhYmVsIGhhcy10ZXh0LXdlaWdodC1ub3JtYWwnLCBzaG93VG9vbHRpcCA/ICdsYWJlbC1pbmxpbmUnIDogJycsIHNpemUgJiYgIXByb2dyZXNzQmFyID8gJ2hhcy1wYWRkaW5nLXJpZ2h0LW1vYmlsZScgOiAnJ11cIlxyXG4gICAgICBbaW5uZXJIVE1MXT1cImxhYmVsXCJcclxuICAgICAgW2Zvcl09XCJpZFwiXHJcbiAgICA+PC9sYWJlbD5cclxuICAgIDx3YWMtdG9vbHRpcFxyXG4gICAgICAqbmdJZj1cInNob3dUb29sdGlwXCJcclxuICAgICAgW3Rvb2x0aXBJY29uXT1cImljb25Ub29sdGlwXCJcclxuICAgICAgW3Rvb2x0aXBUZXh0XT1cInRleHRUb29sdGlwXCJcclxuICAgICAgW3Rvb2x0aXBMaW5rXT1cImxpbmtUb29sdGlwXCJcclxuICAgICAgW3Rvb2x0aXBVcmxdPVwidXJsVG9vbHRpcFwiXHJcbiAgICA+PC93YWMtdG9vbHRpcD5cclxuICAgIDwhLS0gU2l6ZSAtLT5cclxuICAgIDxzcGFuICpuZ0lmPVwic2l6ZSAmJiAhcHJvZ3Jlc3NCYXJcIiBjbGFzcz1cImlzLXNpemUtNyB3YWMtaW5wdXRfX3NpemVcIj5cclxuICAgICAgPHN0cm9uZz57eyAhdmFsdWUgPyAwIDogdmFsdWUudG9TdHJpbmcoKS5sZW5ndGggfX08L3N0cm9uZz4gLyB7eyBzaXplIH19XHJcbiAgICA8L3NwYW4+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImZpZWxkLWJvZHlcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICA8cFxyXG4gICAgICAgIGNsYXNzPVwiY29udHJvbFwiXHJcbiAgICAgICAgW25nQ2xhc3NdPVwieyAnaGFzLWljb25zLXJpZ2h0JzogdGV4dEVycm9yIHx8IHN1Y2Nlc3MgfHwgZXJyb3IsICdoYXMtaWNvbnMtbGVmdCc6IGljb24gIT09ICcnLCAnaGFzLWlucHV0LWdyb3VwJzogdGV4dEFwcGVuZCB8fCB0ZXh0UHJlcGVuZCB9XCJcclxuICAgICAgPlxyXG4gICAgICAgIDwhLS0gVGV4dCBQcmVwZW5kIC0tPlxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwidGV4dFByZXBlbmRcIiBjbGFzcz1cImhhcy1pbnB1dC1ncm91cFwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJoYXMtaW5wdXQtZ3JvdXAtdGV4dCBwcmVwZW5kXCI+e3sgdGV4dFByZXBlbmQgfX08L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiAqbmdJZj1cImljb24gIT09ICcnXCIgY2xhc3M9XCJpY29uIGlzLXNtYWxsIGlzLWxlZnRcIj5cclxuICAgICAgICAgICAgPGkgW2NsYXNzXT1cImljb25cIj48L2k+XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICA8IS0tIElucHV0IC0tPlxyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgW2NsYXNzXT1cIidpbnB1dCAnICsgZXh0cmFDbGFzc2VzXCJcclxuICAgICAgICAgIFtpZF09XCJpZFwiXHJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICdpcy1kYW5nZXInOiAodGV4dEVycm9yIHx8IGVycm9yKSAmJiAhZGlzYWJsZWQsXHJcbiAgICAgICAgICAgICdpcy1lbXB0eSc6IHZhbHVlID09PSAnJyxcclxuICAgICAgICAgICAgJ2lzLWxhcmdlJzogYmlnLFxyXG4gICAgICAgICAgICAnaXMtbnVtYmVyJzogaXNOdW1iZXIsXHJcbiAgICAgICAgICAgICdyZW1vdmUtbWFyZ2luJzogZGlzYWJsZU1hcmdpbixcclxuICAgICAgICAgICAgJ3RleHQtYXBwZW5kJzogdGV4dEFwcGVuZFxyXG4gICAgICAgICAgfVwiXHJcbiAgICAgICAgICBbdHlwZV09XCJ0eXBlXCJcclxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICAgICAgICBbYXR0ci5zaXplXT1cInNpemVcIlxyXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXHJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgIChibHVyKT1cIm9uQmx1cigpXCJcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgICAoZm9jdXNvdXQpPVwib25Gb2N1c091dCgpXCJcclxuICAgICAgICAgIFttaW5dPVwibWluXCJcclxuICAgICAgICAgIFttYXhdPVwibWF4XCJcclxuICAgICAgICAgIFttYXhsZW5ndGhdPVwibWF4bGVuZ3RoID8gbWF4bGVuZ3RoIDogNTI0Mjg4XCJcclxuICAgICAgICAgIFttaW5sZW5ndGhdPVwibWlubGVuZ3RoID8gbWlubGVuZ3RoIDogMFwiXHJcbiAgICAgICAgICAoa2V5cHJlc3MpPVwia2V5UHJlc3MoJGV2ZW50KVwiXHJcbiAgICAgICAgLz5cclxuXHJcbiAgICAgICAgPCEtLSBJbmRpY2F0aW9uIGF0IHRoZSBlbmQgb2YgdGhlIGlucHV0IC0tPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiaW5kaWNhdGlvblwiICpuZ0lmPVwiaW5kaWNhdGlvblwiIFtuZ0NsYXNzXT1cInsncmV2ZXJzZSc6IGluZGljYXRpb25MZWZ0fVwiPlxyXG4gICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJpbmRpY2F0aW9uXCI+PC9zcGFuPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgPCEtLSBUZXh0IEFwcGVuZCAtLT5cclxuICAgICAgICA8c3BhbiAqbmdJZj1cInRleHRBcHBlbmQgJiYgIWluZGljYXRpb25MZWZ0XCIgY2xhc3M9XCJoYXMtaW5wdXQtZ3JvdXBcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaGFzLWlucHV0LWdyb3VwLXRleHQgYXBwZW5kXCI+e3sgdGV4dEFwcGVuZCB9fTwvc3Bhbj5cclxuICAgICAgICAgIDwhLS0gZXJyb3IgaWYgdGV4dCBhcHBlbmQgbm90IGVtcHR5IC0tPlxyXG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJ0ZXh0RXJyb3JcIiBjbGFzcz1cImljb24gaXMtc21hbGwgaXMtcmlnaHRcIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJmYWwgZmEtdGltZXMgaGFzLXRleHQtZGFuZ2VyXCI+PC9pPlxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgPCEtLSBJY29uIExlZnQgLS0+XHJcbiAgICAgICAgPHNwYW4gKm5nSWY9XCJpY29uICE9PSAnJyAmJiAhdGV4dFByZXBlbmQgJiYgIWluZGljYXRpb25MZWZ0XCIgY2xhc3M9XCJpY29uIGlzLXNtYWxsIGlzLWxlZnRcIj5cclxuICAgICAgICAgIDxpIFtjbGFzc109XCJpY29uXCI+PC9pPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgPCEtLSBJY29uIGVycm9yIGlmIHRleHRBcHBlbmQgZW1wdHkgLS0+XHJcbiAgICAgICAgPHNwYW4gKm5nSWY9XCIodGV4dEVycm9yIHx8IGVycm9yKSAmJiAhdGV4dEFwcGVuZCAmJiAhaW5kaWNhdGlvbkxlZnQgICYmICFkaXNhYmxlZFwiIGNsYXNzPVwiaWNvbiBpcy1zbWFsbCBpcy1yaWdodFwiPlxyXG4gICAgICAgICAgPGkgY2xhc3M9XCJmYWwgZmEtdGltZXMgaGFzLXRleHQtZGFuZ2VyXCI+PC9pPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgPCEtLSBJY29uIHN1Y2Nlc3MgLS0+XHJcbiAgICAgICAgPHNwYW4gKm5nSWY9XCJzdWNjZXNzICYmICFkaXNhYmxlZFwiIGNsYXNzPVwiaWNvbiBpcy1zbWFsbCBpcy1yaWdodFwiPlxyXG4gICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtY2hlY2sgaGFzLXRleHQtc3VjY2Vzc1wiPjwvaT5cclxuICAgICAgICA8L3NwYW4+XHJcblxyXG4gICAgICAgIDwhLS0gVGV4dCBJbmZvIC0tPlxyXG4gICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAqbmdJZj1cInRleHRJbmZvICYmICh0ZXh0RXJyb3IgPT09IG51bGwgfHwgdGV4dEVycm9yID09PSAnJykgJiYgIXByb2dyZXNzQmFyICYmICFpbmRpY2F0aW9uTGVmdFwiXHJcbiAgICAgICAgICBjbGFzcz1cImlzLXNpemUtNyB3YWMtaW5wdXRfX2luZm8gdGV4dC1pbmZvXCJcclxuICAgICAgICAgIFtpbm5lckh0bWxdPVwidGV4dEluZm9cIlxyXG4gICAgICAgID48L3NwYW4+XHJcblxyXG4gICAgICAgIDwhLS0gVGV4dCBFcnJvciAtLT5cclxuICAgICAgICA8c3BhbiAqbmdJZj1cInRleHRFcnJvciAmJiAhcHJvZ3Jlc3NCYXIgJiYgIWluZGljYXRpb25MZWZ0XCIgY2xhc3M9XCJpcy1zaXplLTcgd2FjLWlucHV0X19lcnJvciBoYXMtdGV4dC1kYW5nZXJcIiBbaW5uZXJIdG1sXT1cInRleHRFcnJvclwiPjwvc3Bhbj5cclxuICAgICAgPC9wPlxyXG5cclxuICAgICAgPCEtLSBQcm9ncmVzcyBCYXIgLS0+XHJcbiAgICAgIDx3YWMtcHJvZ3Jlc3MtYmFyICpuZ0lmPVwicHJvZ3Jlc3NCYXIgJiYgIWluZGljYXRpb25MZWZ0XCIgW21pbl09XCJtaW5cIiBbbWF4XT1cIm1heFwiIFt2YWx1ZUxlbmd0aF09XCJ2YWx1ZS5sZW5ndGhcIj48L3dhYy1wcm9ncmVzcy1iYXI+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
184
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dHMvaW5wdXQvaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dHMvaW5wdXQvaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUF3QixXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDaEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7Ozs7O0FBY2pGLE1BQU0sT0FBTyxjQUFjO0lBWjNCO1FBY0UsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUVYLFVBQUssR0FBRyxFQUFFLENBQUM7UUFFWCxTQUFJLEdBQUcsTUFBTSxDQUFDO1FBRWQsZ0JBQVcsR0FBRyxFQUFFLENBQUMsQ0FBQyx1Q0FBdUM7UUFFekQsYUFBUSxHQUFHLElBQUksQ0FBQyxDQUFDLHdDQUF3QztRQUV6RCxjQUFTLEdBQUcsSUFBSSxDQUFDLENBQUMsd0NBQXdDO1FBRTFELFNBQUksR0FBRyxJQUFJLENBQUM7UUFFWixhQUFRLEdBQUcsSUFBSSxDQUFDO1FBRWhCLGlCQUFZLEdBQUcsS0FBSyxD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R04sR0FBRztzQkFERixLQUFLO2dCQUdOLE1BQU07c0JBREwsS0FBSztnQkFHTixTQUFTO3NCQURSLEtBQUs7Z0JBR04sR0FBRztzQkFERixLQUFLO2dCQUdOLEdBQUc7c0JBREYsS0FBSztnQkFHTixhQUFhO3NCQURaLEtBQUs7Z0JBR04sV0FBVztzQkFEVixLQUFLO2dCQUdOLFVBQVU7c0JBRFQsS0FBSztnQkFHTixXQUFXO3NCQURWLEtBQUs7Z0JBR04sWUFBWTtzQkFEWCxLQUFLO2dCQUdOLGlCQUFpQjtzQkFEaEIsS0FBSztnQkFHTixXQUFXO3NCQURWLEtBQUs7Z0JBR04sV0FBVztzQkFEVixLQUFLO2dCQUdOLFdBQVc7c0JBRFYsS0FBSztnQkFHTixVQUFVO3NCQURULEtBQUs7Z0JBR04sV0FBVztzQkFEVixLQUFLO2dCQUdOLE9BQU87c0JBRE4sS0FBSztnQkFHTixRQUFRO3NCQURQLEtBQUs7Z0JBR04sVUFBVTtzQkFEVCxLQUFLO2dCQUdOLE9BQU87c0JBRE4sS0FBSztnQkFHTixLQUFLO3NCQURKLEtBQUs7Z0JBR04sU0FBUztzQkFEUixLQUFLO2dCQUdOLFNBQVM7c0JBRFIsS0FBSztnQkFHTixjQUFjO3NCQURiLEtBQUs7Z0JBR0ksYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1zTW9kdWxlLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVG9vbHRpcE1vZHVsZSB9IGZyb20gJy4uLy4uL3Rvb2x0aXAvdG9vbHRpcC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBTaGFyZWREaXJlY3RpdmVzIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlcy9zaGFyZWQtZGlyZWN0aXZlcy5tb2R1bGUnO1xyXG5pbXBvcnQgeyBQcm9ncmVzc0JhckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3Byb2dyZXNzLWJhci9wcm9ncmVzcy1iYXIuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnd2FjLWlucHV0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBTaGFyZWREaXJlY3RpdmVzLFxyXG4gICAgVG9vbHRpcE1vZHVsZSxcclxuICAgIFByb2dyZXNzQmFyQ29tcG9uZW50XSxcclxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCB1c2VFeGlzdGluZzogSW5wdXRDb21wb25lbnQsIG11bHRpOiB0cnVlIH1dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuICBASW5wdXQoKVxyXG4gIGxhYmVsID0gJyc7XHJcbiAgQElucHV0KClcclxuICB2YWx1ZSA9ICcnO1xyXG4gIEBJbnB1dCgpXHJcbiAgdHlwZSA9ICd0ZXh0JztcclxuICBASW5wdXQoKVxyXG4gIHBsYWNlaG9sZGVyID0gJyc7IC8vIHRvZG8gY291bGQgYmUgaGFuZGxlIHdpdGggbmctY29udGVudFxyXG4gIEBJbnB1dCgpXHJcbiAgdGV4dEluZm8gPSBudWxsOyAvLyB0b2RvIHNob3VsZCBiZSBoYW5kbGUgd2l0aCBuZy1jb250ZW50XHJcbiAgQElucHV0KClcclxuICB0ZXh0RXJyb3IgPSBudWxsOyAvLyB0b2RvIHNob3VsZCBiZSBoYW5kbGUgd2l0aCBuZy1jb250ZW50XHJcbiAgQElucHV0KClcclxuICBzaXplID0gbnVsbDtcclxuICBASW5wdXQoKVxyXG4gIGlzTnVtYmVyID0gbnVsbDtcclxuICBASW5wdXQoKVxyXG4gIHdpdGhvdXRCbG9jayA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgaWNvbiA9ICcnO1xyXG4gIEBJbnB1dCgpXHJcbiAgYmlnID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBtZWRpdW0gPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIGJvbGRMYWJlbCA9ICdmYWxzZSc7IC8vIHRvZG8gcmVmYWN0byB0byBib29sZWFuXHJcbiAgQElucHV0KClcclxuICBtaW4gPSBudWxsO1xyXG4gIEBJbnB1dCgpXHJcbiAgbWF4ID0gbnVsbDtcclxuICBASW5wdXQoKVxyXG4gIGRpc2FibGVNYXJnaW4gPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIHRleHRQcmVwZW5kID0gbnVsbDsgLy8gdG9kbyBzaG91bGQgYmUgaGFuZGxlIHdpdGggbmctY29udGVudFxyXG4gIEBJbnB1dCgpXHJcbiAgdGV4dEFwcGVuZCA9IG51bGw7ICAvLyB0b2RvIHNob3VsZCBiZSBoYW5kbGUgd2l0aCBuZy1jb250ZW50XHJcbiAgQElucHV0KClcclxuICBwcm9ncmVzc0JhciA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgZXh0cmFDbGFzc2VzID0gJyc7XHJcbiAgQElucHV0KClcclxuICBrZXlQcmV2ZW50RGVmYXVsdCA9IFtdO1xyXG4gIEBJbnB1dCgpXHJcbiAgc2hvd1Rvb2x0aXAgPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIHRleHRUb29sdGlwID0gJyc7XHJcbiAgQElucHV0KClcclxuICBpY29uVG9vbHRpcCA9ICcnO1xyXG4gIEBJbnB1dCgpXHJcbiAgdXJsVG9vbHRpcCA9ICcnO1xyXG4gIEBJbnB1dCgpXHJcbiAgbGlua1Rvb2x0aXAgPSAnJztcclxuICBASW5wdXQoKVxyXG4gIHBhZGRpbmcgPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBpbmRpY2F0aW9uID0gJyc7IC8vIHRvZG8gc2hvdWxkIGJlIGhhbmRsZSB3aXRoIG5nLWNvbnRlbnRcclxuICBASW5wdXQoKVxyXG4gIHN1Y2Nlc3MgPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIGVycm9yID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBtYXhsZW5ndGg6IG51bWJlciB8IHN0cmluZztcclxuICBASW5wdXQoKVxyXG4gIG1pbmxlbmd0aDogbnVtYmVyIHwgc3RyaW5nO1xyXG4gIEBJbnB1dCgpXHJcbiAgaW5kaWNhdGlvbkxlZnQgPSBmYWxzZTtcclxuXHJcbiAgQE91dHB1dCgpIGtleXByZXNzRW50ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgQE91dHB1dCgpIGJsdXJyZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIHByaXZhdGUgS0VZUFJFU1NfRU5URVIgPSBcIkVudGVyXCI7XHJcblxyXG4gIGlkID1cclxuICAgICd3ei1pbnB1dF8nICtcclxuICAgIE1hdGgucmFuZG9tKClcclxuICAgICAgLnRvU3RyaW5nKDM2KVxyXG4gICAgICAuc3Vic3RyKDIsIDkpO1xyXG5cclxuICBwcml2YXRlIF9vbkNoYW5nZSA9ICh2YWx1ZTogc3RyaW5nKSA9PiB7fTtcclxuICBwcml2YXRlIF9vblRvdWNoZWQ6IEZ1bmN0aW9uID0gKCkgPT4ge307XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5fb25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuX29uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMudmFsdWUgPSBvYmo7XHJcbiAgfVxyXG5cclxuICBvbkNoYW5nZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICBpZiAodGhpcy5fb25DaGFuZ2UpIHtcclxuICAgICAgdGhpcy5fb25DaGFuZ2UodmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25CbHVyKCkge1xyXG4gICAgaWYgKHRoaXMuX29uVG91Y2hlZCkge1xyXG4gICAgICB0aGlzLl9vblRvdWNoZWQoKTtcclxuICAgIH1cclxuICAgIHRoaXMuYmx1cnJlZC5uZXh0KCk7XHJcbiAgfVxyXG5cclxuICBjaGVja051bWJlclZhbHVlKHZhbHVlKSB7XHJcbiAgICBpZiAodGhpcy5taW4gJiYgdGhpcy5taW4gPiB2YWx1ZSkge1xyXG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5taW47XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5tYXggJiYgdGhpcy5tYXggPCB2YWx1ZSkge1xyXG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5tYXg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkZvY3VzT3V0KCkge1xyXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gJ251bWJlcicpIHtcclxuICAgICAgdGhpcy5jaGVja051bWJlclZhbHVlKHRoaXMudmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAga2V5UHJlc3MoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIGlmICh0aGlzLmtleVByZXZlbnREZWZhdWx0LmluY2x1ZGVzKGV2ZW50LmtleSkpIHtcclxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZXZlbnQua2V5ID09PSB0aGlzLktFWVBSRVNTX0VOVEVSKSB7XHJcbiAgICAgIHRoaXMua2V5cHJlc3NFbnRlci5uZXh0KHRydWUpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2XHJcbiAgY2xhc3M9XCJmaWVsZCB3YWMtaW5wdXRcIlxyXG4gIFtuZ0NsYXNzXT1cInsgJ2hhcy1uby1ibG9jayc6IHdpdGhvdXRCbG9jaywgJ2lzLWJpZyc6IGJpZywgJ2lzLW1lZGl1bSc6IG1lZGl1bSwgJ3dpdGgtcGFkZGluZyc6IHBhZGRpbmcsICdpbmRpY2F0aW9uLWxlZnQnOiBpbmRpY2F0aW9uTGVmdCwgJ3dpdGgtcHJvZ3Jlc3MtYmFyJzogcHJvZ3Jlc3NCYXIgfVwiXHJcbj5cclxuICA8ZGl2IGNsYXNzPVwiZmllbGQtbGFiZWwgaXMtbm9ybWFsIGhhcy10ZXh0LWxlZnRcIiAqbmdJZj1cIiF3aXRob3V0QmxvY2sgJiYgbGFiZWxcIj5cclxuICAgIDxsYWJlbFxyXG4gICAgICBbbmdDbGFzc109XCJbYm9sZExhYmVsID09PSAndHJ1ZScgPyAnbGFiZWwgaGFzLXRleHQtd2VpZ2h0LWJvbGQnIDogJ2xhYmVsIGhhcy10ZXh0LXdlaWdodC1ub3JtYWwnLCBzaG93VG9vbHRpcCA/ICdsYWJlbC1pbmxpbmUnIDogJycsIHNpemUgJiYgIXByb2dyZXNzQmFyID8gJ2hhcy1wYWRkaW5nLXJpZ2h0LW1vYmlsZScgOiAnJ11cIlxyXG4gICAgICBbaW5uZXJIVE1MXT1cImxhYmVsXCJcclxuICAgICAgW2Zvcl09XCJpZFwiXHJcbiAgICA+PC9sYWJlbD5cclxuICAgIDx3YWMtdG9vbHRpcFxyXG4gICAgICAqbmdJZj1cInNob3dUb29sdGlwXCJcclxuICAgICAgW3Rvb2x0aXBJY29uXT1cImljb25Ub29sdGlwXCJcclxuICAgICAgW3Rvb2x0aXBUZXh0XT1cInRleHRUb29sdGlwXCJcclxuICAgICAgW3Rvb2x0aXBMaW5rXT1cImxpbmtUb29sdGlwXCJcclxuICAgICAgW3Rvb2x0aXBVcmxdPVwidXJsVG9vbHRpcFwiXHJcbiAgICA+PC93YWMtdG9vbHRpcD5cclxuICAgIDwhLS0gU2l6ZSAtLT5cclxuICAgIDxzcGFuICpuZ0lmPVwic2l6ZSAmJiAhcHJvZ3Jlc3NCYXJcIiBjbGFzcz1cImlzLXNpemUtNyB3YWMtaW5wdXRfX3NpemVcIj5cclxuICAgICAgPHN0cm9uZz57eyAhdmFsdWUgPyAwIDogdmFsdWUudG9TdHJpbmcoKS5sZW5ndGggfX08L3N0cm9uZz4gLyB7eyBzaXplIH19XHJcbiAgICA8L3NwYW4+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImZpZWxkLWJvZHlcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICA8cFxyXG4gICAgICAgIGNsYXNzPVwiY29udHJvbFwiXHJcbiAgICAgICAgW25nQ2xhc3NdPVwieyAnaGFzLWljb25zLXJpZ2h0JzogdGV4dEVycm9yIHx8IHN1Y2Nlc3MgfHwgZXJyb3IsICdoYXMtaWNvbnMtbGVmdCc6IGljb24gIT09ICcnLCAnaGFzLWlucHV0LWdyb3VwJzogdGV4dEFwcGVuZCB8fCB0ZXh0UHJlcGVuZCB9XCJcclxuICAgICAgPlxyXG4gICAgICAgIDwhLS0gVGV4dCBQcmVwZW5kIC0tPlxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwidGV4dFByZXBlbmRcIiBjbGFzcz1cImhhcy1pbnB1dC1ncm91cFwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJoYXMtaW5wdXQtZ3JvdXAtdGV4dCBwcmVwZW5kXCI+e3sgdGV4dFByZXBlbmQgfX08L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiAqbmdJZj1cImljb24gIT09ICcnXCIgY2xhc3M9XCJpY29uIGlzLXNtYWxsIGlzLWxlZnRcIj5cclxuICAgICAgICAgICAgPGkgW2NsYXNzXT1cImljb25cIj48L2k+XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICA8IS0tIElucHV0IC0tPlxyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgW2NsYXNzXT1cIidpbnB1dCAnICsgZXh0cmFDbGFzc2VzXCJcclxuICAgICAgICAgIFtpZF09XCJpZFwiXHJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICdpcy1kYW5nZXInOiAodGV4dEVycm9yIHx8IGVycm9yKSAmJiAhZGlzYWJsZWQsXHJcbiAgICAgICAgICAgICdpcy1lbXB0eSc6IHZhbHVlID09PSAnJyxcclxuICAgICAgICAgICAgJ2lzLWxhcmdlJzogYmlnLFxyXG4gICAgICAgICAgICAnaXMtbnVtYmVyJzogaXNOdW1iZXIsXHJcbiAgICAgICAgICAgICdyZW1vdmUtbWFyZ2luJzogZGlzYWJsZU1hcmdpbixcclxuICAgICAgICAgICAgJ3RleHQtYXBwZW5kJzogdGV4dEFwcGVuZFxyXG4gICAgICAgICAgfVwiXHJcbiAgICAgICAgICBbdHlwZV09XCJ0eXBlXCJcclxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICAgICAgICBbYXR0ci5zaXplXT1cInNpemVcIlxyXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXHJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgIChibHVyKT1cIm9uQmx1cigpXCJcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgICAoZm9jdXNvdXQpPVwib25Gb2N1c091dCgpXCJcclxuICAgICAgICAgIFttaW5dPVwibWluXCJcclxuICAgICAgICAgIFttYXhdPVwibWF4XCJcclxuICAgICAgICAgIFttYXhsZW5ndGhdPVwibWF4bGVuZ3RoID8gbWF4bGVuZ3RoIDogNTI0Mjg4XCJcclxuICAgICAgICAgIFttaW5sZW5ndGhdPVwibWlubGVuZ3RoID8gbWlubGVuZ3RoIDogMFwiXHJcbiAgICAgICAgICAoa2V5cHJlc3MpPVwia2V5UHJlc3MoJGV2ZW50KVwiXHJcbiAgICAgICAgLz5cclxuXHJcbiAgICAgICAgPCEtLSBJbmRpY2F0aW9uIGF0IHRoZSBlbmQgb2YgdGhlIGlucHV0IC0tPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiaW5kaWNhdGlvblwiICpuZ0lmPVwiaW5kaWNhdGlvblwiIFtuZ0NsYXNzXT1cInsncmV2ZXJzZSc6IGluZGljYXRpb25MZWZ0fVwiPlxyXG4gICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJpbmRpY2F0aW9uXCI+PC9zcGFuPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgPCEtLSBUZXh0IEFwcGVuZCAtLT5cclxuICAgICAgICA8c3BhbiAqbmdJZj1cInRleHRBcHBlbmQgJiYgIWluZGljYXRpb25MZWZ0XCIgY2xhc3M9XCJoYXMtaW5wdXQtZ3JvdXBcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaGFzLWlucHV0LWdyb3VwLXRleHQgYXBwZW5kXCI+e3sgdGV4dEFwcGVuZCB9fTwvc3Bhbj5cclxuICAgICAgICAgIDwhLS0gZXJyb3IgaWYgdGV4dCBhcHBlbmQgbm90IGVtcHR5IC0tPlxyXG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJ0ZXh0RXJyb3JcIiBjbGFzcz1cImljb24gaXMtc21hbGwgaXMtcmlnaHRcIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJmYWwgZmEtdGltZXMgaGFzLXRleHQtZGFuZ2VyXCI+PC9pPlxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgPCEtLSBJY29uIExlZnQgLS0+XHJcbiAgICAgICAgPHNwYW4gKm5nSWY9XCJpY29uICE9PSAnJyAmJiAhdGV4dFByZXBlbmQgJiYgIWluZGljYXRpb25MZWZ0XCIgY2xhc3M9XCJpY29uIGlzLXNtYWxsIGlzLWxlZnRcIj5cclxuICAgICAgICAgIDxpIFtjbGFzc109XCJpY29uXCI+PC9pPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgPCEtLSBJY29uIGVycm9yIGlmIHRleHRBcHBlbmQgZW1wdHkgLS0+XHJcbiAgICAgICAgPHNwYW4gKm5nSWY9XCIodGV4dEVycm9yIHx8IGVycm9yKSAmJiAhdGV4dEFwcGVuZCAmJiAhaW5kaWNhdGlvbkxlZnQgICYmICFkaXNhYmxlZFwiIGNsYXNzPVwiaWNvbiBpcy1zbWFsbCBpcy1yaWdodFwiPlxyXG4gICAgICAgICAgPGkgY2xhc3M9XCJmYWwgZmEtdGltZXMgaGFzLXRleHQtZGFuZ2VyXCI+PC9pPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgPCEtLSBJY29uIHN1Y2Nlc3MgLS0+XHJcbiAgICAgICAgPHNwYW4gKm5nSWY9XCJzdWNjZXNzICYmICFkaXNhYmxlZFwiIGNsYXNzPVwiaWNvbiBpcy1zbWFsbCBpcy1yaWdodFwiPlxyXG4gICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtY2hlY2sgaGFzLXRleHQtc3VjY2Vzc1wiPjwvaT5cclxuICAgICAgICA8L3NwYW4+XHJcblxyXG4gICAgICAgIDwhLS0gVGV4dCBJbmZvIC0tPlxyXG4gICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAqbmdJZj1cInRleHRJbmZvICYmICh0ZXh0RXJyb3IgPT09IG51bGwgfHwgdGV4dEVycm9yID09PSAnJykgJiYgIXByb2dyZXNzQmFyICYmICFpbmRpY2F0aW9uTGVmdFwiXHJcbiAgICAgICAgICBjbGFzcz1cImlzLXNpemUtNyB3YWMtaW5wdXRfX2luZm8gdGV4dC1pbmZvXCJcclxuICAgICAgICAgIFtpbm5lckh0bWxdPVwidGV4dEluZm9cIlxyXG4gICAgICAgID48L3NwYW4+XHJcblxyXG4gICAgICAgIDwhLS0gVGV4dCBFcnJvciAtLT5cclxuICAgICAgICA8c3BhbiAqbmdJZj1cInRleHRFcnJvciAmJiAhcHJvZ3Jlc3NCYXIgJiYgIWluZGljYXRpb25MZWZ0XCIgY2xhc3M9XCJpcy1zaXplLTcgd2FjLWlucHV0X19lcnJvciBoYXMtdGV4dC1kYW5nZXJcIiBbaW5uZXJIdG1sXT1cInRleHRFcnJvclwiPjwvc3Bhbj5cclxuICAgICAgPC9wPlxyXG5cclxuICAgICAgPCEtLSBQcm9ncmVzcyBCYXIgLS0+XHJcbiAgICAgIDx3YWMtcHJvZ3Jlc3MtYmFyICpuZ0lmPVwicHJvZ3Jlc3NCYXIgJiYgIWluZGljYXRpb25MZWZ0XCIgW21pbl09XCJtaW5cIiBbbWF4XT1cIm1heFwiIFt2YWx1ZUxlbmd0aF09XCJ2YWx1ZS5sZW5ndGhcIj48L3dhYy1wcm9ncmVzcy1iYXI+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==