@renaissancerentals/renaissance-component 12.0.22 → 12.0.24
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/lib/announcement/Banner.js +12 -22
- package/lib/application/ApplicationModal.js +9 -7
- package/lib/application/ApplicationSection.js +47 -57
- package/lib/application/data/RentalApplication.d.ts +1 -0
- package/lib/application/data/RentalApplication.js +1 -1
- package/lib/application/service/ApplicationService.js +3 -5
- package/lib/asset/AssetModal.js +15 -29
- package/lib/asset/VideoModal.js +9 -11
- package/lib/asset/service/AssetService.js +9 -17
- package/lib/card/Card.js +7 -5
- package/lib/contact/ContactModal.js +12 -10
- package/lib/contact/ContactSection.js +43 -82
- package/lib/contact/ContactSectionSkeleton.js +2 -2
- package/lib/contact/data/Contact.js +2 -3
- package/lib/contact/data/ContactMessage.d.ts +1 -0
- package/lib/contact/data/ContactMessage.js +1 -1
- package/lib/contact/service/ContactService.js +6 -9
- package/lib/data/RenaissanceData.js +2 -3
- package/lib/feature/FeatureSection.js +5 -3
- package/lib/floorplan/card/FloorplanCard.js +29 -49
- package/lib/floorplan/card/FloorplanCardSkeleton.js +2 -2
- package/lib/floorplan/card/FloorplanCardSlider.js +18 -31
- package/lib/floorplan/card/FloorplanSliderCard.js +16 -18
- package/lib/floorplan/card/SimilarFloorplanCard.js +16 -29
- package/lib/floorplan/card/TestimonialsCard.js +6 -6
- package/lib/floorplan/data/Calendar.js +2 -3
- package/lib/floorplan/data/Floorplan.js +6 -11
- package/lib/floorplan/data/FloorplanFilters.js +4 -6
- package/lib/floorplan/data/Unit.js +4 -7
- package/lib/floorplan/filter/FloorplanDropDown.js +10 -18
- package/lib/floorplan/section/FloorplanHero.js +60 -117
- package/lib/floorplan/section/FloorplanSection.js +73 -132
- package/lib/floorplan/section/FloorplanSectionSkeleton.js +9 -15
- package/lib/floorplan/section/FloorplansHeader.js +97 -132
- package/lib/floorplan/section/FloorplansHeaderSekeleton.js +5 -3
- package/lib/floorplan/section/FloorplansSection.js +35 -51
- package/lib/floorplan/section/HeroBadgeStats.js +13 -13
- package/lib/floorplan/section/filter/Availability.js +17 -21
- package/lib/floorplan/section/filter/Bedroom.js +17 -21
- package/lib/floorplan/section/filter/Price.js +8 -6
- package/lib/floorplan/section/filter/Sort.js +17 -27
- package/lib/floorplan/section/filter/Style.js +16 -18
- package/lib/floorplan/service/FloorplanService.d.ts +1 -0
- package/lib/floorplan/service/FloorplanService.js +68 -128
- package/lib/footer/Footer.js +6 -4
- package/lib/gallery/DriveGallery.js +20 -37
- package/lib/gallery/Gallery.js +46 -79
- package/lib/gallery/GalleryHeroMain.js +41 -57
- package/lib/gallery/GalleryHeroMobile.js +31 -41
- package/lib/gallery/GalleryHeroSkeleton.js +2 -2
- package/lib/gallery/GalleryModal.js +20 -28
- package/lib/gallery/HeroImageCard.js +8 -6
- package/lib/gallery/ImageCard.js +7 -5
- package/lib/gallery/ImageCardSkeleton.js +6 -4
- package/lib/gallery/VideoTours.js +5 -3
- package/lib/gallery/VirtualTour.js +5 -3
- package/lib/header/InfoHeader.js +5 -3
- package/lib/index.js +91 -91
- package/lib/input/Captcha.js +10 -18
- package/lib/map/MapSection.js +5 -3
- package/lib/property/LeaseOfficeSkeleton.js +2 -2
- package/lib/property/PropertyLocation.js +13 -13
- package/lib/property/PropertyLocationSkeleton.js +2 -2
- package/lib/property/data/Property.js +5 -7
- package/lib/property/service/PropertyService.js +4 -6
- package/lib/review/ReviewSection.js +31 -50
- package/lib/service/AdminApi.js +3 -5
- package/lib/service/Api.js +3 -5
- package/lib/service/AssetApi.js +4 -7
- package/lib/service/GraphqlQuery.js +5 -8
- package/lib/service/RoundRobin.js +5 -8
- package/lib/sublet/SubletCard.js +10 -20
- package/lib/sublet/SubletImage.js +19 -35
- package/lib/sublet/SubletMessageModal.js +21 -44
- package/lib/sublet/SubletNotFound.js +2 -2
- package/lib/sublet/SubletSection.js +116 -165
- package/lib/sublet/SubletsSection.js +16 -29
- package/lib/sublet/data/Sublet.js +2 -3
- package/lib/sublet/services/SubletService.js +18 -28
- package/lib/summer-house/SummerHouseFeatures.js +2 -2
- package/lib/summer-house/SummerHousePricing.js +2 -2
- package/lib/summer-house/data/SummerHouseAmenities.js +2 -3
- package/lib/team/TeamSection.js +14 -22
- package/lib/team/card/TeamCard.js +8 -7
- package/lib/team/card/TeamCardSkeleton.js +2 -2
- package/lib/team/service/TeamService.js +3 -5
- package/lib/utils/PrettyPrintJson.js +5 -3
- package/lib/utils/Utils.js +32 -54
- package/lib/video/Video.js +16 -30
- package/package.json +12 -11
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
@@ -19,105 +18,61 @@ var _VirtualTour = require("../../gallery/VirtualTour");
|
|
|
19
18
|
var _GalleryModal = require("../../gallery/GalleryModal");
|
|
20
19
|
var _GalleryHeroMobile = require("../../gallery/GalleryHeroMobile");
|
|
21
20
|
var _HeroBadgeStats = require("./HeroBadgeStats");
|
|
22
|
-
function _getRequireWildcardCache(
|
|
23
|
-
function _interopRequireWildcard(
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
46
|
-
isAssetsLoading = _useState4[0],
|
|
47
|
-
setIsAssetsLoading = _useState4[1];
|
|
48
|
-
var _useState5 = (0, _react.useState)([]),
|
|
49
|
-
_useState6 = _slicedToArray(_useState5, 2),
|
|
50
|
-
videoTours = _useState6[0],
|
|
51
|
-
setVideoTours = _useState6[1];
|
|
52
|
-
var _useState7 = (0, _react.useState)(undefined),
|
|
53
|
-
_useState8 = _slicedToArray(_useState7, 2),
|
|
54
|
-
virtualTour = _useState8[0],
|
|
55
|
-
setVirtualTour = _useState8[1];
|
|
56
|
-
var _useState9 = (0, _react.useState)(false),
|
|
57
|
-
_useState10 = _slicedToArray(_useState9, 2),
|
|
58
|
-
showFloorplanModal = _useState10[0],
|
|
59
|
-
setShowFloorplanModal = _useState10[1];
|
|
60
|
-
var _useState11 = (0, _react.useState)(1),
|
|
61
|
-
_useState12 = _slicedToArray(_useState11, 2),
|
|
62
|
-
totalPages = _useState12[0],
|
|
63
|
-
setTotalPages = _useState12[1];
|
|
64
|
-
var _useState13 = (0, _react.useState)(0),
|
|
65
|
-
_useState14 = _slicedToArray(_useState13, 2),
|
|
66
|
-
toursCount = _useState14[0],
|
|
67
|
-
setToursCount = _useState14[1];
|
|
68
|
-
var _useState15 = (0, _react.useState)("photo"),
|
|
69
|
-
_useState16 = _slicedToArray(_useState15, 2),
|
|
70
|
-
currentView = _useState16[0],
|
|
71
|
-
setCurrentView = _useState16[1];
|
|
72
|
-
var _useState17 = (0, _react.useState)({}),
|
|
73
|
-
_useState18 = _slicedToArray(_useState17, 2),
|
|
74
|
-
assetInFocus = _useState18[0],
|
|
75
|
-
setAssetInFocus = _useState18[1];
|
|
76
|
-
var _useState19 = (0, _react.useState)(0),
|
|
77
|
-
_useState20 = _slicedToArray(_useState19, 2),
|
|
78
|
-
assetIndex = _useState20[0],
|
|
79
|
-
setAssetIndex = _useState20[1];
|
|
80
|
-
var _useState21 = (0, _react.useState)(false),
|
|
81
|
-
_useState22 = _slicedToArray(_useState21, 2),
|
|
82
|
-
showModal = _useState22[0],
|
|
83
|
-
setShowModal = _useState22[1];
|
|
84
|
-
var FIRST_PAGE_ASSET_COUNT = 5;
|
|
85
|
-
var GRID_SIZE = 8;
|
|
86
|
-
var imageClickedHandler = function imageClickedHandler(image) {
|
|
21
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
22
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
23
|
+
const FloorplanHero = _ref => {
|
|
24
|
+
let {
|
|
25
|
+
floorplan,
|
|
26
|
+
contactClickHandler,
|
|
27
|
+
applyClickHandler,
|
|
28
|
+
handleRefToMap
|
|
29
|
+
} = _ref;
|
|
30
|
+
const [assets, setAssets] = (0, _react.useState)([]);
|
|
31
|
+
const [isAssetsLoading, setIsAssetsLoading] = (0, _react.useState)(true);
|
|
32
|
+
const [videoTours, setVideoTours] = (0, _react.useState)([]);
|
|
33
|
+
const [virtualTour, setVirtualTour] = (0, _react.useState)(undefined);
|
|
34
|
+
const [showFloorplanModal, setShowFloorplanModal] = (0, _react.useState)(false);
|
|
35
|
+
const [totalPages, setTotalPages] = (0, _react.useState)(1);
|
|
36
|
+
const [toursCount, setToursCount] = (0, _react.useState)(0);
|
|
37
|
+
const [currentView, setCurrentView] = (0, _react.useState)("photo");
|
|
38
|
+
const [assetInFocus, setAssetInFocus] = (0, _react.useState)({});
|
|
39
|
+
const [assetIndex, setAssetIndex] = (0, _react.useState)(0);
|
|
40
|
+
const [showModal, setShowModal] = (0, _react.useState)(false);
|
|
41
|
+
const FIRST_PAGE_ASSET_COUNT = 5;
|
|
42
|
+
const GRID_SIZE = 8;
|
|
43
|
+
const imageClickedHandler = image => {
|
|
87
44
|
setShowModal(true);
|
|
88
45
|
setAssetInFocus(image);
|
|
89
|
-
setAssetIndex(assets.findIndex(
|
|
90
|
-
return value.id === image.id;
|
|
91
|
-
}));
|
|
46
|
+
setAssetIndex(assets.findIndex(value => value.id === image.id));
|
|
92
47
|
};
|
|
93
|
-
|
|
48
|
+
const modalCloseHandler = () => {
|
|
94
49
|
setShowModal(false);
|
|
95
50
|
setAssetInFocus({});
|
|
96
51
|
};
|
|
97
|
-
(0, _react.useEffect)(
|
|
52
|
+
(0, _react.useEffect)(() => {
|
|
98
53
|
if (floorplan.virtualTourLink) setVirtualTour(floorplan.virtualTourLink);
|
|
99
|
-
|
|
54
|
+
const tourLinks = [];
|
|
100
55
|
if (floorplan.videoTourLink) tourLinks.push(floorplan.videoTourLink);
|
|
101
56
|
if (floorplan.threeSixtyVideoTourLink) tourLinks.push(floorplan.threeSixtyVideoTourLink);
|
|
102
57
|
setVideoTours(tourLinks);
|
|
103
|
-
|
|
58
|
+
let otherAssetCounts = (tourLinks.length > 0 ? 1 : 0) + (floorplan.virtualTourLink ? 1 : 0);
|
|
104
59
|
setToursCount(otherAssetCounts);
|
|
105
|
-
|
|
60
|
+
const images = [];
|
|
106
61
|
images.push({
|
|
107
62
|
id: (0, _Utils.extractIdFrom)(floorplan.coverImage),
|
|
108
63
|
name: "cover image"
|
|
109
64
|
});
|
|
110
65
|
if (floorplan.photosFolderId) {
|
|
111
|
-
(0, _AssetService.getAssetsFrom)(floorplan.photosFolderId).then(
|
|
112
|
-
images.push
|
|
113
|
-
|
|
66
|
+
(0, _AssetService.getAssetsFrom)(floorplan.photosFolderId).then(galleryAssets => {
|
|
67
|
+
images.push(...galleryAssets);
|
|
68
|
+
let totalAssets = images.length + otherAssetCounts;
|
|
114
69
|
if (totalAssets > FIRST_PAGE_ASSET_COUNT) {
|
|
115
|
-
|
|
70
|
+
let pages = Math.trunc((totalAssets - FIRST_PAGE_ASSET_COUNT) / 8 + 1);
|
|
116
71
|
if ((totalAssets - FIRST_PAGE_ASSET_COUNT) % 8 === 0) {
|
|
117
72
|
setTotalPages(pages);
|
|
118
73
|
} else setTotalPages(pages + 1);
|
|
119
74
|
}
|
|
120
|
-
}).finally(
|
|
75
|
+
}).finally(() => {
|
|
121
76
|
setAssets(images);
|
|
122
77
|
setIsAssetsLoading(false);
|
|
123
78
|
});
|
|
@@ -127,17 +82,13 @@ var FloorplanHero = function FloorplanHero(_ref) {
|
|
|
127
82
|
setIsAssetsLoading(false);
|
|
128
83
|
}
|
|
129
84
|
}, [floorplan]);
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
return FIRST_PAGE_ASSET_COUNT - toursCount;
|
|
135
|
-
};
|
|
136
|
-
var getImagesForFirstSliderPage = assets.slice(0, assets.length >= imageCountForFirstPage() ? imageCountForFirstPage() : assets.length);
|
|
137
|
-
var assetsToShow = function assetsToShow(slideIndex) {
|
|
85
|
+
const isFirstSliderPage = slideIndex => slideIndex === 0;
|
|
86
|
+
const imageCountForFirstPage = () => FIRST_PAGE_ASSET_COUNT - toursCount;
|
|
87
|
+
const getImagesForFirstSliderPage = assets.slice(0, assets.length >= imageCountForFirstPage() ? imageCountForFirstPage() : assets.length);
|
|
88
|
+
const assetsToShow = slideIndex => {
|
|
138
89
|
if (isFirstSliderPage(slideIndex)) return getImagesForFirstSliderPage;
|
|
139
|
-
|
|
140
|
-
|
|
90
|
+
const startIndex = imageCountForFirstPage() + (slideIndex - 1) * 8;
|
|
91
|
+
const endIndex = startIndex + GRID_SIZE;
|
|
141
92
|
return assets.slice(startIndex, endIndex);
|
|
142
93
|
};
|
|
143
94
|
return /*#__PURE__*/_react.default.createElement("section", {
|
|
@@ -156,18 +107,16 @@ var FloorplanHero = function FloorplanHero(_ref) {
|
|
|
156
107
|
}), currentView === "photo" ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
157
108
|
className: "photo-view main"
|
|
158
109
|
}, /*#__PURE__*/_react.default.createElement(_muncherUi.ItemSlider, {
|
|
159
|
-
sliderItems:
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
});
|
|
170
|
-
})
|
|
110
|
+
sliderItems: [...Array(totalPages)].map((x, i) => /*#__PURE__*/_react.default.createElement(_GalleryHeroMain.GalleryHeroMain, {
|
|
111
|
+
isAvailableNow: (0, _FloorplanService.isFloorplanAvailable)(floorplan),
|
|
112
|
+
virtualTour: virtualTour,
|
|
113
|
+
isFirst: i === 0,
|
|
114
|
+
toursCount: toursCount,
|
|
115
|
+
setCurrentView: setCurrentView,
|
|
116
|
+
imageClickedHandler: imageClickedHandler,
|
|
117
|
+
assetsToShow: assetsToShow(i),
|
|
118
|
+
propertyId: floorplan.property.id
|
|
119
|
+
}))
|
|
171
120
|
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
172
121
|
className: "photo-view mobile"
|
|
173
122
|
}, /*#__PURE__*/_react.default.createElement(_GalleryHeroMobile.GalleryHeroMobile, {
|
|
@@ -201,32 +150,26 @@ var FloorplanHero = function FloorplanHero(_ref) {
|
|
|
201
150
|
className: "floorplan-column-left"
|
|
202
151
|
}, /*#__PURE__*/_react.default.createElement("h3", null, floorplan.name), floorplan.units.length > 0 ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("h4", null, "$", (0, _Utils.rangeFrom)(floorplan.units, "rent"), "/mo"), /*#__PURE__*/_react.default.createElement("p", {
|
|
203
152
|
className: "floorplan--description"
|
|
204
|
-
},
|
|
153
|
+
}, floorplan.property.address, ", ", floorplan.property.zipcode)) : "", /*#__PURE__*/_react.default.createElement("div", {
|
|
205
154
|
className: "floorplan--featured"
|
|
206
155
|
}, /*#__PURE__*/_react.default.createElement(_muncherUi.Button, {
|
|
207
156
|
size: "small",
|
|
208
|
-
onClick:
|
|
209
|
-
return setShowFloorplanModal(true);
|
|
210
|
-
}
|
|
157
|
+
onClick: () => setShowFloorplanModal(true)
|
|
211
158
|
}, /*#__PURE__*/_react.default.createElement(_muncherUi.Icon, {
|
|
212
159
|
name: "max",
|
|
213
160
|
orientation: "right"
|
|
214
161
|
}, "View Floorplan"), " "), "|\xA0\xA0", /*#__PURE__*/_react.default.createElement(_muncherUi.Button, {
|
|
215
162
|
size: "small",
|
|
216
|
-
onClick:
|
|
217
|
-
return handleRefToMap();
|
|
218
|
-
}
|
|
163
|
+
onClick: () => handleRefToMap()
|
|
219
164
|
}, /*#__PURE__*/_react.default.createElement(_muncherUi.Icon, {
|
|
220
165
|
orientation: "right",
|
|
221
166
|
name: "map"
|
|
222
|
-
}, "View on Map"), " "), floorplan.property.busRoutes.length > 0 ? /*#__PURE__*/_react.default.createElement("p", null, "Bus Routes:\xA0", floorplan.property.busRoutes.map(
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
}, busRoute.busRoute), index < floorplan.property.busRoutes.length - 1 ? ", " : "");
|
|
229
|
-
})) : "")), /*#__PURE__*/_react.default.createElement("div", {
|
|
167
|
+
}, "View on Map"), " "), floorplan.property.busRoutes.length > 0 ? /*#__PURE__*/_react.default.createElement("p", null, "Bus Routes:\xA0", floorplan.property.busRoutes.map((busRoute, index) => /*#__PURE__*/_react.default.createElement("span", {
|
|
168
|
+
key: "bus-route-" + index
|
|
169
|
+
}, /*#__PURE__*/_react.default.createElement("a", {
|
|
170
|
+
href: busRoute.busRouteLink,
|
|
171
|
+
target: "_blank"
|
|
172
|
+
}, busRoute.busRoute), index < floorplan.property.busRoutes.length - 1 ? ", " : ""))) : "")), /*#__PURE__*/_react.default.createElement("div", {
|
|
230
173
|
className: "main"
|
|
231
174
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
232
175
|
className: " floorplan-column-right"
|
|
@@ -244,4 +187,4 @@ var FloorplanHero = function FloorplanHero(_ref) {
|
|
|
244
187
|
}))))));
|
|
245
188
|
};
|
|
246
189
|
exports.FloorplanHero = FloorplanHero;
|
|
247
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfbXVuY2hlclVpIiwiX0Fzc2V0U2VydmljZSIsIl9HYWxsZXJ5SGVyb1NrZWxldG9uIiwiX0dhbGxlcnlIZXJvTWFpbiIsIl9VdGlscyIsIl9Bc3NldE1vZGFsIiwiX0Zsb29ycGxhblNlcnZpY2UiLCJfVmlkZW9Ub3VycyIsIl9WaXJ0dWFsVG91ciIsIl9HYWxsZXJ5TW9kYWwiLCJfR2FsbGVyeUhlcm9Nb2JpbGUiLCJfSGVyb0JhZGdlU3RhdHMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIl90b0NvbnN1bWFibGVBcnJheSIsImFyciIsIl9hcnJheVdpdGhvdXRIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVTcHJlYWQiLCJUeXBlRXJyb3IiLCJpdGVyIiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJBcnJheSIsImZyb20iLCJpc0FycmF5IiwiX2FycmF5TGlrZVRvQXJyYXkiLCJfc2xpY2VkVG9BcnJheSIsImkiLCJfYXJyYXlXaXRoSG9sZXMiLCJfaXRlcmFibGVUb0FycmF5TGltaXQiLCJfbm9uSXRlcmFibGVSZXN0IiwibyIsIm1pbkxlbiIsIm4iLCJ0b1N0cmluZyIsInNsaWNlIiwiY29uc3RydWN0b3IiLCJuYW1lIiwidGVzdCIsImxlbiIsImxlbmd0aCIsImFycjIiLCJyIiwibCIsInQiLCJlIiwidSIsImEiLCJmIiwibmV4dCIsImRvbmUiLCJwdXNoIiwidmFsdWUiLCJyZXR1cm4iLCJGbG9vcnBsYW5IZXJvIiwiX3JlZiIsIl9mbG9vcnBsYW4kdW5pdHMkIiwiX2Zsb29ycGxhbiR1bml0cyQyIiwiZmxvb3JwbGFuIiwiY29udGFjdENsaWNrSGFuZGxlciIsImFwcGx5Q2xpY2tIYW5kbGVyIiwiaGFuZGxlUmVmVG9NYXAiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJhc3NldHMiLCJzZXRBc3NldHMiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImlzQXNzZXRzTG9hZGluZyIsInNldElzQXNzZXRzTG9hZGluZyIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwidmlkZW9Ub3VycyIsInNldFZpZGVvVG91cnMiLCJfdXNlU3RhdGU3IiwidW5kZWZpbmVkIiwiX3VzZVN0YXRlOCIsInZpcnR1YWxUb3VyIiwic2V0VmlydHVhbFRvdXIiLCJfdXNlU3RhdGU5IiwiX3VzZVN0YXRlMTAiLCJzaG93Rmxvb3JwbGFuTW9kYWwiLCJzZXRTaG93Rmxvb3JwbGFuTW9kYWwiLCJfdXNlU3RhdGUxMSIsIl91c2VTdGF0ZTEyIiwidG90YWxQYWdlcyIsInNldFRvdGFsUGFnZXMiLCJfdXNlU3RhdGUxMyIsIl91c2VTdGF0ZTE0IiwidG91cnNDb3VudCIsInNldFRvdXJzQ291bnQiLCJfdXNlU3RhdGUxNSIsIl91c2VTdGF0ZTE2IiwiY3VycmVudFZpZXciLCJzZXRDdXJyZW50VmlldyIsIl91c2VTdGF0ZTE3IiwiX3VzZVN0YXRlMTgiLCJhc3NldEluRm9jdXMiLCJzZXRBc3NldEluRm9jdXMiLCJfdXNlU3RhdGUxOSIsIl91c2VTdGF0ZTIwIiwiYXNzZXRJbmRleCIsInNldEFzc2V0SW5kZXgiLCJfdXNlU3RhdGUyMSIsIl91c2VTdGF0ZTIyIiwic2hvd01vZGFsIiwic2V0U2hvd01vZGFsIiwiRklSU1RfUEFHRV9BU1NFVF9DT1VOVCIsIkdSSURfU0laRSIsImltYWdlQ2xpY2tlZEhhbmRsZXIiLCJpbWFnZSIsImZpbmRJbmRleCIsImlkIiwibW9kYWxDbG9zZUhhbmRsZXIiLCJ1c2VFZmZlY3QiLCJ2aXJ0dWFsVG91ckxpbmsiLCJ0b3VyTGlua3MiLCJ2aWRlb1RvdXJMaW5rIiwidGhyZWVTaXh0eVZpZGVvVG91ckxpbmsiLCJvdGhlckFzc2V0Q291bnRzIiwiaW1hZ2VzIiwiZXh0cmFjdElkRnJvbSIsImNvdmVySW1hZ2UiLCJwaG90b3NGb2xkZXJJZCIsImdldEFzc2V0c0Zyb20iLCJ0aGVuIiwiZ2FsbGVyeUFzc2V0cyIsImFwcGx5IiwidG90YWxBc3NldHMiLCJwYWdlcyIsIk1hdGgiLCJ0cnVuYyIsImZpbmFsbHkiLCJjb25zb2xlIiwibG9nIiwiaXNGaXJzdFNsaWRlclBhZ2UiLCJzbGlkZUluZGV4IiwiaW1hZ2VDb3VudEZvckZpcnN0UGFnZSIsImdldEltYWdlc0ZvckZpcnN0U2xpZGVyUGFnZSIsImFzc2V0c1RvU2hvdyIsInN0YXJ0SW5kZXgiLCJlbmRJbmRleCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJHYWxsZXJ5SGVyb1NrZWxldG9uIiwiRnJhZ21lbnQiLCJHYWxsZXJ5TW9kYWwiLCJwcm9wZXJ0eUlkIiwicHJvcGVydHkiLCJJdGVtU2xpZGVyIiwic2xpZGVySXRlbXMiLCJtYXAiLCJ4IiwiR2FsbGVyeUhlcm9NYWluIiwiaXNBdmFpbGFibGVOb3ciLCJpc0Zsb29ycGxhbkF2YWlsYWJsZSIsImlzRmlyc3QiLCJHYWxsZXJ5SGVyb01vYmlsZSIsIlZpZGVvVG91cnMiLCJ2aWRlb1RvdXJVcmxzIiwiVmlydHVhbFRvdXIiLCJ2aXJ0dWFsVG91clVybCIsIkhlcm9CYWRnZVN0YXRzIiwiQXNzZXRNb2RhbCIsImFzc2V0VXJsIiwicGhvdG8iLCJhc3NldFRpdGxlIiwidW5pdHMiLCJyYW5nZUZyb20iLCJhZGRyZXNzIiwiemlwY29kZSIsIkJ1dHRvbiIsInNpemUiLCJvbkNsaWNrIiwiSWNvbiIsIm9yaWVudGF0aW9uIiwiYnVzUm91dGVzIiwiYnVzUm91dGUiLCJpbmRleCIsImhyZWYiLCJidXNSb3V0ZUxpbmsiLCJ0YXJnZXQiLCJ2YXJpYW50IiwiU2hhcmVCdXR0b24iLCJ0aXRsZSIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZmxvb3JwbGFuL3NlY3Rpb24vRmxvb3JwbGFuSGVyby50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7dXNlRWZmZWN0LCB1c2VTdGF0ZX0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgXCIuL2Fzc2V0cy9GbG9vcnBsYW5IZXJvLnNjc3NcIjtcbmltcG9ydCB7QnV0dG9uLCBJY29uLCBJdGVtU2xpZGVyLCBTaGFyZUJ1dHRvbn0gZnJvbSBcIkBjb250ZW50bXVuY2gvbXVuY2hlci11aVwiO1xuaW1wb3J0IHtBc3NldH0gZnJvbSBcIi4uLy4uL2Fzc2V0L2RhdGEvQXNzZXRcIjtcbmltcG9ydCB7Z2V0QXNzZXRzRnJvbX0gZnJvbSBcIi4uLy4uL2Fzc2V0L3NlcnZpY2UvQXNzZXRTZXJ2aWNlXCI7XG5pbXBvcnQge0dhbGxlcnlIZXJvU2tlbGV0b259IGZyb20gXCIuLi8uLi9nYWxsZXJ5L0dhbGxlcnlIZXJvU2tlbGV0b25cIjtcbmltcG9ydCB7R2FsbGVyeUhlcm9NYWlufSBmcm9tIFwiLi4vLi4vZ2FsbGVyeS9HYWxsZXJ5SGVyb01haW5cIjtcbmltcG9ydCB7ZXh0cmFjdElkRnJvbSwgcmFuZ2VGcm9tfSBmcm9tIFwiLi4vLi4vdXRpbHMvVXRpbHNcIjtcbmltcG9ydCB7Rmxvb3JwbGFufSBmcm9tIFwiLi4vZGF0YS9GbG9vcnBsYW5cIjtcbmltcG9ydCB7QXNzZXRNb2RhbH0gZnJvbSBcIi4uLy4uL2Fzc2V0L0Fzc2V0TW9kYWxcIjtcbmltcG9ydCB7aXNGbG9vcnBsYW5BdmFpbGFibGV9IGZyb20gXCIuLi9zZXJ2aWNlL0Zsb29ycGxhblNlcnZpY2VcIjtcbmltcG9ydCB7VmlkZW9Ub3Vyc30gZnJvbSBcIi4uLy4uL2dhbGxlcnkvVmlkZW9Ub3Vyc1wiO1xuaW1wb3J0IHtWaXJ0dWFsVG91cn0gZnJvbSBcIi4uLy4uL2dhbGxlcnkvVmlydHVhbFRvdXJcIjtcbmltcG9ydCB7R2FsbGVyeU1vZGFsfSBmcm9tIFwiLi4vLi4vZ2FsbGVyeS9HYWxsZXJ5TW9kYWxcIjtcbmltcG9ydCB7R2FsbGVyeUhlcm9Nb2JpbGV9IGZyb20gXCIuLi8uLi9nYWxsZXJ5L0dhbGxlcnlIZXJvTW9iaWxlXCI7XG5pbXBvcnQge0hlcm9CYWRnZVN0YXRzfSBmcm9tIFwiLi9IZXJvQmFkZ2VTdGF0c1wiO1xuXG5leHBvcnQgY29uc3QgRmxvb3JwbGFuSGVybzogUmVhY3QuRkM8Rmxvb3JwbGFuUHJvcHM+ID0gKFxuICAgIHtmbG9vcnBsYW4sIGNvbnRhY3RDbGlja0hhbmRsZXIsIGFwcGx5Q2xpY2tIYW5kbGVyLCBoYW5kbGVSZWZUb01hcH0pID0+IHtcbiAgICBjb25zdCBbYXNzZXRzLCBzZXRBc3NldHNdID0gdXNlU3RhdGU8QXNzZXRbXT4oW10pO1xuICAgIGNvbnN0IFtpc0Fzc2V0c0xvYWRpbmcsIHNldElzQXNzZXRzTG9hZGluZ10gPSB1c2VTdGF0ZSh0cnVlKTtcbiAgICBjb25zdCBbdmlkZW9Ub3Vycywgc2V0VmlkZW9Ub3Vyc10gPSB1c2VTdGF0ZTxzdHJpbmdbXT4oW10pO1xuICAgIGNvbnN0IFt2aXJ0dWFsVG91ciwgc2V0VmlydHVhbFRvdXJdID0gdXNlU3RhdGU8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICAgIGNvbnN0IFtzaG93Rmxvb3JwbGFuTW9kYWwsIHNldFNob3dGbG9vcnBsYW5Nb2RhbF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgW3RvdGFsUGFnZXMsIHNldFRvdGFsUGFnZXNdID0gdXNlU3RhdGUoMSk7XG4gICAgY29uc3QgW3RvdXJzQ291bnQsIHNldFRvdXJzQ291bnRdID0gdXNlU3RhdGUoMCk7XG4gICAgY29uc3QgW2N1cnJlbnRWaWV3LCBzZXRDdXJyZW50Vmlld10gPSB1c2VTdGF0ZTxcInBob3RvXCIgfCBcInZpcnR1YWwgdG91clwiIHwgXCJ2aWRlbyB0b3VyXCI+KFwicGhvdG9cIik7XG4gICAgY29uc3QgW2Fzc2V0SW5Gb2N1cywgc2V0QXNzZXRJbkZvY3VzXSA9IHVzZVN0YXRlPEFzc2V0Pih7fSBhcyBBc3NldCk7XG4gICAgY29uc3QgW2Fzc2V0SW5kZXgsIHNldEFzc2V0SW5kZXhdID0gdXNlU3RhdGUoMCk7XG4gICAgY29uc3QgW3Nob3dNb2RhbCwgc2V0U2hvd01vZGFsXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICAgIGNvbnN0IEZJUlNUX1BBR0VfQVNTRVRfQ09VTlQgPSA1O1xuICAgIGNvbnN0IEdSSURfU0laRSA9IDg7XG4gICAgY29uc3QgaW1hZ2VDbGlja2VkSGFuZGxlciA9IChpbWFnZTogQXNzZXQpID0+IHtcbiAgICAgICAgc2V0U2hvd01vZGFsKHRydWUpO1xuICAgICAgICBzZXRBc3NldEluRm9jdXMoaW1hZ2UpO1xuICAgICAgICBzZXRBc3NldEluZGV4KGFzc2V0cy5maW5kSW5kZXgodmFsdWUgPT4gdmFsdWUuaWQgPT09IGltYWdlLmlkKSk7XG4gICAgfTtcbiAgICBjb25zdCBtb2RhbENsb3NlSGFuZGxlciA9ICgpID0+IHtcbiAgICAgICAgc2V0U2hvd01vZGFsKGZhbHNlKTtcbiAgICAgICAgc2V0QXNzZXRJbkZvY3VzKHt9IGFzIEFzc2V0KTtcbiAgICB9O1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmIChmbG9vcnBsYW4udmlydHVhbFRvdXJMaW5rKVxuICAgICAgICAgICAgc2V0VmlydHVhbFRvdXIoZmxvb3JwbGFuLnZpcnR1YWxUb3VyTGluayk7XG4gICAgICAgIGNvbnN0IHRvdXJMaW5rcyA9IFtdO1xuICAgICAgICBpZiAoZmxvb3JwbGFuLnZpZGVvVG91ckxpbmspXG4gICAgICAgICAgICB0b3VyTGlua3MucHVzaChmbG9vcnBsYW4udmlkZW9Ub3VyTGluayk7XG4gICAgICAgIGlmIChmbG9vcnBsYW4udGhyZWVTaXh0eVZpZGVvVG91ckxpbmspXG4gICAgICAgICAgICB0b3VyTGlua3MucHVzaChmbG9vcnBsYW4udGhyZWVTaXh0eVZpZGVvVG91ckxpbmspO1xuICAgICAgICBzZXRWaWRlb1RvdXJzKHRvdXJMaW5rcyk7XG5cbiAgICAgICAgbGV0IG90aGVyQXNzZXRDb3VudHMgPSAodG91ckxpbmtzLmxlbmd0aCA+IDAgPyAxIDogMCkgKyAoZmxvb3JwbGFuLnZpcnR1YWxUb3VyTGluayA/IDEgOiAwKTtcbiAgICAgICAgc2V0VG91cnNDb3VudChvdGhlckFzc2V0Q291bnRzKTtcbiAgICAgICAgY29uc3QgaW1hZ2VzOiBBc3NldFtdID0gW107XG4gICAgICAgIGltYWdlcy5wdXNoKHtpZDogZXh0cmFjdElkRnJvbShmbG9vcnBsYW4uY292ZXJJbWFnZSksIG5hbWU6IFwiY292ZXIgaW1hZ2VcIn0gYXMgQXNzZXQpO1xuXG4gICAgICAgIGlmIChmbG9vcnBsYW4ucGhvdG9zRm9sZGVySWQpIHtcbiAgICAgICAgICAgIGdldEFzc2V0c0Zyb20oZmxvb3JwbGFuLnBob3Rvc0ZvbGRlcklkKS50aGVuKGdhbGxlcnlBc3NldHMgPT4ge1xuICAgICAgICAgICAgICAgIGltYWdlcy5wdXNoKC4uLmdhbGxlcnlBc3NldHMpO1xuXG4gICAgICAgICAgICAgICAgbGV0IHRvdGFsQXNzZXRzID0gaW1hZ2VzLmxlbmd0aCArIG90aGVyQXNzZXRDb3VudHM7XG5cbiAgICAgICAgICAgICAgICBpZiAodG90YWxBc3NldHMgPiBGSVJTVF9QQUdFX0FTU0VUX0NPVU5UKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgbGV0IHBhZ2VzID0gTWF0aC50cnVuYygoKHRvdGFsQXNzZXRzIC0gRklSU1RfUEFHRV9BU1NFVF9DT1VOVCkgLyA4KSArIDEpO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICgodG90YWxBc3NldHMgLSBGSVJTVF9QQUdFX0FTU0VUX0NPVU5UKSAlIDggPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFRvdGFsUGFnZXMocGFnZXMpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFRvdGFsUGFnZXMocGFnZXMgKyAxKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH0pLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHNldEFzc2V0cyhpbWFnZXMpO1xuICAgICAgICAgICAgICAgIHNldElzQXNzZXRzTG9hZGluZyhmYWxzZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHNldEFzc2V0cyhpbWFnZXMpO1xuICAgICAgICAgICAgY29uc29sZS5sb2coaW1hZ2VzKVxuICAgICAgICAgICAgc2V0SXNBc3NldHNMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgfVxuXG4gICAgfSwgW2Zsb29ycGxhbl0pXG5cbiAgICBjb25zdCBpc0ZpcnN0U2xpZGVyUGFnZSA9IChzbGlkZUluZGV4OiBudW1iZXIpID0+IHNsaWRlSW5kZXggPT09IDA7XG5cbiAgICBjb25zdCBpbWFnZUNvdW50Rm9yRmlyc3RQYWdlID0gKCkgPT4gRklSU1RfUEFHRV9BU1NFVF9DT1VOVCAtIHRvdXJzQ291bnQ7XG5cblxuICAgIGNvbnN0IGdldEltYWdlc0ZvckZpcnN0U2xpZGVyUGFnZSA9IGFzc2V0cy5zbGljZSgwLCBhc3NldHMubGVuZ3RoID49IGltYWdlQ291bnRGb3JGaXJzdFBhZ2UoKSA/IGltYWdlQ291bnRGb3JGaXJzdFBhZ2UoKSA6IGFzc2V0cy5sZW5ndGgpO1xuICAgIGNvbnN0IGFzc2V0c1RvU2hvdyA9IChzbGlkZUluZGV4OiBudW1iZXIpID0+IHtcblxuICAgICAgICBpZiAoaXNGaXJzdFNsaWRlclBhZ2Uoc2xpZGVJbmRleCkpXG4gICAgICAgICAgICByZXR1cm4gZ2V0SW1hZ2VzRm9yRmlyc3RTbGlkZXJQYWdlO1xuXG4gICAgICAgIGNvbnN0IHN0YXJ0SW5kZXggPSBpbWFnZUNvdW50Rm9yRmlyc3RQYWdlKCkgKyAoc2xpZGVJbmRleCAtIDEpICogODtcbiAgICAgICAgY29uc3QgZW5kSW5kZXggPSBzdGFydEluZGV4ICsgR1JJRF9TSVpFO1xuXG4gICAgICAgIHJldHVybiBhc3NldHMuc2xpY2Uoc3RhcnRJbmRleCwgZW5kSW5kZXgpO1xuXG5cbiAgICB9O1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPHNlY3Rpb24gY2xhc3NOYW1lPVwic2VjdGlvbi1mbG9vcnBsYW4tLWhlcm9cIj5cbiAgICAgICAgICAgIHtpc0Fzc2V0c0xvYWRpbmcgPyA8R2FsbGVyeUhlcm9Ta2VsZXRvbi8+IDpcbiAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdhbGxlcnktaGVyb1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEdhbGxlcnlNb2RhbCBhc3NldHM9e2Fzc2V0c30gYXNzZXRJbkZvY3VzPXthc3NldEluRm9jdXN9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldEFzc2V0SW5Gb2N1cz17c2V0QXNzZXRJbkZvY3VzfSBzaG93TW9kYWw9e3Nob3dNb2RhbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXNzZXRJbmRleD17YXNzZXRJbmRleH0gc2V0QXNzZXRJbmRleD17c2V0QXNzZXRJbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kYWxDbG9zZUhhbmRsZXI9e21vZGFsQ2xvc2VIYW5kbGVyfSBwcm9wZXJ0eUlkPXtmbG9vcnBsYW4ucHJvcGVydHkuaWR9Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtjdXJyZW50VmlldyA9PT0gXCJwaG90b1wiID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInBob3RvLXZpZXcgbWFpblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW1TbGlkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGlkZXJJdGVtcz17Wy4uLkFycmF5KHRvdGFsUGFnZXMpXS5tYXAoKHgsIGkpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxHYWxsZXJ5SGVyb01haW4gaXNBdmFpbGFibGVOb3c9e2lzRmxvb3JwbGFuQXZhaWxhYmxlKGZsb29ycGxhbil9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlydHVhbFRvdXI9e3ZpcnR1YWxUb3VyfSBpc0ZpcnN0PXtpID09PSAwfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvdXJzQ291bnQ9e3RvdXJzQ291bnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0Q3VycmVudFZpZXc9e3NldEN1cnJlbnRWaWV3fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlQ2xpY2tlZEhhbmRsZXI9e2ltYWdlQ2xpY2tlZEhhbmRsZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXNzZXRzVG9TaG93PXthc3NldHNUb1Nob3coaSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydHlJZD17Zmxvb3JwbGFuLnByb3BlcnR5LmlkfS8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX0vPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJwaG90by12aWV3IG1vYmlsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEdhbGxlcnlIZXJvTW9iaWxlIGFzc2V0cz17YXNzZXRzfSB0b3Vyc0NvdW50PXt0b3Vyc0NvdW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpcnR1YWxUb3VyPXt2aXJ0dWFsVG91cn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRDdXJyZW50Vmlldz17c2V0Q3VycmVudFZpZXd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2VDbGlja2VkSGFuZGxlcj17aW1hZ2VDbGlja2VkSGFuZGxlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eUlkPXtmbG9vcnBsYW4ucHJvcGVydHkuaWR9Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC8+IDogXCJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICB7Y3VycmVudFZpZXcgPT09IFwidmlkZW8gdG91clwiID8gPFZpZGVvVG91cnMgdmlkZW9Ub3VyVXJscz17dmlkZW9Ub3Vyc30vPiA6IFwiXCJ9XG4gICAgICAgICAgICAgICAgICAgICAgICB7Y3VycmVudFZpZXcgPT09IFwidmlydHVhbCB0b3VyXCIgPyA8VmlydHVhbFRvdXIgdmlydHVhbFRvdXJVcmw9e3ZpcnR1YWxUb3VyfS8+IDogXCJcIn1cbiAgICAgICAgICAgICAgICAgICAgICAgIDxIZXJvQmFkZ2VTdGF0cyBjdXJyZW50Vmlldz17Y3VycmVudFZpZXd9IHNldEN1cnJlbnRWaWV3PXtzZXRDdXJyZW50Vmlld31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3RhbEFzc2V0cz17YXNzZXRzPy5sZW5ndGh9IHZpZGVvVG91cnM9e3ZpZGVvVG91cnN9IHZpcnR1YWxUb3VyPXt2aXJ0dWFsVG91cn0vPlxuXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvPlxuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8QXNzZXRNb2RhbCBhc3NldFVybD17Zmxvb3JwbGFuLnBob3RvfSBhc3NldFRpdGxlPVwiRmxvb3JwbGFuIGltYWdlXCIgc2hvd01vZGFsPXtzaG93Rmxvb3JwbGFuTW9kYWx9XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRTaG93TW9kYWw9e3NldFNob3dGbG9vcnBsYW5Nb2RhbH0gcHJvcGVydHlJZD17Zmxvb3JwbGFuLnByb3BlcnR5LmlkfS8+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxvb3JwbGFuLS10d28tY29sdW1uc1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsb29ycGxhbi1jb2x1bW4tbGVmdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGgzPntmbG9vcnBsYW4ubmFtZX08L2gzPlxuICAgICAgICAgICAgICAgICAgICAgICAge2Zsb29ycGxhbi51bml0cy5sZW5ndGggPiAwID8gPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQ+JHtyYW5nZUZyb20oZmxvb3JwbGFuLnVuaXRzLCBcInJlbnRcIil9L21vPC9oND5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJmbG9vcnBsYW4tLWRlc2NyaXB0aW9uXCI+e2Zsb29ycGxhbi51bml0c1swXT8uYWRkcmVzc30sIHtmbG9vcnBsYW4udW5pdHNbMF0/LnppcGNvZGV9PC9wPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8Lz4gOiBcIlwifVxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsb29ycGxhbi0tZmVhdHVyZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uIHNpemU9XCJzbWFsbFwiIG9uQ2xpY2s9eygpID0+IHNldFNob3dGbG9vcnBsYW5Nb2RhbCh0cnVlKX0+PEljb24gbmFtZT1cIm1heFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcmllbnRhdGlvbj1cInJpZ2h0XCI+Vmlld1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGbG9vcnBsYW48L0ljb24+IDwvQnV0dG9uPnwmbmJzcDsmbmJzcDs8QnV0dG9uIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlUmVmVG9NYXAoKX0+PEljb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcmllbnRhdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwibWFwXCI+Vmlld1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uIE1hcDwvSWNvbj4gPC9CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2Zsb29ycGxhbi5wcm9wZXJ0eS5idXNSb3V0ZXMubGVuZ3RoID4gMCA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPkJ1cyBSb3V0ZXM6Jm5ic3A7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtmbG9vcnBsYW4ucHJvcGVydHkuYnVzUm91dGVzLm1hcCgoYnVzUm91dGUsIGluZGV4KSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGtleT17XCJidXMtcm91dGUtXCIgKyBpbmRleH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9e2J1c1JvdXRlLmJ1c1JvdXRlTGlua30gdGFyZ2V0PVwiX2JsYW5rXCI+e2J1c1JvdXRlLmJ1c1JvdXRlfTwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2luZGV4IDwgZmxvb3JwbGFuLnByb3BlcnR5LmJ1c1JvdXRlcy5sZW5ndGggLSAxID8gXCIsIFwiIDogXCJcIn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJcIn1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1haW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiIGZsb29ycGxhbi1jb2x1bW4tcmlnaHRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uIHZhcmlhbnQ9XCJwcmltYXJ5XCIgc2l6ZT1cIm1lZGl1bVwiIG9uQ2xpY2s9e2NvbnRhY3RDbGlja0hhbmRsZXJ9PmNvbnRhY3QgdXM8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uIHZhcmlhbnQ9XCJ0ZXJ0aWFyeVwiIHNpemU9XCJtZWRpdW1cIiBvbkNsaWNrPXthcHBseUNsaWNrSGFuZGxlcn0+YXBwbHk8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2hhcmVCdXR0b24gdGl0bGU9XCJDaGVjayBvdXQgdGhpcyBhcGFydG1lbnRcIiBzaXplPVwibGFyZ2VcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9zZWN0aW9uPlxuICAgICk7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIEZsb29ycGxhblByb3BzIHtcbiAgICBmbG9vcnBsYW46IEZsb29ycGxhbjtcbiAgICBjb250YWN0Q2xpY2tIYW5kbGVyOiAoKSA9PiB2b2lkO1xuICAgIGFwcGx5Q2xpY2tIYW5kbGVyOiAoKSA9PiB2b2lkO1xuICAgIGhhbmRsZVJlZlRvTWFwOiAoKSA9PiB2b2lkO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0FBLE9BQUE7QUFDQSxJQUFBQyxVQUFBLEdBQUFELE9BQUE7QUFFQSxJQUFBRSxhQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxvQkFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksZ0JBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLE1BQUEsR0FBQUwsT0FBQTtBQUVBLElBQUFNLFdBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLGlCQUFBLEdBQUFQLE9BQUE7QUFDQSxJQUFBUSxXQUFBLEdBQUFSLE9BQUE7QUFDQSxJQUFBUyxZQUFBLEdBQUFULE9BQUE7QUFDQSxJQUFBVSxhQUFBLEdBQUFWLE9BQUE7QUFDQSxJQUFBVyxrQkFBQSxHQUFBWCxPQUFBO0FBQ0EsSUFBQVksZUFBQSxH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
|
|
190
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfbXVuY2hlclVpIiwiX0Fzc2V0U2VydmljZSIsIl9HYWxsZXJ5SGVyb1NrZWxldG9uIiwiX0dhbGxlcnlIZXJvTWFpbiIsIl9VdGlscyIsIl9Bc3NldE1vZGFsIiwiX0Zsb29ycGxhblNlcnZpY2UiLCJfVmlkZW9Ub3VycyIsIl9WaXJ0dWFsVG91ciIsIl9HYWxsZXJ5TW9kYWwiLCJfR2FsbGVyeUhlcm9Nb2JpbGUiLCJfSGVyb0JhZGdlU3RhdHMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJGbG9vcnBsYW5IZXJvIiwiX3JlZiIsImZsb29ycGxhbiIsImNvbnRhY3RDbGlja0hhbmRsZXIiLCJhcHBseUNsaWNrSGFuZGxlciIsImhhbmRsZVJlZlRvTWFwIiwiYXNzZXRzIiwic2V0QXNzZXRzIiwidXNlU3RhdGUiLCJpc0Fzc2V0c0xvYWRpbmciLCJzZXRJc0Fzc2V0c0xvYWRpbmciLCJ2aWRlb1RvdXJzIiwic2V0VmlkZW9Ub3VycyIsInZpcnR1YWxUb3VyIiwic2V0VmlydHVhbFRvdXIiLCJ1bmRlZmluZWQiLCJzaG93Rmxvb3JwbGFuTW9kYWwiLCJzZXRTaG93Rmxvb3JwbGFuTW9kYWwiLCJ0b3RhbFBhZ2VzIiwic2V0VG90YWxQYWdlcyIsInRvdXJzQ291bnQiLCJzZXRUb3Vyc0NvdW50IiwiY3VycmVudFZpZXciLCJzZXRDdXJyZW50VmlldyIsImFzc2V0SW5Gb2N1cyIsInNldEFzc2V0SW5Gb2N1cyIsImFzc2V0SW5kZXgiLCJzZXRBc3NldEluZGV4Iiwic2hvd01vZGFsIiwic2V0U2hvd01vZGFsIiwiRklSU1RfUEFHRV9BU1NFVF9DT1VOVCIsIkdSSURfU0laRSIsImltYWdlQ2xpY2tlZEhhbmRsZXIiLCJpbWFnZSIsImZpbmRJbmRleCIsInZhbHVlIiwiaWQiLCJtb2RhbENsb3NlSGFuZGxlciIsInVzZUVmZmVjdCIsInZpcnR1YWxUb3VyTGluayIsInRvdXJMaW5rcyIsInZpZGVvVG91ckxpbmsiLCJwdXNoIiwidGhyZWVTaXh0eVZpZGVvVG91ckxpbmsiLCJvdGhlckFzc2V0Q291bnRzIiwibGVuZ3RoIiwiaW1hZ2VzIiwiZXh0cmFjdElkRnJvbSIsImNvdmVySW1hZ2UiLCJuYW1lIiwicGhvdG9zRm9sZGVySWQiLCJnZXRBc3NldHNGcm9tIiwidGhlbiIsImdhbGxlcnlBc3NldHMiLCJ0b3RhbEFzc2V0cyIsInBhZ2VzIiwiTWF0aCIsInRydW5jIiwiZmluYWxseSIsImNvbnNvbGUiLCJsb2ciLCJpc0ZpcnN0U2xpZGVyUGFnZSIsInNsaWRlSW5kZXgiLCJpbWFnZUNvdW50Rm9yRmlyc3RQYWdlIiwiZ2V0SW1hZ2VzRm9yRmlyc3RTbGlkZXJQYWdlIiwic2xpY2UiLCJhc3NldHNUb1Nob3ciLCJzdGFydEluZGV4IiwiZW5kSW5kZXgiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwiR2FsbGVyeUhlcm9Ta2VsZXRvbiIsIkZyYWdtZW50IiwiR2FsbGVyeU1vZGFsIiwicHJvcGVydHlJZCIsInByb3BlcnR5IiwiSXRlbVNsaWRlciIsInNsaWRlckl0ZW1zIiwiQXJyYXkiLCJtYXAiLCJ4IiwiR2FsbGVyeUhlcm9NYWluIiwiaXNBdmFpbGFibGVOb3ciLCJpc0Zsb29ycGxhbkF2YWlsYWJsZSIsImlzRmlyc3QiLCJHYWxsZXJ5SGVyb01vYmlsZSIsIlZpZGVvVG91cnMiLCJ2aWRlb1RvdXJVcmxzIiwiVmlydHVhbFRvdXIiLCJ2aXJ0dWFsVG91clVybCIsIkhlcm9CYWRnZVN0YXRzIiwiQXNzZXRNb2RhbCIsImFzc2V0VXJsIiwicGhvdG8iLCJhc3NldFRpdGxlIiwidW5pdHMiLCJyYW5nZUZyb20iLCJhZGRyZXNzIiwiemlwY29kZSIsIkJ1dHRvbiIsInNpemUiLCJvbkNsaWNrIiwiSWNvbiIsIm9yaWVudGF0aW9uIiwiYnVzUm91dGVzIiwiYnVzUm91dGUiLCJpbmRleCIsImtleSIsImhyZWYiLCJidXNSb3V0ZUxpbmsiLCJ0YXJnZXQiLCJ2YXJpYW50IiwiU2hhcmVCdXR0b24iLCJ0aXRsZSIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZmxvb3JwbGFuL3NlY3Rpb24vRmxvb3JwbGFuSGVyby50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7dXNlRWZmZWN0LCB1c2VTdGF0ZX0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgXCIuL2Fzc2V0cy9GbG9vcnBsYW5IZXJvLnNjc3NcIjtcbmltcG9ydCB7QnV0dG9uLCBJY29uLCBJdGVtU2xpZGVyLCBTaGFyZUJ1dHRvbn0gZnJvbSBcIkBjb250ZW50bXVuY2gvbXVuY2hlci11aVwiO1xuaW1wb3J0IHtBc3NldH0gZnJvbSBcIi4uLy4uL2Fzc2V0L2RhdGEvQXNzZXRcIjtcbmltcG9ydCB7Z2V0QXNzZXRzRnJvbX0gZnJvbSBcIi4uLy4uL2Fzc2V0L3NlcnZpY2UvQXNzZXRTZXJ2aWNlXCI7XG5pbXBvcnQge0dhbGxlcnlIZXJvU2tlbGV0b259IGZyb20gXCIuLi8uLi9nYWxsZXJ5L0dhbGxlcnlIZXJvU2tlbGV0b25cIjtcbmltcG9ydCB7R2FsbGVyeUhlcm9NYWlufSBmcm9tIFwiLi4vLi4vZ2FsbGVyeS9HYWxsZXJ5SGVyb01haW5cIjtcbmltcG9ydCB7ZXh0cmFjdElkRnJvbSwgcmFuZ2VGcm9tfSBmcm9tIFwiLi4vLi4vdXRpbHMvVXRpbHNcIjtcbmltcG9ydCB7Rmxvb3JwbGFufSBmcm9tIFwiLi4vZGF0YS9GbG9vcnBsYW5cIjtcbmltcG9ydCB7QXNzZXRNb2RhbH0gZnJvbSBcIi4uLy4uL2Fzc2V0L0Fzc2V0TW9kYWxcIjtcbmltcG9ydCB7aXNGbG9vcnBsYW5BdmFpbGFibGV9IGZyb20gXCIuLi9zZXJ2aWNlL0Zsb29ycGxhblNlcnZpY2VcIjtcbmltcG9ydCB7VmlkZW9Ub3Vyc30gZnJvbSBcIi4uLy4uL2dhbGxlcnkvVmlkZW9Ub3Vyc1wiO1xuaW1wb3J0IHtWaXJ0dWFsVG91cn0gZnJvbSBcIi4uLy4uL2dhbGxlcnkvVmlydHVhbFRvdXJcIjtcbmltcG9ydCB7R2FsbGVyeU1vZGFsfSBmcm9tIFwiLi4vLi4vZ2FsbGVyeS9HYWxsZXJ5TW9kYWxcIjtcbmltcG9ydCB7R2FsbGVyeUhlcm9Nb2JpbGV9IGZyb20gXCIuLi8uLi9nYWxsZXJ5L0dhbGxlcnlIZXJvTW9iaWxlXCI7XG5pbXBvcnQge0hlcm9CYWRnZVN0YXRzfSBmcm9tIFwiLi9IZXJvQmFkZ2VTdGF0c1wiO1xuXG5leHBvcnQgY29uc3QgRmxvb3JwbGFuSGVybzogUmVhY3QuRkM8Rmxvb3JwbGFuUHJvcHM+ID0gKFxuICAgIHtmbG9vcnBsYW4sIGNvbnRhY3RDbGlja0hhbmRsZXIsIGFwcGx5Q2xpY2tIYW5kbGVyLCBoYW5kbGVSZWZUb01hcH0pID0+IHtcbiAgICBjb25zdCBbYXNzZXRzLCBzZXRBc3NldHNdID0gdXNlU3RhdGU8QXNzZXRbXT4oW10pO1xuICAgIGNvbnN0IFtpc0Fzc2V0c0xvYWRpbmcsIHNldElzQXNzZXRzTG9hZGluZ10gPSB1c2VTdGF0ZSh0cnVlKTtcbiAgICBjb25zdCBbdmlkZW9Ub3Vycywgc2V0VmlkZW9Ub3Vyc10gPSB1c2VTdGF0ZTxzdHJpbmdbXT4oW10pO1xuICAgIGNvbnN0IFt2aXJ0dWFsVG91ciwgc2V0VmlydHVhbFRvdXJdID0gdXNlU3RhdGU8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICAgIGNvbnN0IFtzaG93Rmxvb3JwbGFuTW9kYWwsIHNldFNob3dGbG9vcnBsYW5Nb2RhbF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgW3RvdGFsUGFnZXMsIHNldFRvdGFsUGFnZXNdID0gdXNlU3RhdGUoMSk7XG4gICAgY29uc3QgW3RvdXJzQ291bnQsIHNldFRvdXJzQ291bnRdID0gdXNlU3RhdGUoMCk7XG4gICAgY29uc3QgW2N1cnJlbnRWaWV3LCBzZXRDdXJyZW50Vmlld10gPSB1c2VTdGF0ZTxcInBob3RvXCIgfCBcInZpcnR1YWwgdG91clwiIHwgXCJ2aWRlbyB0b3VyXCI+KFwicGhvdG9cIik7XG4gICAgY29uc3QgW2Fzc2V0SW5Gb2N1cywgc2V0QXNzZXRJbkZvY3VzXSA9IHVzZVN0YXRlPEFzc2V0Pih7fSBhcyBBc3NldCk7XG4gICAgY29uc3QgW2Fzc2V0SW5kZXgsIHNldEFzc2V0SW5kZXhdID0gdXNlU3RhdGUoMCk7XG4gICAgY29uc3QgW3Nob3dNb2RhbCwgc2V0U2hvd01vZGFsXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICAgIGNvbnN0IEZJUlNUX1BBR0VfQVNTRVRfQ09VTlQgPSA1O1xuICAgIGNvbnN0IEdSSURfU0laRSA9IDg7XG4gICAgY29uc3QgaW1hZ2VDbGlja2VkSGFuZGxlciA9IChpbWFnZTogQXNzZXQpID0+IHtcbiAgICAgICAgc2V0U2hvd01vZGFsKHRydWUpO1xuICAgICAgICBzZXRBc3NldEluRm9jdXMoaW1hZ2UpO1xuICAgICAgICBzZXRBc3NldEluZGV4KGFzc2V0cy5maW5kSW5kZXgodmFsdWUgPT4gdmFsdWUuaWQgPT09IGltYWdlLmlkKSk7XG4gICAgfTtcbiAgICBjb25zdCBtb2RhbENsb3NlSGFuZGxlciA9ICgpID0+IHtcbiAgICAgICAgc2V0U2hvd01vZGFsKGZhbHNlKTtcbiAgICAgICAgc2V0QXNzZXRJbkZvY3VzKHt9IGFzIEFzc2V0KTtcbiAgICB9O1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmIChmbG9vcnBsYW4udmlydHVhbFRvdXJMaW5rKVxuICAgICAgICAgICAgc2V0VmlydHVhbFRvdXIoZmxvb3JwbGFuLnZpcnR1YWxUb3VyTGluayk7XG4gICAgICAgIGNvbnN0IHRvdXJMaW5rcyA9IFtdO1xuICAgICAgICBpZiAoZmxvb3JwbGFuLnZpZGVvVG91ckxpbmspXG4gICAgICAgICAgICB0b3VyTGlua3MucHVzaChmbG9vcnBsYW4udmlkZW9Ub3VyTGluayk7XG4gICAgICAgIGlmIChmbG9vcnBsYW4udGhyZWVTaXh0eVZpZGVvVG91ckxpbmspXG4gICAgICAgICAgICB0b3VyTGlua3MucHVzaChmbG9vcnBsYW4udGhyZWVTaXh0eVZpZGVvVG91ckxpbmspO1xuICAgICAgICBzZXRWaWRlb1RvdXJzKHRvdXJMaW5rcyk7XG5cbiAgICAgICAgbGV0IG90aGVyQXNzZXRDb3VudHMgPSAodG91ckxpbmtzLmxlbmd0aCA+IDAgPyAxIDogMCkgKyAoZmxvb3JwbGFuLnZpcnR1YWxUb3VyTGluayA/IDEgOiAwKTtcbiAgICAgICAgc2V0VG91cnNDb3VudChvdGhlckFzc2V0Q291bnRzKTtcbiAgICAgICAgY29uc3QgaW1hZ2VzOiBBc3NldFtdID0gW107XG4gICAgICAgIGltYWdlcy5wdXNoKHtpZDogZXh0cmFjdElkRnJvbShmbG9vcnBsYW4uY292ZXJJbWFnZSksIG5hbWU6IFwiY292ZXIgaW1hZ2VcIn0gYXMgQXNzZXQpO1xuXG4gICAgICAgIGlmIChmbG9vcnBsYW4ucGhvdG9zRm9sZGVySWQpIHtcbiAgICAgICAgICAgIGdldEFzc2V0c0Zyb20oZmxvb3JwbGFuLnBob3Rvc0ZvbGRlcklkKS50aGVuKGdhbGxlcnlBc3NldHMgPT4ge1xuICAgICAgICAgICAgICAgIGltYWdlcy5wdXNoKC4uLmdhbGxlcnlBc3NldHMpO1xuXG4gICAgICAgICAgICAgICAgbGV0IHRvdGFsQXNzZXRzID0gaW1hZ2VzLmxlbmd0aCArIG90aGVyQXNzZXRDb3VudHM7XG5cbiAgICAgICAgICAgICAgICBpZiAodG90YWxBc3NldHMgPiBGSVJTVF9QQUdFX0FTU0VUX0NPVU5UKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgbGV0IHBhZ2VzID0gTWF0aC50cnVuYygoKHRvdGFsQXNzZXRzIC0gRklSU1RfUEFHRV9BU1NFVF9DT1VOVCkgLyA4KSArIDEpO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICgodG90YWxBc3NldHMgLSBGSVJTVF9QQUdFX0FTU0VUX0NPVU5UKSAlIDggPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFRvdGFsUGFnZXMocGFnZXMpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFRvdGFsUGFnZXMocGFnZXMgKyAxKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH0pLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHNldEFzc2V0cyhpbWFnZXMpO1xuICAgICAgICAgICAgICAgIHNldElzQXNzZXRzTG9hZGluZyhmYWxzZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHNldEFzc2V0cyhpbWFnZXMpO1xuICAgICAgICAgICAgY29uc29sZS5sb2coaW1hZ2VzKVxuICAgICAgICAgICAgc2V0SXNBc3NldHNMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgfVxuXG4gICAgfSwgW2Zsb29ycGxhbl0pXG5cbiAgICBjb25zdCBpc0ZpcnN0U2xpZGVyUGFnZSA9IChzbGlkZUluZGV4OiBudW1iZXIpID0+IHNsaWRlSW5kZXggPT09IDA7XG5cbiAgICBjb25zdCBpbWFnZUNvdW50Rm9yRmlyc3RQYWdlID0gKCkgPT4gRklSU1RfUEFHRV9BU1NFVF9DT1VOVCAtIHRvdXJzQ291bnQ7XG5cblxuICAgIGNvbnN0IGdldEltYWdlc0ZvckZpcnN0U2xpZGVyUGFnZSA9IGFzc2V0cy5zbGljZSgwLCBhc3NldHMubGVuZ3RoID49IGltYWdlQ291bnRGb3JGaXJzdFBhZ2UoKSA/IGltYWdlQ291bnRGb3JGaXJzdFBhZ2UoKSA6IGFzc2V0cy5sZW5ndGgpO1xuICAgIGNvbnN0IGFzc2V0c1RvU2hvdyA9IChzbGlkZUluZGV4OiBudW1iZXIpID0+IHtcblxuICAgICAgICBpZiAoaXNGaXJzdFNsaWRlclBhZ2Uoc2xpZGVJbmRleCkpXG4gICAgICAgICAgICByZXR1cm4gZ2V0SW1hZ2VzRm9yRmlyc3RTbGlkZXJQYWdlO1xuXG4gICAgICAgIGNvbnN0IHN0YXJ0SW5kZXggPSBpbWFnZUNvdW50Rm9yRmlyc3RQYWdlKCkgKyAoc2xpZGVJbmRleCAtIDEpICogODtcbiAgICAgICAgY29uc3QgZW5kSW5kZXggPSBzdGFydEluZGV4ICsgR1JJRF9TSVpFO1xuXG4gICAgICAgIHJldHVybiBhc3NldHMuc2xpY2Uoc3RhcnRJbmRleCwgZW5kSW5kZXgpO1xuXG5cbiAgICB9O1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPHNlY3Rpb24gY2xhc3NOYW1lPVwic2VjdGlvbi1mbG9vcnBsYW4tLWhlcm9cIj5cbiAgICAgICAgICAgIHtpc0Fzc2V0c0xvYWRpbmcgPyA8R2FsbGVyeUhlcm9Ta2VsZXRvbi8+IDpcbiAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdhbGxlcnktaGVyb1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEdhbGxlcnlNb2RhbCBhc3NldHM9e2Fzc2V0c30gYXNzZXRJbkZvY3VzPXthc3NldEluRm9jdXN9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldEFzc2V0SW5Gb2N1cz17c2V0QXNzZXRJbkZvY3VzfSBzaG93TW9kYWw9e3Nob3dNb2RhbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXNzZXRJbmRleD17YXNzZXRJbmRleH0gc2V0QXNzZXRJbmRleD17c2V0QXNzZXRJbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kYWxDbG9zZUhhbmRsZXI9e21vZGFsQ2xvc2VIYW5kbGVyfSBwcm9wZXJ0eUlkPXtmbG9vcnBsYW4ucHJvcGVydHkuaWR9Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtjdXJyZW50VmlldyA9PT0gXCJwaG90b1wiID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInBob3RvLXZpZXcgbWFpblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW1TbGlkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGlkZXJJdGVtcz17Wy4uLkFycmF5KHRvdGFsUGFnZXMpXS5tYXAoKHgsIGkpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxHYWxsZXJ5SGVyb01haW4gaXNBdmFpbGFibGVOb3c9e2lzRmxvb3JwbGFuQXZhaWxhYmxlKGZsb29ycGxhbil9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlydHVhbFRvdXI9e3ZpcnR1YWxUb3VyfSBpc0ZpcnN0PXtpID09PSAwfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvdXJzQ291bnQ9e3RvdXJzQ291bnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0Q3VycmVudFZpZXc9e3NldEN1cnJlbnRWaWV3fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlQ2xpY2tlZEhhbmRsZXI9e2ltYWdlQ2xpY2tlZEhhbmRsZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXNzZXRzVG9TaG93PXthc3NldHNUb1Nob3coaSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydHlJZD17Zmxvb3JwbGFuLnByb3BlcnR5LmlkfS8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX0vPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJwaG90by12aWV3IG1vYmlsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEdhbGxlcnlIZXJvTW9iaWxlIGFzc2V0cz17YXNzZXRzfSB0b3Vyc0NvdW50PXt0b3Vyc0NvdW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpcnR1YWxUb3VyPXt2aXJ0dWFsVG91cn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRDdXJyZW50Vmlldz17c2V0Q3VycmVudFZpZXd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2VDbGlja2VkSGFuZGxlcj17aW1hZ2VDbGlja2VkSGFuZGxlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eUlkPXtmbG9vcnBsYW4ucHJvcGVydHkuaWR9Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC8+IDogXCJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICB7Y3VycmVudFZpZXcgPT09IFwidmlkZW8gdG91clwiID8gPFZpZGVvVG91cnMgdmlkZW9Ub3VyVXJscz17dmlkZW9Ub3Vyc30vPiA6IFwiXCJ9XG4gICAgICAgICAgICAgICAgICAgICAgICB7Y3VycmVudFZpZXcgPT09IFwidmlydHVhbCB0b3VyXCIgPyA8VmlydHVhbFRvdXIgdmlydHVhbFRvdXJVcmw9e3ZpcnR1YWxUb3VyfS8+IDogXCJcIn1cbiAgICAgICAgICAgICAgICAgICAgICAgIDxIZXJvQmFkZ2VTdGF0cyBjdXJyZW50Vmlldz17Y3VycmVudFZpZXd9IHNldEN1cnJlbnRWaWV3PXtzZXRDdXJyZW50Vmlld31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3RhbEFzc2V0cz17YXNzZXRzPy5sZW5ndGh9IHZpZGVvVG91cnM9e3ZpZGVvVG91cnN9IHZpcnR1YWxUb3VyPXt2aXJ0dWFsVG91cn0vPlxuXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvPlxuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8QXNzZXRNb2RhbCBhc3NldFVybD17Zmxvb3JwbGFuLnBob3RvfSBhc3NldFRpdGxlPVwiRmxvb3JwbGFuIGltYWdlXCIgc2hvd01vZGFsPXtzaG93Rmxvb3JwbGFuTW9kYWx9XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRTaG93TW9kYWw9e3NldFNob3dGbG9vcnBsYW5Nb2RhbH0gcHJvcGVydHlJZD17Zmxvb3JwbGFuLnByb3BlcnR5LmlkfS8+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxvb3JwbGFuLS10d28tY29sdW1uc1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsb29ycGxhbi1jb2x1bW4tbGVmdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGgzPntmbG9vcnBsYW4ubmFtZX08L2gzPlxuICAgICAgICAgICAgICAgICAgICAgICAge2Zsb29ycGxhbi51bml0cy5sZW5ndGggPiAwID8gPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQ+JHtyYW5nZUZyb20oZmxvb3JwbGFuLnVuaXRzLCBcInJlbnRcIil9L21vPC9oND5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJmbG9vcnBsYW4tLWRlc2NyaXB0aW9uXCI+e2Zsb29ycGxhbi5wcm9wZXJ0eS5hZGRyZXNzfSwge2Zsb29ycGxhbi5wcm9wZXJ0eS56aXBjb2RlfTwvcD5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPC8+IDogXCJcIn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbG9vcnBsYW4tLWZlYXR1cmVkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbiBzaXplPVwic21hbGxcIiBvbkNsaWNrPXsoKSA9PiBzZXRTaG93Rmxvb3JwbGFuTW9kYWwodHJ1ZSl9PjxJY29uIG5hbWU9XCJtYXhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3JpZW50YXRpb249XCJyaWdodFwiPlZpZXdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmxvb3JwbGFuPC9JY29uPiA8L0J1dHRvbj58Jm5ic3A7Jm5ic3A7PEJ1dHRvbiBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZVJlZlRvTWFwKCl9PjxJY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3JpZW50YXRpb249XCJyaWdodFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cIm1hcFwiPlZpZXdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbiBNYXA8L0ljb24+IDwvQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtmbG9vcnBsYW4ucHJvcGVydHkuYnVzUm91dGVzLmxlbmd0aCA+IDAgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5CdXMgUm91dGVzOiZuYnNwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Zmxvb3JwbGFuLnByb3BlcnR5LmJ1c1JvdXRlcy5tYXAoKGJ1c1JvdXRlLCBpbmRleCkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBrZXk9e1wiYnVzLXJvdXRlLVwiICsgaW5kZXh9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPXtidXNSb3V0ZS5idXNSb3V0ZUxpbmt9IHRhcmdldD1cIl9ibGFua1wiPntidXNSb3V0ZS5idXNSb3V0ZX08L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpbmRleCA8IGZsb29ycGxhbi5wcm9wZXJ0eS5idXNSb3V0ZXMubGVuZ3RoIC0gMSA/IFwiLCBcIiA6IFwiXCJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiXCJ9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtYWluXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIiBmbG9vcnBsYW4tY29sdW1uLXJpZ2h0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbiB2YXJpYW50PVwicHJpbWFyeVwiIHNpemU9XCJtZWRpdW1cIiBvbkNsaWNrPXtjb250YWN0Q2xpY2tIYW5kbGVyfT5jb250YWN0IHVzPC9CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbiB2YXJpYW50PVwidGVydGlhcnlcIiBzaXplPVwibWVkaXVtXCIgb25DbGljaz17YXBwbHlDbGlja0hhbmRsZXJ9PmFwcGx5PC9CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNoYXJlQnV0dG9uIHRpdGxlPVwiQ2hlY2sgb3V0IHRoaXMgYXBhcnRtZW50XCIgc2l6ZT1cImxhcmdlXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvc2VjdGlvbj5cbiAgICApO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBGbG9vcnBsYW5Qcm9wcyB7XG4gICAgZmxvb3JwbGFuOiBGbG9vcnBsYW47XG4gICAgY29udGFjdENsaWNrSGFuZGxlcjogKCkgPT4gdm9pZDtcbiAgICBhcHBseUNsaWNrSGFuZGxlcjogKCkgPT4gdm9pZDtcbiAgICBoYW5kbGVSZWZUb01hcDogKCkgPT4gdm9pZDtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0FBLE9BQUE7QUFDQSxJQUFBQyxVQUFBLEdBQUFELE9BQUE7QUFFQSxJQUFBRSxhQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxvQkFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksZ0JBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLE1BQUEsR0FBQUwsT0FBQTtBQUVBLElBQUFNLFdBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLGlCQUFBLEdBQUFQLE9BQUE7QUFDQSxJQUFBUSxXQUFBLEdBQUFSLE9BQUE7QUFDQSxJQUFBUyxZQUFB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
|