@dcl/asset-packs 2.14.3 → 2.15.0
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/bin/index.js +2169 -616
- package/dist/actions.js +8 -8
- package/dist/admin-toolkit-ui/Button.d.ts +1 -1
- package/dist/admin-toolkit-ui/Button.js +2 -2
- package/dist/admin-toolkit-ui/Error.d.ts +2 -2
- package/dist/admin-toolkit-ui/Error.js +4 -4
- package/dist/admin-toolkit-ui/Header.js +1 -1
- package/dist/admin-toolkit-ui/Modal.d.ts +19 -0
- package/dist/admin-toolkit-ui/Modal.js +37 -0
- package/dist/admin-toolkit-ui/ModerationControl/UsersList.d.ts +3 -3
- package/dist/admin-toolkit-ui/ModerationControl/UsersList.js +14 -8
- package/dist/admin-toolkit-ui/ModerationControl/index.d.ts +4 -5
- package/dist/admin-toolkit-ui/ModerationControl/index.js +19 -11
- package/dist/admin-toolkit-ui/ModerationControl/styles/AddUserInputStyles.js +4 -4
- package/dist/admin-toolkit-ui/ModerationControl/styles/UsersListStyles.d.ts +2 -0
- package/dist/admin-toolkit-ui/ModerationControl/styles/UsersListStyles.js +13 -5
- package/dist/admin-toolkit-ui/RewardsControl.d.ts +2 -2
- package/dist/admin-toolkit-ui/RewardsControl.js +9 -5
- package/dist/admin-toolkit-ui/SmartItemsControl.d.ts +2 -2
- package/dist/admin-toolkit-ui/SmartItemsControl.js +6 -4
- package/dist/admin-toolkit-ui/TextAnnouncements.d.ts +2 -2
- package/dist/admin-toolkit-ui/TextAnnouncements.js +9 -5
- package/dist/admin-toolkit-ui/TextAnnouncementsControl.d.ts +3 -3
- package/dist/admin-toolkit-ui/TextAnnouncementsControl.js +15 -7
- package/dist/admin-toolkit-ui/VideoControl/DclCast/CompactDclCast.d.ts +11 -0
- package/dist/admin-toolkit-ui/VideoControl/DclCast/CompactDclCast.js +90 -0
- package/dist/admin-toolkit-ui/VideoControl/DclCast/DclCastInfo.d.ts +6 -4
- package/dist/admin-toolkit-ui/VideoControl/DclCast/DclCastInfo.js +71 -57
- package/dist/admin-toolkit-ui/VideoControl/DclCast/PresentationPanel.d.ts +10 -0
- package/dist/admin-toolkit-ui/VideoControl/DclCast/PresentationPanel.js +67 -0
- package/dist/admin-toolkit-ui/VideoControl/DclCast/SharePresentationModal.d.ts +6 -0
- package/dist/admin-toolkit-ui/VideoControl/DclCast/SharePresentationModal.js +74 -0
- package/dist/admin-toolkit-ui/VideoControl/DclCast/SpeakerShowcase.d.ts +11 -0
- package/dist/admin-toolkit-ui/VideoControl/DclCast/SpeakerShowcase.js +110 -0
- package/dist/admin-toolkit-ui/VideoControl/DclCast/index.d.ts +17 -3
- package/dist/admin-toolkit-ui/VideoControl/DclCast/index.js +208 -35
- package/dist/admin-toolkit-ui/VideoControl/DclCast/styles.d.ts +73 -1
- package/dist/admin-toolkit-ui/VideoControl/DclCast/styles.js +193 -3
- package/dist/admin-toolkit-ui/VideoControl/LiveStream/ShowStreamKey.js +17 -13
- package/dist/admin-toolkit-ui/VideoControl/LiveStream/index.d.ts +1 -1
- package/dist/admin-toolkit-ui/VideoControl/LiveStream/index.js +8 -8
- package/dist/admin-toolkit-ui/VideoControl/VideoUrl.d.ts +2 -2
- package/dist/admin-toolkit-ui/VideoControl/VideoUrl.js +9 -9
- package/dist/admin-toolkit-ui/VideoControl/VolumeControl.d.ts +3 -2
- package/dist/admin-toolkit-ui/VideoControl/VolumeControl.js +8 -10
- package/dist/admin-toolkit-ui/VideoControl/api.d.ts +49 -0
- package/dist/admin-toolkit-ui/VideoControl/api.js +185 -1
- package/dist/admin-toolkit-ui/VideoControl/index.d.ts +16 -15
- package/dist/admin-toolkit-ui/VideoControl/index.js +57 -21
- package/dist/admin-toolkit-ui/VideoControl/utils.d.ts +2 -2
- package/dist/admin-toolkit-ui/VideoControl/utils.js +3 -3
- package/dist/admin-toolkit-ui/constants.d.ts +2 -3
- package/dist/admin-toolkit-ui/constants.js +4 -4
- package/dist/admin-toolkit-ui/fetch-utils.js +2 -2
- package/dist/admin-toolkit-ui/index.d.ts +4 -4
- package/dist/admin-toolkit-ui/index.js +40 -18
- package/dist/admin-toolkit-ui/types.d.ts +19 -0
- package/dist/admin-toolkit-ui/types.js +1 -1
- package/dist/admin.js +2 -2
- package/dist/bin/index.js +2169 -616
- package/dist/ui.js +4 -4
- package/package.json +5 -5
package/dist/ui.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Color4 } from '@dcl/sdk/math';
|
|
2
2
|
import { AlignMode, Font } from './enums';
|
|
3
|
-
import {
|
|
3
|
+
import { getContentUrl } from './admin-toolkit-ui/constants';
|
|
4
4
|
function getAlignMode(align, isColumn) {
|
|
5
5
|
switch (align) {
|
|
6
6
|
case AlignMode.TAM_TOP_LEFT: {
|
|
@@ -197,7 +197,7 @@ export function removeUiTransformEntities(engine, UiTransform, parentEntity) {
|
|
|
197
197
|
}
|
|
198
198
|
}
|
|
199
199
|
}
|
|
200
|
-
const
|
|
200
|
+
const getBtnCloseTextAnnouncement = () => `${getContentUrl()}/admin_toolkit/assets/icons/text-announcement-close-button.png`;
|
|
201
201
|
export function showCaptchaPrompt(engine, UiTransform, UiBackground, UiText, UiInput, UiInputResult, pointerEventsSystem, data, onSubmit) {
|
|
202
202
|
console.log('showCaptchaPrompt');
|
|
203
203
|
const uiStack = engine.addEntity();
|
|
@@ -234,7 +234,7 @@ export function showCaptchaPrompt(engine, UiTransform, UiBackground, UiText, UiI
|
|
|
234
234
|
closeButtonTransform.positionTop = 5;
|
|
235
235
|
closeButtonTransform.positionTopUnit = 1;
|
|
236
236
|
closeButtonTransform.pointerFilter = 1;
|
|
237
|
-
getUIBackground(UiBackground, closeButtonEntity,
|
|
237
|
+
getUIBackground(UiBackground, closeButtonEntity, getBtnCloseTextAnnouncement(), 2);
|
|
238
238
|
pointerEventsSystem.onPointerDown({
|
|
239
239
|
entity: closeButtonEntity,
|
|
240
240
|
opts: {
|
|
@@ -311,4 +311,4 @@ export function showCaptchaPrompt(engine, UiTransform, UiBackground, UiText, UiI
|
|
|
311
311
|
});
|
|
312
312
|
return uiStack;
|
|
313
313
|
}
|
|
314
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdWkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBY0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMxQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFM0QsU0FBUyxZQUFZLENBQUMsS0FBZ0IsRUFBRSxRQUFpQjtJQUN2RCxRQUFRLEtBQUssRUFBRSxDQUFDO1FBQ2QsS0FBSyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztZQUM1QixPQUFPO2dCQUNMLFVBQVUsR0FBd0I7Z0JBQ2xDLGNBQWMsR0FBMEI7YUFDekMsQ0FBQztRQUNKLENBQUM7UUFDRCxLQUFLLFNBQVMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO1lBQzlCLE9BQU8sUUFBUTtnQkFDYixDQUFDLENBQUM7b0JBQ0UsVUFBVSxHQUFvQjtvQkFDOUIsY0FBYyxHQUEwQjtpQkFDekM7Z0JBQ0gsQ0FBQyxDQUFDO29CQUNFLFVBQVUsR0FBd0I7b0JBQ2xDLGNBQWMsR0FBc0I7aUJBQ3JDLENBQUM7UUFDUixDQUFDO1FBQ0QsS0FBSyxTQUFTLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztZQUM3QixPQUFPLFFBQVE7Z0JBQ2IsQ0FBQyxDQUFDO29CQUNFLFVBQVUsR0FBc0I7b0JBQ2hDLGNBQWMsR0FBMEI7aUJBQ3pDO2dCQUNILENBQUMsQ0FBQztvQkFDRSxVQUFVLEdBQXdCO29CQUNsQyxjQUFjLEdBQXdCO2lCQUN2QyxDQUFDO1FBQ1IsQ0FBQztRQUNELEtBQUssU0FBUyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7WUFDL0IsT0FBTyxRQUFRO2dCQUNiLENBQUMsQ0FBQztvQkFDRSxVQUFVLEdBQXdCO29CQUNsQyxjQUFjLEdBQXNCO2lCQUNyQztnQkFDSCxDQUFDLENBQUM7b0JBQ0UsVUFBVSxHQUFvQjtvQkFDOUIsY0FBYyxHQUEwQjtpQkFDekMsQ0FBQztRQUNSLENBQUM7UUFDRCxLQUFLLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7WUFDakMsT0FBTztnQkFDTCxVQUFVLEdBQW9CO2dCQUM5QixjQUFjLEdBQXNCO2FBQ3JDLENBQUM7UUFDSixDQUFDO1FBQ0QsS0FBSyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1lBQ2hDLE9BQU8sUUFBUTtnQkFDYixDQUFDLENBQUM7b0JBQ0UsVUFBVSxHQUFzQjtvQkFDaEMsY0FBYyxHQUFzQjtpQkFDckM7Z0JBQ0gsQ0FBQyxDQUFDO29CQUNFLFVBQVUsR0FBb0I7b0JBQzlCLGNBQWMsR0FBd0I7aUJBQ3ZDLENBQUM7UUFDUixDQUFDO1FBQ0QsS0FBSyxTQUFTLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztZQUMvQixPQUFPLFFBQVE7Z0JBQ2IsQ0FBQyxDQUFDO29CQUNFLFVBQVUsR0FBd0I7b0JBQ2xDLGNBQWMsR0FBd0I7aUJBQ3ZDO2dCQUNILENBQUMsQ0FBQztvQkFDRSxVQUFVLEdBQXdCO29CQUNsQyxjQUFjLEdBQXdCO2lCQUN2QyxDQUFDO1FBQ1IsQ0FBQztRQUNELEtBQUssU0FBUyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQztZQUNqQyxPQUFPLFFBQVE7Z0JBQ2IsQ0FBQyxDQUFDO29CQUNFLFVBQVUsR0FBb0I7b0JBQzlCLGNBQWMsR0FBd0I7aUJBQ3ZDO2dCQUNILENBQUMsQ0FBQztvQkFDRSxVQUFVLEdBQXNCO29CQUNoQyxjQUFjLEdBQXNCO2lCQUNyQyxDQUFDO1FBQ1IsQ0FBQztRQUNELEtBQUssU0FBUyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztZQUNoQyxPQUFPO2dCQUNMLFVBQVUsR0FBc0I7Z0JBQ2hDLGNBQWMsR0FBd0I7YUFDdkMsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQztBQUVELE1BQU0sZUFBZSxHQUFHLElBQUksR0FBRyxDQUFDO0lBQzlCLFNBQVMsQ0FBQyxZQUFZO0lBQ3RCLFNBQVMsQ0FBQyxjQUFjO0lBQ3hCLFNBQVMsQ0FBQyxhQUFhO0lBQ3ZCLFNBQVMsQ0FBQyxlQUFlO0lBQ3pCLFNBQVMsQ0FBQyxpQkFBaUI7SUFDM0IsU0FBUyxDQUFDLGdCQUFnQjtJQUMxQixTQUFTLENBQUMsZUFBZTtJQUN6QixTQUFTLENBQUMsaUJBQWlCO0lBQzNCLFNBQVMsQ0FBQyxnQkFBZ0I7Q0FDM0IsQ0FBQyxDQUFDO0FBRUgsTUFBTSxVQUFVLHFCQUFxQixDQUNuQyxLQUFnQixFQUNoQixhQUFhLElBQTJCO0lBRXhDLE1BQU0sUUFBUSxHQUFHLGFBQWEsTUFBZ0MsQ0FBQztJQUcvRCxJQUFJLGVBQWUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUMvQixPQUFPLFlBQVksQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFvQixDQUFDO0lBQzFELENBQUM7SUFFRCxNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixLQUFLLEVBQUUsQ0FBQyxDQUFDO0FBQ3JELENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUM1QixTQUEwQyxFQUMxQyxLQUFhLEVBQ2IsTUFBTSxHQUFHLEdBQUcsRUFDWixLQUFLLEdBQUcsR0FBRyxFQUNYLFFBQWlDO0lBRWpDLElBQUksb0JBQW9CLEdBQUcsU0FBUyxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTdELElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzFCLG9CQUFvQixHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0Msb0JBQW9CLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUN2QyxvQkFBb0IsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RDLG9CQUFvQixDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckMsb0JBQW9CLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQyxvQkFBb0IsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQzFDLG9CQUFvQixDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDekMsb0JBQW9CLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQztRQUN4QyxvQkFBb0IsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFJLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNoQixvQkFBb0IsQ0FBQyxZQUFZLElBQStCLENBQUM7SUFDbkUsQ0FBQztJQUVELE9BQU8sb0JBQW9CLENBQUM7QUFDOUIsQ0FBQztBQUVELE1BQU0sVUFBVSxlQUFlLENBQzdCLFNBQTJDLEVBQzNDLE1BQWMsRUFDZCxHQUFXLEVBQ1gsV0FBVyxJQUFvQyxFQUMvQyxRQUFRLElBQTRCO0lBRXBDLE9BQU8sU0FBUyxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUU7UUFDdkMsV0FBVztRQUNYLE9BQU8sRUFBRTtZQUNQLEdBQUcsRUFBRTtnQkFDSCxLQUFLLEVBQUUsU0FBUztnQkFDaEIsT0FBTyxFQUFFO29CQUNQLEdBQUc7b0JBQ0gsUUFBUTtpQkFDVDthQUNGO1NBQ0Y7UUFDRCxHQUFHLEVBQUUsRUFBRTtLQUNSLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxTQUFTLFVBQVUsQ0FBQyxJQUFZLEVBQUUsVUFBa0I7SUFDbEQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDO0lBQ3ZCLElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQztJQUNoQixJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7SUFDZCxJQUFJLFVBQVUsR0FBRyxFQUFFLENBQUM7SUFDcEIsSUFBSSxXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLE1BQU0sT0FBTyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFFN0MsSUFBSSxDQUFDLElBQUk7UUFBRSxPQUFPLEVBQUUsQ0FBQztJQUNyQixJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQzlCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE9BQU8sT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUM3QixJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxHQUFHLE9BQU8sQ0FBQyxDQUFDO1FBQ2xELFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQzNCLEtBQUssSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDdEMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7b0JBQ3BDLE9BQU8sSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7b0JBQ3ZDLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUM7b0JBQ3hDLFVBQVUsSUFBSSxJQUFJLENBQUM7b0JBQ25CLFdBQVcsR0FBRyxJQUFJLENBQUM7b0JBQ25CLE1BQU07Z0JBQ1IsQ0FBQztZQUNILENBQUM7WUFFRCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ2pCLE9BQU8sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDO2dCQUN2QixJQUFJLEdBQUcsSUFBSSxHQUFHLFNBQVMsQ0FBQztnQkFDeEIsVUFBVSxJQUFJLElBQUksQ0FBQztZQUNyQixDQUFDO1FBQ0gsQ0FBQzthQUFNLENBQUM7WUFDTixVQUFVLElBQUksSUFBSSxDQUFDO1lBQ25CLE1BQU07UUFDUixDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUM7QUFFRCxNQUFNLFVBQVUsU0FBUyxDQUN2QixTQUFxQyxFQUNyQyxNQUFjLEVBQ2QsSUFBWSxFQUNaLFFBQVEsR0FBRyxFQUFFLEVBQ2IsY0FBc0IsRUFDdEIsU0FBc0QsRUFDdEQsUUFBZ0IsTUFBTSxDQUFDLEtBQUssRUFBRTtJQUU5QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsR0FBRyxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBRWpFLE9BQU8sU0FBUyxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUU7UUFDdkMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDO1FBQ25DLFFBQVE7UUFDUixJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQWtCO1FBQzdCLFNBQVMsRUFBRSxLQUFpQztRQUM1QyxLQUFLO0tBQ04sQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSx5QkFBeUIsQ0FDdkMsTUFBZSxFQUNmLFdBQTRDLEVBQzVDLFlBQW9CO0lBRXBCLE1BQU0sdUJBQXVCLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUVwRSxLQUFLLE1BQU0sQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLElBQUksdUJBQXVCLEVBQUUsQ0FBQztRQUM5RCxJQUFJLFdBQVcsQ0FBQyxNQUFNLEtBQUssWUFBWSxFQUFFLENBQUM7WUFFeEMseUJBQXlCLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUN6RCxNQUFNLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hDLENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQztBQUVELE1BQU0sMkJBQTJCLEdBQUcsR0FBRyxXQUFXLGdFQUFnRSxDQUFDO0FBRW5ILE1BQU0sVUFBVSxpQkFBaUIsQ0FDL0IsTUFBZSxFQUNmLFdBQTRDLEVBQzVDLFlBQThDLEVBQzlDLE1BQWtDLEVBQ2xDLE9BQW9DLEVBQ3BDLGFBQWdELEVBQ2hELG1CQUF3QyxFQUN4QyxJQUFnRSxFQUNoRSxRQUFxQztJQUVyQyxPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFFakMsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25DLE1BQU0sZ0JBQWdCLEdBQUcsY0FBYyxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5RCxnQkFBZ0IsQ0FBQyxPQUFPLElBQXFCLENBQUM7SUFDOUMsZ0JBQWdCLENBQUMsVUFBVSxJQUFxQixDQUFDO0lBQ2pELGdCQUFnQixDQUFDLGNBQWMsSUFBdUIsQ0FBQztJQUd2RCxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDM0MsTUFBTSxrQkFBa0IsR0FBRyxjQUFjLENBQ3ZDLFdBQVcsRUFDWCxlQUFlLEVBQ2YsR0FBRyxFQUNILEdBQUcsSUFFSixDQUFDO0lBQ0Ysa0JBQWtCLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQztJQUNwQyxrQkFBa0IsQ0FBQyxPQUFPLElBQXFCLENBQUM7SUFDaEQsa0JBQWtCLENBQUMsYUFBYSxJQUE4QixDQUFDO0lBQy9ELGtCQUFrQixDQUFDLFVBQVUsSUFBcUIsQ0FBQztJQUNuRCxrQkFBa0IsQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO0lBQ25DLGtCQUFrQixDQUFDLGNBQWMsSUFBbUIsQ0FBQztJQUNyRCxrQkFBa0IsQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO0lBQ3RDLGtCQUFrQixDQUFDLGlCQUFpQixJQUFtQixDQUFDO0lBQ3hELGtCQUFrQixDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7SUFDcEMsa0JBQWtCLENBQUMsZUFBZSxJQUFtQixDQUFDO0lBQ3RELGtCQUFrQixDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7SUFDckMsa0JBQWtCLENBQUMsZ0JBQWdCLElBQW1CLENBQUM7SUFDdkQsa0JBQWtCLENBQUMsYUFBYSxJQUE4QixDQUFDO0lBSS9ELFlBQVksQ0FBQyxlQUFlLENBQUMsZUFBZSxFQUFFO1FBQzVDLEtBQUssRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQztRQUM1QyxXQUFXLEdBQW1DO1FBQzlDLEdBQUcsRUFBRSxFQUFFO0tBQ1IsQ0FBQyxDQUFDO0lBR0gsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDN0MsTUFBTSxvQkFBb0IsR0FBRyxjQUFjLENBQ3pDLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsRUFBRSxFQUNGLEVBQUUsSUFFSCxDQUFDO0lBQ0Ysb0JBQW9CLENBQUMsTUFBTSxHQUFHLGVBQWUsQ0FBQztJQUM5QyxvQkFBb0IsQ0FBQyxZQUFZLElBQStCLENBQUM7SUFDakUsb0JBQW9CLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztJQUN2QyxvQkFBb0IsQ0FBQyxpQkFBaUIsSUFBbUIsQ0FBQztJQUMxRCxvQkFBb0IsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO0lBQ3JDLG9CQUFvQixDQUFDLGVBQWUsSUFBbUIsQ0FBQztJQUN4RCxvQkFBb0IsQ0FBQyxhQUFhLElBQThCLENBQUM7SUFFakUsZUFBZSxDQUNiLFlBQVksRUFDWixpQkFBaUIsRUFDakIsMkJBQTJCLElBRTVCLENBQUM7SUFHRixtQkFBbUIsQ0FBQyxhQUFhLENBQy9CO1FBQ0UsTUFBTSxFQUFFLGlCQUFpQjtRQUN6QixJQUFJLEVBQUU7WUFDSixNQUFNLEdBQXdCO1NBQy9CO0tBQ0YsRUFDRCxHQUFHLEVBQUU7UUFDSCx5QkFBeUIsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3hELE1BQU0sQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDL0IsQ0FBQyxDQUNGLENBQUM7SUFHRixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDdkMsTUFBTSxjQUFjLEdBQUcsY0FBYyxDQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLEdBQUcsSUFBbUIsQ0FBQztJQUMzRixjQUFjLENBQUMsTUFBTSxHQUFHLGVBQWUsQ0FBQztJQUN4QyxjQUFjLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztJQUNqQyxjQUFjLENBQUMsZ0JBQWdCLElBQW1CLENBQUM7SUFDbkQsY0FBYyxDQUFDLFlBQVksSUFBK0IsQ0FBQztJQUMzRCxjQUFjLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztJQUNoQyxjQUFjLENBQUMsZUFBZSxJQUFtQixDQUFDO0lBRWxELFNBQVMsQ0FDUCxNQUFNLEVBQ04sV0FBVyxFQUNYLG1CQUFtQixFQUNuQixFQUFFLEVBQ0YsR0FBRyxLQUVILE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FDZixDQUFDO0lBR0YsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3ZDLE1BQU0sY0FBYyxHQUFHLGNBQWMsQ0FBQyxXQUFXLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxHQUFHLElBQW1CLENBQUM7SUFDM0YsY0FBYyxDQUFDLE1BQU0sR0FBRyxlQUFlLENBQUM7SUFDeEMsY0FBYyxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7SUFDakMsY0FBYyxDQUFDLGdCQUFnQixJQUFtQixDQUFDO0lBQ25ELGNBQWMsQ0FBQyxZQUFZLElBQStCLENBQUM7SUFDM0QsY0FBYyxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7SUFDaEMsY0FBYyxDQUFDLGVBQWUsSUFBbUIsQ0FBQztJQUVsRCxlQUFlLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBZ0MsQ0FBQztJQUc5RixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDdkMsTUFBTSxjQUFjLEdBQUcsY0FBYyxDQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLEdBQUcsSUFBbUIsQ0FBQztJQUMzRixjQUFjLENBQUMsTUFBTSxHQUFHLGVBQWUsQ0FBQztJQUN4QyxjQUFjLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztJQUNqQyxjQUFjLENBQUMsZ0JBQWdCLElBQW1CLENBQUM7SUFDbkQsY0FBYyxDQUFDLFlBQVksSUFBK0IsQ0FBQztJQUMzRCxjQUFjLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQztJQUNqQyxjQUFjLENBQUMsZUFBZSxJQUFtQixDQUFDO0lBRWxELE9BQU8sQ0FBQyxlQUFlLENBQUMsV0FBVyxFQUFFO1FBQ25DLFdBQVcsRUFBRSxtQkFBbUI7UUFDaEMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLLEVBQUU7UUFDckIsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDakQsUUFBUSxFQUFFLEtBQUs7UUFDZixTQUFTLEdBQWlDO1FBQzFDLElBQUksRUFBRSxJQUFJLENBQUMsV0FBa0I7UUFDN0IsUUFBUSxFQUFFLEVBQUU7S0FDYixDQUFDLENBQUM7SUFFSCxhQUFhLENBQUMsZUFBZSxDQUFDLFdBQVcsRUFBRTtRQUN6QyxLQUFLLEVBQUUsRUFBRTtRQUNULFFBQVEsRUFBRSxLQUFLO0tBQ2hCLENBQUMsQ0FBQztJQUdILE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUN4QyxNQUFNLGVBQWUsR0FBRyxjQUFjLENBQUMsV0FBVyxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsR0FBRyxJQUFtQixDQUFDO0lBQzdGLGVBQWUsQ0FBQyxNQUFNLEdBQUcsZUFBZSxDQUFDO0lBQ3pDLGVBQWUsQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO0lBQ2xDLGVBQWUsQ0FBQyxnQkFBZ0IsSUFBbUIsQ0FBQztJQUNwRCxlQUFlLENBQUMsWUFBWSxJQUErQixDQUFDO0lBQzVELGVBQWUsQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDO0lBQ2xDLGVBQWUsQ0FBQyxlQUFlLElBQW1CLENBQUM7SUFDbkQsZUFBZSxDQUFDLGFBQWEsSUFBOEIsQ0FBQztJQUU1RCxTQUFTLENBQ1AsTUFBTSxFQUNOLFlBQVksRUFDWixRQUFRLEVBQ1IsRUFBRSxFQUNGLEdBQUcsS0FFSCxNQUFNLENBQUMsS0FBSyxFQUFFLENBQ2YsQ0FBQztJQUVGLFlBQVksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFO1FBQ3pDLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUU7UUFDdkMsV0FBVyxHQUFtQztRQUM5QyxHQUFHLEVBQUUsRUFBRTtLQUNSLENBQUMsQ0FBQztJQUdILG1CQUFtQixDQUFDLGFBQWEsQ0FDL0I7UUFDRSxNQUFNLEVBQUUsWUFBWTtRQUNwQixJQUFJLEVBQUU7WUFDSixNQUFNLEdBQXdCO1NBQy9CO0tBQ0YsRUFDRCxHQUFHLEVBQUU7UUFFSCxNQUFNLFNBQVMsR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDOUQsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBR3BCLHlCQUF5QixDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDeEQsTUFBTSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvQixDQUFDLENBQ0YsQ0FBQztJQUVGLE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IElFbmdpbmUsIEVudGl0eSwgUG9pbnRlckV2ZW50c1N5c3RlbSB9IGZyb20gJ0BkY2wvZWNzJztcbmltcG9ydCB7XG4gIEJhY2tncm91bmRUZXh0dXJlTW9kZSxcbiAgSW5wdXRBY3Rpb24sXG4gIFRleHRBbGlnbk1vZGUsXG4gIFRleHR1cmVXcmFwTW9kZSxcbiAgWUdBbGlnbixcbiAgWUdGbGV4RGlyZWN0aW9uLFxuICBZR0p1c3RpZnksXG4gIFlHUG9zaXRpb25UeXBlLFxuICBZR1VuaXQsXG4gIFlHRGlzcGxheSxcbiAgUG9pbnRlckZpbHRlck1vZGUsXG59IGZyb20gJ0BkY2wvZWNzJztcbmltcG9ydCB7IENvbG9yNCB9IGZyb20gJ0BkY2wvc2RrL21hdGgnO1xuaW1wb3J0IHR5cGUgeyBFbmdpbmVDb21wb25lbnRzIH0gZnJvbSAnLi9kZWZpbml0aW9ucyc7XG5pbXBvcnQgdHlwZSB7IFNjcmVlbkFsaWduTW9kZSB9IGZyb20gJy4vZW51bXMnO1xuaW1wb3J0IHsgQWxpZ25Nb2RlLCBGb250IH0gZnJvbSAnLi9lbnVtcyc7XG5pbXBvcnQgeyBDT05URU5UX1VSTCB9IGZyb20gJy4vYWRtaW4tdG9vbGtpdC11aS9jb25zdGFudHMnO1xuXG5mdW5jdGlvbiBnZXRBbGlnbk1vZGUoYWxpZ246IEFsaWduTW9kZSwgaXNDb2x1bW46IGJvb2xlYW4pIHtcbiAgc3dpdGNoIChhbGlnbikge1xuICAgIGNhc2UgQWxpZ25Nb2RlLlRBTV9UT1BfTEVGVDoge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYWxpZ25JdGVtczogWUdBbGlnbi5ZR0FfRkxFWF9TVEFSVCxcbiAgICAgICAganVzdGlmeUNvbnRlbnQ6IFlHSnVzdGlmeS5ZR0pfRkxFWF9TVEFSVCxcbiAgICAgIH07XG4gICAgfVxuICAgIGNhc2UgQWxpZ25Nb2RlLlRBTV9UT1BfQ0VOVEVSOiB7XG4gICAgICByZXR1cm4gaXNDb2x1bW5cbiAgICAgICAgPyB7XG4gICAgICAgICAgICBhbGlnbkl0ZW1zOiBZR0FsaWduLllHQV9DRU5URVIsXG4gICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogWUdKdXN0aWZ5LllHSl9GTEVYX1NUQVJULFxuICAgICAgICAgIH1cbiAgICAgICAgOiB7XG4gICAgICAgICAgICBhbGlnbkl0ZW1zOiBZR0FsaWduLllHQV9GTEVYX1NUQVJULFxuICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ6IFlHSnVzdGlmeS5ZR0pfQ0VOVEVSLFxuICAgICAgICAgIH07XG4gICAgfVxuICAgIGNhc2UgQWxpZ25Nb2RlLlRBTV9UT1BfUklHSFQ6IHtcbiAgICAgIHJldHVybiBpc0NvbHVtblxuICAgICAgICA/IHtcbiAgICAgICAgICAgIGFsaWduSXRlbXM6IFlHQWxpZ24uWUdBX0ZMRVhfRU5ELFxuICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ6IFlHSnVzdGlmeS5ZR0pfRkxFWF9TVEFSVCxcbiAgICAgICAgICB9XG4gICAgICAgIDoge1xuICAgICAgICAgICAgYWxpZ25JdGVtczogWUdBbGlnbi5ZR0FfRkxFWF9TVEFSVCxcbiAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiBZR0p1c3RpZnkuWUdKX0ZMRVhfRU5ELFxuICAgICAgICAgIH07XG4gICAgfVxuICAgIGNhc2UgQWxpZ25Nb2RlLlRBTV9NSURETEVfTEVGVDoge1xuICAgICAgcmV0dXJuIGlzQ29sdW1uXG4gICAgICAgID8ge1xuICAgICAgICAgICAgYWxpZ25JdGVtczogWUdBbGlnbi5ZR0FfRkxFWF9TVEFSVCxcbiAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiBZR0p1c3RpZnkuWUdKX0NFTlRFUixcbiAgICAgICAgICB9XG4gICAgICAgIDoge1xuICAgICAgICAgICAgYWxpZ25JdGVtczogWUdBbGlnbi5ZR0FfQ0VOVEVSLFxuICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ6IFlHSnVzdGlmeS5ZR0pfRkxFWF9TVEFSVCxcbiAgICAgICAgICB9O1xuICAgIH1cbiAgICBjYXNlIEFsaWduTW9kZS5UQU1fTUlERExFX0NFTlRFUjoge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYWxpZ25JdGVtczogWUdBbGlnbi5ZR0FfQ0VOVEVSLFxuICAgICAgICBqdXN0aWZ5Q29udGVudDogWUdKdXN0aWZ5LllHSl9DRU5URVIsXG4gICAgICB9O1xuICAgIH1cbiAgICBjYXNlIEFsaWduTW9kZS5UQU1fTUlERExFX1JJR0hUOiB7XG4gICAgICByZXR1cm4gaXNDb2x1bW5cbiAgICAgICAgPyB7XG4gICAgICAgICAgICBhbGlnbkl0ZW1zOiBZR0FsaWduLllHQV9GTEVYX0VORCxcbiAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiBZR0p1c3RpZnkuWUdKX0NFTlRFUixcbiAgICAgICAgICB9XG4gICAgICAgIDoge1xuICAgICAgICAgICAgYWxpZ25JdGVtczogWUdBbGlnbi5ZR0FfQ0VOVEVSLFxuICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ6IFlHSnVzdGlmeS5ZR0pfRkxFWF9FTkQsXG4gICAgICAgICAgfTtcbiAgICB9XG4gICAgY2FzZSBBbGlnbk1vZGUuVEFNX0JPVFRPTV9MRUZUOiB7XG4gICAgICByZXR1cm4gaXNDb2x1bW5cbiAgICAgICAgPyB7XG4gICAgICAgICAgICBhbGlnbkl0ZW1zOiBZR0FsaWduLllHQV9GTEVYX1NUQVJULFxuICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ6IFlHSnVzdGlmeS5ZR0pfRkxFWF9FTkQsXG4gICAgICAgICAgfVxuICAgICAgICA6IHtcbiAgICAgICAgICAgIGFsaWduSXRlbXM6IFlHSnVzdGlmeS5ZR0pfRkxFWF9FTkQsXG4gICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogWUdBbGlnbi5ZR0FfRkxFWF9TVEFSVCxcbiAgICAgICAgICB9O1xuICAgIH1cbiAgICBjYXNlIEFsaWduTW9kZS5UQU1fQk9UVE9NX0NFTlRFUjoge1xuICAgICAgcmV0dXJuIGlzQ29sdW1uXG4gICAgICAgID8ge1xuICAgICAgICAgICAgYWxpZ25JdGVtczogWUdBbGlnbi5ZR0FfQ0VOVEVSLFxuICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ6IFlHSnVzdGlmeS5ZR0pfRkxFWF9FTkQsXG4gICAgICAgICAgfVxuICAgICAgICA6IHtcbiAgICAgICAgICAgIGFsaWduSXRlbXM6IFlHQWxpZ24uWUdBX0ZMRVhfRU5ELFxuICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ6IFlHSnVzdGlmeS5ZR0pfQ0VOVEVSLFxuICAgICAgICAgIH07XG4gICAgfVxuICAgIGNhc2UgQWxpZ25Nb2RlLlRBTV9CT1RUT01fUklHSFQ6IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGFsaWduSXRlbXM6IFlHQWxpZ24uWUdBX0ZMRVhfRU5ELFxuICAgICAgICBqdXN0aWZ5Q29udGVudDogWUdKdXN0aWZ5LllHSl9GTEVYX0VORCxcbiAgICAgIH07XG4gICAgfVxuICB9XG59XG5cbmNvbnN0IHZhbGlkQWxpZ25Nb2RlcyA9IG5ldyBTZXQoW1xuICBBbGlnbk1vZGUuVEFNX1RPUF9MRUZULFxuICBBbGlnbk1vZGUuVEFNX1RPUF9DRU5URVIsXG4gIEFsaWduTW9kZS5UQU1fVE9QX1JJR0hULFxuICBBbGlnbk1vZGUuVEFNX01JRERMRV9MRUZULFxuICBBbGlnbk1vZGUuVEFNX01JRERMRV9DRU5URVIsXG4gIEFsaWduTW9kZS5UQU1fTUlERExFX1JJR0hULFxuICBBbGlnbk1vZGUuVEFNX0JPVFRPTV9MRUZULFxuICBBbGlnbk1vZGUuVEFNX0JPVFRPTV9DRU5URVIsXG4gIEFsaWduTW9kZS5UQU1fQk9UVE9NX1JJR0hULFxuXSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXBBbGlnblRvU2NyZWVuQWxpZ24oXG4gIGFsaWduOiBBbGlnbk1vZGUsXG4gIGZsZXhEaXJlY3Rpb24gPSBZR0ZsZXhEaXJlY3Rpb24uWUdGRF9ST1csXG4pOiBTY3JlZW5BbGlnbk1vZGUge1xuICBjb25zdCBpc0NvbHVtbiA9IGZsZXhEaXJlY3Rpb24gPT09IFlHRmxleERpcmVjdGlvbi5ZR0ZEX0NPTFVNTjtcblxuICAvLyBDaGVjayBpZiBhbGlnbiBpcyB2YWxpZCBhbmQgbWFwIHVzaW5nIGdldEFsaWduTW9kZVxuICBpZiAodmFsaWRBbGlnbk1vZGVzLmhhcyhhbGlnbikpIHtcbiAgICByZXR1cm4gZ2V0QWxpZ25Nb2RlKGFsaWduLCBpc0NvbHVtbikgYXMgU2NyZWVuQWxpZ25Nb2RlO1xuICB9XG5cbiAgdGhyb3cgbmV3IEVycm9yKGBVbnN1cHBvcnRlZCBBbGlnbk1vZGU6ICR7YWxpZ259YCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRVSVRyYW5zZm9ybShcbiAgY29tcG9uZW50OiBFbmdpbmVDb21wb25lbnRzWydVaVRyYW5zZm9ybSddLFxuICBlbnRpeTogRW50aXR5LFxuICBoZWlnaHQgPSAxMDAsXG4gIHdpZHRoID0gMTAwLFxuICB1bml0OiBZR1VuaXQgPSBZR1VuaXQuWUdVX1BFUkNFTlQsXG4pIHtcbiAgbGV0IHVpVHJhbnNmb3JtQ29tcG9uZW50ID0gY29tcG9uZW50LmdldE11dGFibGVPck51bGwoZW50aXkpO1xuXG4gIGlmICghdWlUcmFuc2Zvcm1Db21wb25lbnQpIHtcbiAgICB1aVRyYW5zZm9ybUNvbXBvbmVudCA9IGNvbXBvbmVudC5jcmVhdGUoZW50aXkpO1xuICAgIHVpVHJhbnNmb3JtQ29tcG9uZW50LmhlaWdodFVuaXQgPSB1bml0O1xuICAgIHVpVHJhbnNmb3JtQ29tcG9uZW50LndpZHRoVW5pdCA9IHVuaXQ7XG4gICAgdWlUcmFuc2Zvcm1Db21wb25lbnQuaGVpZ2h0ID0gaGVpZ2h0O1xuICAgIHVpVHJhbnNmb3JtQ29tcG9uZW50LndpZHRoID0gd2lkdGg7XG4gICAgdWlUcmFuc2Zvcm1Db21wb25lbnQubWF4SGVpZ2h0VW5pdCA9IHVuaXQ7XG4gICAgdWlUcmFuc2Zvcm1Db21wb25lbnQubWF4V2lkdGhVbml0ID0gdW5pdDtcbiAgICB1aVRyYW5zZm9ybUNvbXBvbmVudC5tYXhIZWlnaHQgPSBoZWlnaHQ7XG4gICAgdWlUcmFuc2Zvcm1Db21wb25lbnQubWF4V2lkdGggPSB3aWR0aDtcbiAgfVxuXG4gIGlmIChlbnRpeSA9PT0gMCkge1xuICAgIHVpVHJhbnNmb3JtQ29tcG9uZW50LnBvc2l0aW9uVHlwZSA9IFlHUG9zaXRpb25UeXBlLllHUFRfQUJTT0xVVEU7XG4gIH1cblxuICByZXR1cm4gdWlUcmFuc2Zvcm1Db21wb25lbnQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRVSUJhY2tncm91bmQoXG4gIGNvbXBvbmVudDogRW5naW5lQ29tcG9uZW50c1snVWlCYWNrZ3JvdW5kJ10sXG4gIGVudGl0eTogRW50aXR5LFxuICBzcmM6IHN0cmluZyxcbiAgdGV4dHVyZU1vZGUgPSBCYWNrZ3JvdW5kVGV4dHVyZU1vZGUuTklORV9TTElDRVMsXG4gIHdyYXBNb2RlID0gVGV4dHVyZVdyYXBNb2RlLlRXTV9DTEFNUCxcbikge1xuICByZXR1cm4gY29tcG9uZW50LmNyZWF0ZU9yUmVwbGFjZShlbnRpdHksIHtcbiAgICB0ZXh0dXJlTW9kZSxcbiAgICB0ZXh0dXJlOiB7XG4gICAgICB0ZXg6IHtcbiAgICAgICAgJGNhc2U6ICd0ZXh0dXJlJyxcbiAgICAgICAgdGV4dHVyZToge1xuICAgICAgICAgIHNyYyxcbiAgICAgICAgICB3cmFwTW9kZSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB1dnM6IFtdLFxuICB9KTtcbn1cblxuZnVuY3Rpb24gYnJlYWtMaW5lcyh0ZXh0OiBzdHJpbmcsIGxpbmVsZW5ndGg6IG51bWJlcikge1xuICBjb25zdCBsaW5lQnJlYWsgPSAnXFxuJztcbiAgbGV0IGNvdW50ZXIgPSAwO1xuICBsZXQgbGluZSA9ICcnO1xuICBsZXQgcmV0dXJuVGV4dCA9ICcnO1xuICBsZXQgYk1hdGNoRm91bmQgPSBmYWxzZTtcbiAgY29uc3QgbGluZUxlbiA9IGxpbmVsZW5ndGggPyBsaW5lbGVuZ3RoIDogNTA7XG5cbiAgaWYgKCF0ZXh0KSByZXR1cm4gJyc7XG4gIGlmICh0ZXh0Lmxlbmd0aCA8IGxpbmVMZW4gKyAxKSB7XG4gICAgcmV0dXJuIHRleHQ7XG4gIH1cblxuICB3aGlsZSAoY291bnRlciA8IHRleHQubGVuZ3RoKSB7XG4gICAgbGluZSA9IHRleHQuc3Vic3RyaW5nKGNvdW50ZXIsIGNvdW50ZXIgKyBsaW5lTGVuKTtcbiAgICBiTWF0Y2hGb3VuZCA9IGZhbHNlO1xuICAgIGlmIChsaW5lLmxlbmd0aCA9PSBsaW5lTGVuKSB7XG4gICAgICBmb3IgKGxldCBpID0gbGluZS5sZW5ndGg7IGkgPiAtMTsgaS0tKSB7XG4gICAgICAgIGlmIChsaW5lLnN1YnN0cmluZyhpLCBpICsgMSkgPT0gJyAnKSB7XG4gICAgICAgICAgY291bnRlciArPSBsaW5lLnN1YnN0cmluZygwLCBpKS5sZW5ndGg7XG4gICAgICAgICAgbGluZSA9IGxpbmUuc3Vic3RyaW5nKDAsIGkpICsgbGluZUJyZWFrO1xuICAgICAgICAgIHJldHVyblRleHQgKz0gbGluZTtcbiAgICAgICAgICBiTWF0Y2hGb3VuZCA9IHRydWU7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKCFiTWF0Y2hGb3VuZCkge1xuICAgICAgICBjb3VudGVyICs9IGxpbmUubGVuZ3RoO1xuICAgICAgICBsaW5lID0gbGluZSArIGxpbmVCcmVhaztcbiAgICAgICAgcmV0dXJuVGV4dCArPSBsaW5lO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm5UZXh0ICs9IGxpbmU7XG4gICAgICBicmVhazsgLy8gV2UncmUgYnJlYWtpbmcgb3V0IG9mIHRoZSB0aGUgd2hpbGUoKSwgbm90IHRoZSBmb3IoKVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZXR1cm5UZXh0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VUlUZXh0KFxuICBjb21wb25lbnQ6IEVuZ2luZUNvbXBvbmVudHNbJ1VpVGV4dCddLFxuICBlbnRpdHk6IEVudGl0eSxcbiAgdGV4dDogc3RyaW5nLFxuICBmb250U2l6ZSA9IDEwLFxuICBjb250YWluZXJXaWR0aDogbnVtYmVyLFxuICBhbGlnbjogVGV4dEFsaWduTW9kZSA9IFRleHRBbGlnbk1vZGUuVEFNX01JRERMRV9DRU5URVIsXG4gIGNvbG9yOiBDb2xvcjQgPSBDb2xvcjQuV2hpdGUoKSxcbikge1xuICBjb25zdCBsaW5lTGVuZ3RoID0gTWF0aC5mbG9vcihjb250YWluZXJXaWR0aCAvIChmb250U2l6ZSAvIDEuNykpO1xuXG4gIHJldHVybiBjb21wb25lbnQuY3JlYXRlT3JSZXBsYWNlKGVudGl0eSwge1xuICAgIHZhbHVlOiBicmVha0xpbmVzKHRleHQsIGxpbmVMZW5ndGgpLFxuICAgIGZvbnRTaXplLFxuICAgIGZvbnQ6IEZvbnQuRl9NT05PU1BBQ0UgYXMgYW55LFxuICAgIHRleHRBbGlnbjogYWxpZ24gYXMgdW5rbm93biBhcyBUZXh0QWxpZ25Nb2RlLFxuICAgIGNvbG9yLFxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZVVpVHJhbnNmb3JtRW50aXRpZXMoXG4gIGVuZ2luZTogSUVuZ2luZSxcbiAgVWlUcmFuc2Zvcm06IEVuZ2luZUNvbXBvbmVudHNbJ1VpVHJhbnNmb3JtJ10sXG4gIHBhcmVudEVudGl0eTogRW50aXR5LFxuKSB7XG4gIGNvbnN0IGVudGl0aWVzV2l0aFVpVHJhbnNmb3JtID0gZW5naW5lLmdldEVudGl0aWVzV2l0aChVaVRyYW5zZm9ybSk7XG5cbiAgZm9yIChjb25zdCBbdWlFbnRpdHksIHVpVHJhbnNmb3JtXSBvZiBlbnRpdGllc1dpdGhVaVRyYW5zZm9ybSkge1xuICAgIGlmICh1aVRyYW5zZm9ybS5wYXJlbnQgPT09IHBhcmVudEVudGl0eSkge1xuICAgICAgLy8gUmVjdXJzaXZlbHkgcmVtb3ZlIGNoaWxkcmVuXG4gICAgICByZW1vdmVVaVRyYW5zZm9ybUVudGl0aWVzKGVuZ2luZSwgVWlUcmFuc2Zvcm0sIHVpRW50aXR5KTtcbiAgICAgIGVuZ2luZS5yZW1vdmVFbnRpdHkodWlFbnRpdHkpO1xuICAgIH1cbiAgfVxufVxuXG5jb25zdCBCVE5fQ0xPU0VfVEVYVF9BTk5PVU5DRU1FTlQgPSBgJHtDT05URU5UX1VSTH0vYWRtaW5fdG9vbGtpdC9hc3NldHMvaWNvbnMvdGV4dC1hbm5vdW5jZW1lbnQtY2xvc2UtYnV0dG9uLnBuZ2A7XG5cbmV4cG9ydCBmdW5jdGlvbiBzaG93Q2FwdGNoYVByb21wdChcbiAgZW5naW5lOiBJRW5naW5lLFxuICBVaVRyYW5zZm9ybTogRW5naW5lQ29tcG9uZW50c1snVWlUcmFuc2Zvcm0nXSxcbiAgVWlCYWNrZ3JvdW5kOiBFbmdpbmVDb21wb25lbnRzWydVaUJhY2tncm91bmQnXSxcbiAgVWlUZXh0OiBFbmdpbmVDb21wb25lbnRzWydVaVRleHQnXSxcbiAgVWlJbnB1dDogRW5naW5lQ29tcG9uZW50c1snVWlJbnB1dCddLFxuICBVaUlucHV0UmVzdWx0OiBFbmdpbmVDb21wb25lbnRzWydVaUlucHV0UmVzdWx0J10sXG4gIHBvaW50ZXJFdmVudHNTeXN0ZW06IFBvaW50ZXJFdmVudHNTeXN0ZW0sXG4gIGRhdGE6IHsgY2FtcGFpZ25JZDogc3RyaW5nOyBkaXNwZW5zZXJLZXk6IHN0cmluZzsgY2FwdGNoYTogYW55IH0sXG4gIG9uU3VibWl0OiAoaW5wdXRUZXh0OiBzdHJpbmcpID0+IHZvaWQsXG4pIHtcbiAgY29uc29sZS5sb2coJ3Nob3dDYXB0Y2hhUHJvbXB0Jyk7XG4gIC8vIENyZWF0ZSBVSSBzdGFjayBmb3IgY2VudGVyaW5nXG4gIGNvbnN0IHVpU3RhY2sgPSBlbmdpbmUuYWRkRW50aXR5KCk7XG4gIGNvbnN0IHVpU3RhY2tUcmFuc2Zvcm0gPSBnZXRVSVRyYW5zZm9ybShVaVRyYW5zZm9ybSwgdWlTdGFjayk7XG4gIHVpU3RhY2tUcmFuc2Zvcm0uZGlzcGxheSA9IFlHRGlzcGxheS5ZR0RfRkxFWDtcbiAgdWlTdGFja1RyYW5zZm9ybS5hbGlnbkl0ZW1zID0gWUdBbGlnbi5ZR0FfQ0VOVEVSO1xuICB1aVN0YWNrVHJhbnNmb3JtLmp1c3RpZnlDb250ZW50ID0gWUdKdXN0aWZ5LllHSl9DRU5URVI7XG5cbiAgLy8gQ3JlYXRlIGNvbnRhaW5lclxuICBjb25zdCBjb250YWluZXJFbnRpdHkgPSBlbmdpbmUuYWRkRW50aXR5KCk7XG4gIGNvbnN0IGNvbnRhaW5lclRyYW5zZm9ybSA9IGdldFVJVHJhbnNmb3JtKFxuICAgIFVpVHJhbnNmb3JtLFxuICAgIGNvbnRhaW5lckVudGl0eSxcbiAgICAyNjAsXG4gICAgMjUwLFxuICAgIFlHVW5pdC5ZR1VfUE9JTlQsXG4gICk7XG4gIGNvbnRhaW5lclRyYW5zZm9ybS5wYXJlbnQgPSB1aVN0YWNrO1xuICBjb250YWluZXJUcmFuc2Zvcm0uZGlzcGxheSA9IFlHRGlzcGxheS5ZR0RfRkxFWDtcbiAgY29udGFpbmVyVHJhbnNmb3JtLmZsZXhEaXJlY3Rpb24gPSBZR0ZsZXhEaXJlY3Rpb24uWUdGRF9DT0xVTU47XG4gIGNvbnRhaW5lclRyYW5zZm9ybS5hbGlnbkl0ZW1zID0gWUdBbGlnbi5ZR0FfQ0VOVEVSO1xuICBjb250YWluZXJUcmFuc2Zvcm0ucGFkZGluZ1RvcCA9IDIwO1xuICBjb250YWluZXJUcmFuc2Zvcm0ucGFkZGluZ1RvcFVuaXQgPSBZR1VuaXQuWUdVX1BPSU5UO1xuICBjb250YWluZXJUcmFuc2Zvcm0ucGFkZGluZ0JvdHRvbSA9IDIwO1xuICBjb250YWluZXJUcmFuc2Zvcm0ucGFkZGluZ0JvdHRvbVVuaXQgPSBZR1VuaXQuWUdVX1BPSU5UO1xuICBjb250YWluZXJUcmFuc2Zvcm0ucGFkZGluZ0xlZnQgPSAyMDtcbiAgY29udGFpbmVyVHJhbnNmb3JtLnBhZGRpbmdMZWZ0VW5pdCA9IFlHVW5pdC5ZR1VfUE9JTlQ7XG4gIGNvbnRhaW5lclRyYW5zZm9ybS5wYWRkaW5nUmlnaHQgPSAyMDtcbiAgY29udGFpbmVyVHJhbnNmb3JtLnBhZGRpbmdSaWdodFVuaXQgPSBZR1VuaXQuWUdVX1BPSU5UO1xuICBjb250YWluZXJUcmFuc2Zvcm0ucG9pbnRlckZpbHRlciA9IFBvaW50ZXJGaWx0ZXJNb2RlLlBGTV9CTE9DSztcblxuICAvLyBESVNDTEFJTUVSOiBXaGVuIHVzaW5nIFVpQmFja2dyb3VuZCwgZWNzIGdpdmVzIHRoZW0gcHJpb3JpdHkgb3ZlciB0aGUgVWlUcmFuc2Zvcm1zLCBsZWFkaW5nIHRvIGFuIHVuZXhwZWN0ZWQgYmVoYXZpb3Igd2hlbiB3b3JraW5nIHdpdGggZmxleCBwb3NpdGlvbmluZy5cbiAgLy8gQWRkIGRhcmsgYmFja2dyb3VuZFxuICBVaUJhY2tncm91bmQuY3JlYXRlT3JSZXBsYWNlKGNvbnRhaW5lckVudGl0eSwge1xuICAgIGNvbG9yOiBDb2xvcjQuY3JlYXRlKDAuMTUsIDAuMTUsIDAuMTUsIDAuOTUpLFxuICAgIHRleHR1cmVNb2RlOiBCYWNrZ3JvdW5kVGV4dHVyZU1vZGUuTklORV9TTElDRVMsXG4gICAgdXZzOiBbXSxcbiAgfSk7XG5cbiAgLy8gQ3JlYXRlIGNsb3NlIGJ1dHRvbiBlbnRpdHlcbiAgY29uc3QgY2xvc2VCdXR0b25FbnRpdHkgPSBlbmdpbmUuYWRkRW50aXR5KCk7XG4gIGNvbnN0IGNsb3NlQnV0dG9uVHJhbnNmb3JtID0gZ2V0VUlUcmFuc2Zvcm0oXG4gICAgVWlUcmFuc2Zvcm0sXG4gICAgY2xvc2VCdXR0b25FbnRpdHksXG4gICAgMjQsXG4gICAgMjQsXG4gICAgWUdVbml0LllHVV9QT0lOVCxcbiAgKTtcbiAgY2xvc2VCdXR0b25UcmFuc2Zvcm0ucGFyZW50ID0gY29udGFpbmVyRW50aXR5O1xuICBjbG9zZUJ1dHRvblRyYW5zZm9ybS5wb3NpdGlvblR5cGUgPSBZR1Bvc2l0aW9uVHlwZS5ZR1BUX0FCU09MVVRFO1xuICBjbG9zZUJ1dHRvblRyYW5zZm9ybS5wb3NpdGlvblJpZ2h0ID0gNTtcbiAgY2xvc2VCdXR0b25UcmFuc2Zvcm0ucG9zaXRpb25SaWdodFVuaXQgPSBZR1VuaXQuWUdVX1BPSU5UO1xuICBjbG9zZUJ1dHRvblRyYW5zZm9ybS5wb3NpdGlvblRvcCA9IDU7XG4gIGNsb3NlQnV0dG9uVHJhbnNmb3JtLnBvc2l0aW9uVG9wVW5pdCA9IFlHVW5pdC5ZR1VfUE9JTlQ7XG4gIGNsb3NlQnV0dG9uVHJhbnNmb3JtLnBvaW50ZXJGaWx0ZXIgPSBQb2ludGVyRmlsdGVyTW9kZS5QRk1fQkxPQ0s7XG5cbiAgZ2V0VUlCYWNrZ3JvdW5kKFxuICAgIFVpQmFja2dyb3VuZCxcbiAgICBjbG9zZUJ1dHRvbkVudGl0eSxcbiAgICBCVE5fQ0xPU0VfVEVYVF9BTk5PVU5DRU1FTlQsXG4gICAgQmFja2dyb3VuZFRleHR1cmVNb2RlLlNUUkVUQ0gsXG4gICk7XG5cbiAgLy8gQ2xvc2UgYnV0dG9uIGNsaWNrIGhhbmRsZXJcbiAgcG9pbnRlckV2ZW50c1N5c3RlbS5vblBvaW50ZXJEb3duKFxuICAgIHtcbiAgICAgIGVudGl0eTogY2xvc2VCdXR0b25FbnRpdHksXG4gICAgICBvcHRzOiB7XG4gICAgICAgIGJ1dHRvbjogSW5wdXRBY3Rpb24uSUFfUE9JTlRFUixcbiAgICAgIH0sXG4gICAgfSxcbiAgICAoKSA9PiB7XG4gICAgICByZW1vdmVVaVRyYW5zZm9ybUVudGl0aWVzKGVuZ2luZSwgVWlUcmFuc2Zvcm0sIHVpU3RhY2spO1xuICAgICAgZW5naW5lLnJlbW92ZUVudGl0eSh1aVN0YWNrKTtcbiAgICB9LFxuICApO1xuXG4gIC8vIEFkZCB0aXRsZSB0ZXh0XG4gIGNvbnN0IHRpdGxlRW50aXR5ID0gZW5naW5lLmFkZEVudGl0eSgpO1xuICBjb25zdCB0aXRsZVRyYW5zZm9ybSA9IGdldFVJVHJhbnNmb3JtKFVpVHJhbnNmb3JtLCB0aXRsZUVudGl0eSwgMjAsIDIwMCwgWUdVbml0LllHVV9QT0lOVCk7XG4gIHRpdGxlVHJhbnNmb3JtLnBhcmVudCA9IGNvbnRhaW5lckVudGl0eTtcbiAgdGl0bGVUcmFuc2Zvcm0ubWFyZ2luQm90dG9tID0gMTA7XG4gIHRpdGxlVHJhbnNmb3JtLm1hcmdpbkJvdHRvbVVuaXQgPSBZR1VuaXQuWUdVX1BPSU5UO1xuICB0aXRsZVRyYW5zZm9ybS5wb3NpdGlvblR5cGUgPSBZR1Bvc2l0aW9uVHlwZS5ZR1BUX0FCU09MVVRFO1xuICB0aXRsZVRyYW5zZm9ybS5wb3NpdGlvblRvcCA9IDMwO1xuICB0aXRsZVRyYW5zZm9ybS5wb3NpdGlvblRvcFVuaXQgPSBZR1VuaXQuWUdVX1BPSU5UO1xuXG4gIGdldFVJVGV4dChcbiAgICBVaVRleHQsXG4gICAgdGl0bGVFbnRpdHksXG4gICAgJ0VudGVyIHRoZSBjYXB0Y2hhJyxcbiAgICAyMCxcbiAgICAyMDAsXG4gICAgVGV4dEFsaWduTW9kZS5UQU1fTUlERExFX0NFTlRFUixcbiAgICBDb2xvcjQuV2hpdGUoKSxcbiAgKTtcblxuICAvLyBBZGQgY2FwdGNoYSBpbWFnZVxuICBjb25zdCBpbWFnZUVudGl0eSA9IGVuZ2luZS5hZGRFbnRpdHkoKTtcbiAgY29uc3QgaW1hZ2VUcmFuc2Zvcm0gPSBnZXRVSVRyYW5zZm9ybShVaVRyYW5zZm9ybSwgaW1hZ2VFbnRpdHksIDgwLCAyMDAsIFlHVW5pdC5ZR1VfUE9JTlQpO1xuICBpbWFnZVRyYW5zZm9ybS5wYXJlbnQgPSBjb250YWluZXJFbnRpdHk7XG4gIGltYWdlVHJhbnNmb3JtLm1hcmdpbkJvdHRvbSA9IDEwO1xuICBpbWFnZVRyYW5zZm9ybS5tYXJnaW5Cb3R0b21Vbml0ID0gWUdVbml0LllHVV9QT0lOVDtcbiAgaW1hZ2VUcmFuc2Zvcm0ucG9zaXRpb25UeXBlID0gWUdQb3NpdGlvblR5cGUuWUdQVF9BQlNPTFVURTtcbiAgaW1hZ2VUcmFuc2Zvcm0ucG9zaXRpb25Ub3AgPSA2MDtcbiAgaW1hZ2VUcmFuc2Zvcm0ucG9zaXRpb25Ub3BVbml0ID0gWUdVbml0LllHVV9QT0lOVDtcblxuICBnZXRVSUJhY2tncm91bmQoVWlCYWNrZ3JvdW5kLCBpbWFnZUVudGl0eSwgZGF0YS5jYXB0Y2hhLmltYWdlLCBCYWNrZ3JvdW5kVGV4dHVyZU1vZGUuU1RSRVRDSCk7XG5cbiAgLy8gQWRkIGlucHV0IGZpZWxkXG4gIGNvbnN0IGlucHV0RW50aXR5ID0gZW5naW5lLmFkZEVudGl0eSgpO1xuICBjb25zdCBpbnB1dFRyYW5zZm9ybSA9IGdldFVJVHJhbnNmb3JtKFVpVHJhbnNmb3JtLCBpbnB1dEVudGl0eSwgNTAsIDIwMCwgWUdVbml0LllHVV9QT0lOVCk7XG4gIGlucHV0VHJhbnNmb3JtLnBhcmVudCA9IGNvbnRhaW5lckVudGl0eTtcbiAgaW5wdXRUcmFuc2Zvcm0ubWFyZ2luQm90dG9tID0gMTA7XG4gIGlucHV0VHJhbnNmb3JtLm1hcmdpbkJvdHRvbVVuaXQgPSBZR1VuaXQuWUdVX1BPSU5UO1xuICBpbnB1dFRyYW5zZm9ybS5wb3NpdGlvblR5cGUgPSBZR1Bvc2l0aW9uVHlwZS5ZR1BUX0FCU09MVVRFO1xuICBpbnB1dFRyYW5zZm9ybS5wb3NpdGlvblRvcCA9IDE1MDtcbiAgaW5wdXRUcmFuc2Zvcm0ucG9zaXRpb25Ub3BVbml0ID0gWUdVbml0LllHVV9QT0lOVDtcblxuICBVaUlucHV0LmNyZWF0ZU9yUmVwbGFjZShpbnB1dEVudGl0eSwge1xuICAgIHBsYWNlaG9sZGVyOiAnRW50ZXIgdGhlIGNhcHRjaGEnLFxuICAgIGNvbG9yOiBDb2xvcjQuV2hpdGUoKSxcbiAgICBwbGFjZWhvbGRlckNvbG9yOiBDb2xvcjQuY3JlYXRlKDAuMywgMC4zLCAwLjMsIDEpLFxuICAgIGRpc2FibGVkOiBmYWxzZSxcbiAgICB0ZXh0QWxpZ246IFRleHRBbGlnbk1vZGUuVEFNX01JRERMRV9DRU5URVIsXG4gICAgZm9udDogRm9udC5GX01PTk9TUEFDRSBhcyBhbnksXG4gICAgZm9udFNpemU6IDEwLFxuICB9KTtcblxuICBVaUlucHV0UmVzdWx0LmNyZWF0ZU9yUmVwbGFjZShpbnB1dEVudGl0eSwge1xuICAgIHZhbHVlOiAnJyxcbiAgICBpc1N1Ym1pdDogZmFsc2UsXG4gIH0pO1xuXG4gIC8vIEFkZCBzdWJtaXQgYnV0dG9uXG4gIGNvbnN0IGJ1dHRvbkVudGl0eSA9IGVuZ2luZS5hZGRFbnRpdHkoKTtcbiAgY29uc3QgYnV0dG9uVHJhbnNmb3JtID0gZ2V0VUlUcmFuc2Zvcm0oVWlUcmFuc2Zvcm0sIGJ1dHRvbkVudGl0eSwgMzAsIDEwMCwgWUdVbml0LllHVV9QT0lOVCk7XG4gIGJ1dHRvblRyYW5zZm9ybS5wYXJlbnQgPSBjb250YWluZXJFbnRpdHk7XG4gIGJ1dHRvblRyYW5zZm9ybS5tYXJnaW5Cb3R0b20gPSAxMDtcbiAgYnV0dG9uVHJhbnNmb3JtLm1hcmdpbkJvdHRvbVVuaXQgPSBZR1VuaXQuWUdVX1BPSU5UO1xuICBidXR0b25UcmFuc2Zvcm0ucG9zaXRpb25UeXBlID0gWUdQb3NpdGlvblR5cGUuWUdQVF9BQlNPTFVURTtcbiAgYnV0dG9uVHJhbnNmb3JtLnBvc2l0aW9uVG9wID0gMjEwO1xuICBidXR0b25UcmFuc2Zvcm0ucG9zaXRpb25Ub3BVbml0ID0gWUdVbml0LllHVV9QT0lOVDtcbiAgYnV0dG9uVHJhbnNmb3JtLnBvaW50ZXJGaWx0ZXIgPSBQb2ludGVyRmlsdGVyTW9kZS5QRk1fQkxPQ0s7XG5cbiAgZ2V0VUlUZXh0KFxuICAgIFVpVGV4dCxcbiAgICBidXR0b25FbnRpdHksXG4gICAgJ1N1Ym1pdCcsXG4gICAgMTYsXG4gICAgMTAwLFxuICAgIFRleHRBbGlnbk1vZGUuVEFNX01JRERMRV9DRU5URVIsXG4gICAgQ29sb3I0LldoaXRlKCksXG4gICk7XG5cbiAgVWlCYWNrZ3JvdW5kLmNyZWF0ZU9yUmVwbGFjZShidXR0b25FbnRpdHksIHtcbiAgICBjb2xvcjogeyByOiAwLjMsIGc6IDAuMywgYjogMC4zLCBhOiAxIH0sXG4gICAgdGV4dHVyZU1vZGU6IEJhY2tncm91bmRUZXh0dXJlTW9kZS5OSU5FX1NMSUNFUyxcbiAgICB1dnM6IFtdLFxuICB9KTtcblxuICAvLyBBZGQgY2xpY2sgaGFuZGxlciBmb3Igc3VibWl0IGJ1dHRvblxuICBwb2ludGVyRXZlbnRzU3lzdGVtLm9uUG9pbnRlckRvd24oXG4gICAge1xuICAgICAgZW50aXR5OiBidXR0b25FbnRpdHksXG4gICAgICBvcHRzOiB7XG4gICAgICAgIGJ1dHRvbjogSW5wdXRBY3Rpb24uSUFfUE9JTlRFUixcbiAgICAgIH0sXG4gICAgfSxcbiAgICAoKSA9PiB7XG4gICAgICAvLyBHZXQgaW5wdXQgdGV4dCB2YWx1ZSBhbmQgY2FsbCBvblN1Ym1pdCBjYWxsYmFja1xuICAgICAgY29uc3QgaW5wdXRUZXh0ID0gVWlJbnB1dFJlc3VsdC5nZXQoaW5wdXRFbnRpdHkpPy52YWx1ZSB8fCAnJztcbiAgICAgIG9uU3VibWl0KGlucHV0VGV4dCk7XG5cbiAgICAgIC8vIFJlbW92ZSBVSVxuICAgICAgcmVtb3ZlVWlUcmFuc2Zvcm1FbnRpdGllcyhlbmdpbmUsIFVpVHJhbnNmb3JtLCB1aVN0YWNrKTtcbiAgICAgIGVuZ2luZS5yZW1vdmVFbnRpdHkodWlTdGFjayk7XG4gICAgfSxcbiAgKTtcblxuICByZXR1cm4gdWlTdGFjaztcbn1cbiJdfQ==
|
|
314
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdWkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBY0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMxQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFN0QsU0FBUyxZQUFZLENBQUMsS0FBZ0IsRUFBRSxRQUFpQjtJQUN2RCxRQUFRLEtBQUssRUFBRSxDQUFDO1FBQ2QsS0FBSyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztZQUM1QixPQUFPO2dCQUNMLFVBQVUsR0FBd0I7Z0JBQ2xDLGNBQWMsR0FBMEI7YUFDekMsQ0FBQztRQUNKLENBQUM7UUFDRCxLQUFLLFNBQVMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO1lBQzlCLE9BQU8sUUFBUTtnQkFDYixDQUFDLENBQUM7b0JBQ0UsVUFBVSxHQUFvQjtvQkFDOUIsY0FBYyxHQUEwQjtpQkFDekM7Z0JBQ0gsQ0FBQyxDQUFDO29CQUNFLFVBQVUsR0FBd0I7b0JBQ2xDLGNBQWMsR0FBc0I7aUJBQ3JDLENBQUM7UUFDUixDQUFDO1FBQ0QsS0FBSyxTQUFTLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztZQUM3QixPQUFPLFFBQVE7Z0JBQ2IsQ0FBQyxDQUFDO29CQUNFLFVBQVUsR0FBc0I7b0JBQ2hDLGNBQWMsR0FBMEI7aUJBQ3pDO2dCQUNILENBQUMsQ0FBQztvQkFDRSxVQUFVLEdBQXdCO29CQUNsQyxjQUFjLEdBQXdCO2lCQUN2QyxDQUFDO1FBQ1IsQ0FBQztRQUNELEtBQUssU0FBUyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7WUFDL0IsT0FBTyxRQUFRO2dCQUNiLENBQUMsQ0FBQztvQkFDRSxVQUFVLEdBQXdCO29CQUNsQyxjQUFjLEdBQXNCO2lCQUNyQztnQkFDSCxDQUFDLENB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UixFQUFFLEVBQ0YsR0FBRyxLQUVILE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FDZixDQUFDO0lBRUYsWUFBWSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUU7UUFDekMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRTtRQUN2QyxXQUFXLEdBQW1DO1FBQzlDLEdBQUcsRUFBRSxFQUFFO0tBQ1IsQ0FBQyxDQUFDO0lBR0gsbUJBQW1CLENBQUMsYUFBYSxDQUMvQjtRQUNFLE1BQU0sRUFBRSxZQUFZO1FBQ3BCLElBQUksRUFBRTtZQUNKLE1BQU0sR0FBd0I7U0FDL0I7S0FDRixFQUNELEdBQUcsRUFBRTtRQUVILE1BQU0sU0FBUyxHQUFHLGFBQWEsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUM5RCxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7UUFHcEIseUJBQXlCLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUN4RCxNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQy9CLENBQUMsQ0FDRixDQUFDO0lBRUYsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSUVuZ2luZSwgRW50aXR5LCBQb2ludGVyRXZlbnRzU3lzdGVtIH0gZnJvbSAnQGRjbC9lY3MnO1xuaW1wb3J0IHtcbiAgQmFja2dyb3VuZFRleHR1cmVNb2RlLFxuICBJbnB1dEFjdGlvbixcbiAgVGV4dEFsaWduTW9kZSxcbiAgVGV4dHVyZVdyYXBNb2RlLFxuICBZR0FsaWduLFxuICBZR0ZsZXhEaXJlY3Rpb24sXG4gIFlHSnVzdGlmeSxcbiAgWUdQb3NpdGlvblR5cGUsXG4gIFlHVW5pdCxcbiAgWUdEaXNwbGF5LFxuICBQb2ludGVyRmlsdGVyTW9kZSxcbn0gZnJvbSAnQGRjbC9lY3MnO1xuaW1wb3J0IHsgQ29sb3I0IH0gZnJvbSAnQGRjbC9zZGsvbWF0aCc7XG5pbXBvcnQgdHlwZSB7IEVuZ2luZUNvbXBvbmVudHMgfSBmcm9tICcuL2RlZmluaXRpb25zJztcbmltcG9ydCB0eXBlIHsgU2NyZWVuQWxpZ25Nb2RlIH0gZnJvbSAnLi9lbnVtcyc7XG5pbXBvcnQgeyBBbGlnbk1vZGUsIEZvbnQgfSBmcm9tICcuL2VudW1zJztcbmltcG9ydCB7IGdldENvbnRlbnRVcmwgfSBmcm9tICcuL2FkbWluLXRvb2xraXQtdWkvY29uc3RhbnRzJztcblxuZnVuY3Rpb24gZ2V0QWxpZ25Nb2RlKGFsaWduOiBBbGlnbk1vZGUsIGlzQ29sdW1uOiBib29sZWFuKSB7XG4gIHN3aXRjaCAoYWxpZ24pIHtcbiAgICBjYXNlIEFsaWduTW9kZS5UQU1fVE9QX0xFRlQ6IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGFsaWduSXRlbXM6IFlHQWxpZ24uWUdBX0ZMRVhfU1RBUlQsXG4gICAgICAgIGp1c3RpZnlDb250ZW50OiBZR0p1c3RpZnkuWUdKX0ZMRVhfU1RBUlQsXG4gICAgICB9O1xuICAgIH1cbiAgICBjYXNlIEFsaWduTW9kZS5UQU1fVE9QX0NFTlRFUjoge1xuICAgICAgcmV0dXJuIGlzQ29sdW1uXG4gICAgICAgID8ge1xuICAgICAgICAgICAgYWxpZ25JdGVtczogWUdBbGlnbi5ZR0FfQ0VOVEVSLFxuICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ6IFlHSnVzdGlmeS5ZR0pfRkxFWF9TVEFSVCxcbiAgICAgICAgICB9XG4gICAgICAgIDoge1xuICAgICAgICAgICAgYWxpZ25JdGVtczogWUdBbGlnbi5ZR0FfRkxFWF9TVEFSVCxcbiAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiBZR0p1c3RpZnkuWUdKX0NFTlRFUixcbiAgICAgICAgICB9O1xuICAgIH1cbiAgICBjYXNlIEFsaWduTW9kZS5UQU1fVE9QX1JJR0hUOiB7XG4gICAgICByZXR1cm4gaXNDb2x1bW5cbiAgICAgICAgPyB7XG4gICAgICAgICAgICBhbGlnbkl0ZW1zOiBZR0FsaWduLllHQV9GTEVYX0VORCxcbiAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiBZR0p1c3RpZnkuWUdKX0ZMRVhfU1RBUlQsXG4gICAgICAgICAgfVxuICAgICAgICA6IHtcbiAgICAgICAgICAgIGFsaWduSXRlbXM6IFlHQWxpZ24uWUdBX0ZMRVhfU1RBUlQsXG4gICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogWUdKdXN0aWZ5LllHSl9GTEVYX0VORCxcbiAgICAgICAgICB9O1xuICAgIH1cbiAgICBjYXNlIEFsaWduTW9kZS5UQU1fTUlERExFX0xFRlQ6IHtcbiAgICAgIHJldHVybiBpc0NvbHVtblxuICAgICAgICA/IHtcbiAgICAgICAgICAgIGFsaWduSXRlbXM6IFlHQWxpZ24uWUdBX0ZMRVhfU1RBUlQsXG4gICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogWUdKdXN0aWZ5LllHSl9DRU5URVIsXG4gICAgICAgICAgfVxuICAgICAgICA6IHtcbiAgICAgICAgICAgIGFsaWduSXRlbXM6IFlHQWxpZ24uWUdBX0NFTlRFUixcbiAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiBZR0p1c3RpZnkuWUdKX0ZMRVhfU1RBUlQsXG4gICAgICAgICAgfTtcbiAgICB9XG4gICAgY2FzZSBBbGlnbk1vZGUuVEFNX01JRERMRV9DRU5URVI6IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGFsaWduSXRlbXM6IFlHQWxpZ24uWUdBX0NFTlRFUixcbiAgICAgICAganVzdGlmeUNvbnRlbnQ6IFlHSnVzdGlmeS5ZR0pfQ0VOVEVSLFxuICAgICAgfTtcbiAgICB9XG4gICAgY2FzZSBBbGlnbk1vZGUuVEFNX01JRERMRV9SSUdIVDoge1xuICAgICAgcmV0dXJuIGlzQ29sdW1uXG4gICAgICAgID8ge1xuICAgICAgICAgICAgYWxpZ25JdGVtczogWUdBbGlnbi5ZR0FfRkxFWF9FTkQsXG4gICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogWUdKdXN0aWZ5LllHSl9DRU5URVIsXG4gICAgICAgICAgfVxuICAgICAgICA6IHtcbiAgICAgICAgICAgIGFsaWduSXRlbXM6IFlHQWxpZ24uWUdBX0NFTlRFUixcbiAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiBZR0p1c3RpZnkuWUdKX0ZMRVhfRU5ELFxuICAgICAgICAgIH07XG4gICAgfVxuICAgIGNhc2UgQWxpZ25Nb2RlLlRBTV9CT1RUT01fTEVGVDoge1xuICAgICAgcmV0dXJuIGlzQ29sdW1uXG4gICAgICAgID8ge1xuICAgICAgICAgICAgYWxpZ25JdGVtczogWUdBbGlnbi5ZR0FfRkxFWF9TVEFSVCxcbiAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiBZR0p1c3RpZnkuWUdKX0ZMRVhfRU5ELFxuICAgICAgICAgIH1cbiAgICAgICAgOiB7XG4gICAgICAgICAgICBhbGlnbkl0ZW1zOiBZR0p1c3RpZnkuWUdKX0ZMRVhfRU5ELFxuICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ6IFlHQWxpZ24uWUdBX0ZMRVhfU1RBUlQsXG4gICAgICAgICAgfTtcbiAgICB9XG4gICAgY2FzZSBBbGlnbk1vZGUuVEFNX0JPVFRPTV9DRU5URVI6IHtcbiAgICAgIHJldHVybiBpc0NvbHVtblxuICAgICAgICA/IHtcbiAgICAgICAgICAgIGFsaWduSXRlbXM6IFlHQWxpZ24uWUdBX0NFTlRFUixcbiAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiBZR0p1c3RpZnkuWUdKX0ZMRVhfRU5ELFxuICAgICAgICAgIH1cbiAgICAgICAgOiB7XG4gICAgICAgICAgICBhbGlnbkl0ZW1zOiBZR0FsaWduLllHQV9GTEVYX0VORCxcbiAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiBZR0p1c3RpZnkuWUdKX0NFTlRFUixcbiAgICAgICAgICB9O1xuICAgIH1cbiAgICBjYXNlIEFsaWduTW9kZS5UQU1fQk9UVE9NX1JJR0hUOiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBhbGlnbkl0ZW1zOiBZR0FsaWduLllHQV9GTEVYX0VORCxcbiAgICAgICAganVzdGlmeUNvbnRlbnQ6IFlHSnVzdGlmeS5ZR0pfRkxFWF9FTkQsXG4gICAgICB9O1xuICAgIH1cbiAgfVxufVxuXG5jb25zdCB2YWxpZEFsaWduTW9kZXMgPSBuZXcgU2V0KFtcbiAgQWxpZ25Nb2RlLlRBTV9UT1BfTEVGVCxcbiAgQWxpZ25Nb2RlLlRBTV9UT1BfQ0VOVEVSLFxuICBBbGlnbk1vZGUuVEFNX1RPUF9SSUdIVCxcbiAgQWxpZ25Nb2RlLlRBTV9NSURETEVfTEVGVCxcbiAgQWxpZ25Nb2RlLlRBTV9NSURETEVfQ0VOVEVSLFxuICBBbGlnbk1vZGUuVEFNX01JRERMRV9SSUdIVCxcbiAgQWxpZ25Nb2RlLlRBTV9CT1RUT01fTEVGVCxcbiAgQWxpZ25Nb2RlLlRBTV9CT1RUT01fQ0VOVEVSLFxuICBBbGlnbk1vZGUuVEFNX0JPVFRPTV9SSUdIVCxcbl0pO1xuXG5leHBvcnQgZnVuY3Rpb24gbWFwQWxpZ25Ub1NjcmVlbkFsaWduKFxuICBhbGlnbjogQWxpZ25Nb2RlLFxuICBmbGV4RGlyZWN0aW9uID0gWUdGbGV4RGlyZWN0aW9uLllHRkRfUk9XLFxuKTogU2NyZWVuQWxpZ25Nb2RlIHtcbiAgY29uc3QgaXNDb2x1bW4gPSBmbGV4RGlyZWN0aW9uID09PSBZR0ZsZXhEaXJlY3Rpb24uWUdGRF9DT0xVTU47XG5cbiAgLy8gQ2hlY2sgaWYgYWxpZ24gaXMgdmFsaWQgYW5kIG1hcCB1c2luZyBnZXRBbGlnbk1vZGVcbiAgaWYgKHZhbGlkQWxpZ25Nb2Rlcy5oYXMoYWxpZ24pKSB7XG4gICAgcmV0dXJuIGdldEFsaWduTW9kZShhbGlnbiwgaXNDb2x1bW4pIGFzIFNjcmVlbkFsaWduTW9kZTtcbiAgfVxuXG4gIHRocm93IG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgQWxpZ25Nb2RlOiAke2FsaWdufWApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VUlUcmFuc2Zvcm0oXG4gIGNvbXBvbmVudDogRW5naW5lQ29tcG9uZW50c1snVWlUcmFuc2Zvcm0nXSxcbiAgZW50aXk6IEVudGl0eSxcbiAgaGVpZ2h0ID0gMTAwLFxuICB3aWR0aCA9IDEwMCxcbiAgdW5pdDogWUdVbml0ID0gWUdVbml0LllHVV9QRVJDRU5ULFxuKSB7XG4gIGxldCB1aVRyYW5zZm9ybUNvbXBvbmVudCA9IGNvbXBvbmVudC5nZXRNdXRhYmxlT3JOdWxsKGVudGl5KTtcblxuICBpZiAoIXVpVHJhbnNmb3JtQ29tcG9uZW50KSB7XG4gICAgdWlUcmFuc2Zvcm1Db21wb25lbnQgPSBjb21wb25lbnQuY3JlYXRlKGVudGl5KTtcbiAgICB1aVRyYW5zZm9ybUNvbXBvbmVudC5oZWlnaHRVbml0ID0gdW5pdDtcbiAgICB1aVRyYW5zZm9ybUNvbXBvbmVudC53aWR0aFVuaXQgPSB1bml0O1xuICAgIHVpVHJhbnNmb3JtQ29tcG9uZW50LmhlaWdodCA9IGhlaWdodDtcbiAgICB1aVRyYW5zZm9ybUNvbXBvbmVudC53aWR0aCA9IHdpZHRoO1xuICAgIHVpVHJhbnNmb3JtQ29tcG9uZW50Lm1heEhlaWdodFVuaXQgPSB1bml0O1xuICAgIHVpVHJhbnNmb3JtQ29tcG9uZW50Lm1heFdpZHRoVW5pdCA9IHVuaXQ7XG4gICAgdWlUcmFuc2Zvcm1Db21wb25lbnQubWF4SGVpZ2h0ID0gaGVpZ2h0O1xuICAgIHVpVHJhbnNmb3JtQ29tcG9uZW50Lm1heFdpZHRoID0gd2lkdGg7XG4gIH1cblxuICBpZiAoZW50aXkgPT09IDApIHtcbiAgICB1aVRyYW5zZm9ybUNvbXBvbmVudC5wb3NpdGlvblR5cGUgPSBZR1Bvc2l0aW9uVHlwZS5ZR1BUX0FCU09MVVRFO1xuICB9XG5cbiAgcmV0dXJuIHVpVHJhbnNmb3JtQ29tcG9uZW50O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VUlCYWNrZ3JvdW5kKFxuICBjb21wb25lbnQ6IEVuZ2luZUNvbXBvbmVudHNbJ1VpQmFja2dyb3VuZCddLFxuICBlbnRpdHk6IEVudGl0eSxcbiAgc3JjOiBzdHJpbmcsXG4gIHRleHR1cmVNb2RlID0gQmFja2dyb3VuZFRleHR1cmVNb2RlLk5JTkVfU0xJQ0VTLFxuICB3cmFwTW9kZSA9IFRleHR1cmVXcmFwTW9kZS5UV01fQ0xBTVAsXG4pIHtcbiAgcmV0dXJuIGNvbXBvbmVudC5jcmVhdGVPclJlcGxhY2UoZW50aXR5LCB7XG4gICAgdGV4dHVyZU1vZGUsXG4gICAgdGV4dHVyZToge1xuICAgICAgdGV4OiB7XG4gICAgICAgICRjYXNlOiAndGV4dHVyZScsXG4gICAgICAgIHRleHR1cmU6IHtcbiAgICAgICAgICBzcmMsXG4gICAgICAgICAgd3JhcE1vZGUsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0sXG4gICAgdXZzOiBbXSxcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGJyZWFrTGluZXModGV4dDogc3RyaW5nLCBsaW5lbGVuZ3RoOiBudW1iZXIpIHtcbiAgY29uc3QgbGluZUJyZWFrID0gJ1xcbic7XG4gIGxldCBjb3VudGVyID0gMDtcbiAgbGV0IGxpbmUgPSAnJztcbiAgbGV0IHJldHVyblRleHQgPSAnJztcbiAgbGV0IGJNYXRjaEZvdW5kID0gZmFsc2U7XG4gIGNvbnN0IGxpbmVMZW4gPSBsaW5lbGVuZ3RoID8gbGluZWxlbmd0aCA6IDUwO1xuXG4gIGlmICghdGV4dCkgcmV0dXJuICcnO1xuICBpZiAodGV4dC5sZW5ndGggPCBsaW5lTGVuICsgMSkge1xuICAgIHJldHVybiB0ZXh0O1xuICB9XG5cbiAgd2hpbGUgKGNvdW50ZXIgPCB0ZXh0Lmxlbmd0aCkge1xuICAgIGxpbmUgPSB0ZXh0LnN1YnN0cmluZyhjb3VudGVyLCBjb3VudGVyICsgbGluZUxlbik7XG4gICAgYk1hdGNoRm91bmQgPSBmYWxzZTtcbiAgICBpZiAobGluZS5sZW5ndGggPT0gbGluZUxlbikge1xuICAgICAgZm9yIChsZXQgaSA9IGxpbmUubGVuZ3RoOyBpID4gLTE7IGktLSkge1xuICAgICAgICBpZiAobGluZS5zdWJzdHJpbmcoaSwgaSArIDEpID09ICcgJykge1xuICAgICAgICAgIGNvdW50ZXIgKz0gbGluZS5zdWJzdHJpbmcoMCwgaSkubGVuZ3RoO1xuICAgICAgICAgIGxpbmUgPSBsaW5lLnN1YnN0cmluZygwLCBpKSArIGxpbmVCcmVhaztcbiAgICAgICAgICByZXR1cm5UZXh0ICs9IGxpbmU7XG4gICAgICAgICAgYk1hdGNoRm91bmQgPSB0cnVlO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICghYk1hdGNoRm91bmQpIHtcbiAgICAgICAgY291bnRlciArPSBsaW5lLmxlbmd0aDtcbiAgICAgICAgbGluZSA9IGxpbmUgKyBsaW5lQnJlYWs7XG4gICAgICAgIHJldHVyblRleHQgKz0gbGluZTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuVGV4dCArPSBsaW5lO1xuICAgICAgYnJlYWs7IC8vIFdlJ3JlIGJyZWFraW5nIG91dCBvZiB0aGUgdGhlIHdoaWxlKCksIG5vdCB0aGUgZm9yKClcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcmV0dXJuVGV4dDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFVJVGV4dChcbiAgY29tcG9uZW50OiBFbmdpbmVDb21wb25lbnRzWydVaVRleHQnXSxcbiAgZW50aXR5OiBFbnRpdHksXG4gIHRleHQ6IHN0cmluZyxcbiAgZm9udFNpemUgPSAxMCxcbiAgY29udGFpbmVyV2lkdGg6IG51bWJlcixcbiAgYWxpZ246IFRleHRBbGlnbk1vZGUgPSBUZXh0QWxpZ25Nb2RlLlRBTV9NSURETEVfQ0VOVEVSLFxuICBjb2xvcjogQ29sb3I0ID0gQ29sb3I0LldoaXRlKCksXG4pIHtcbiAgY29uc3QgbGluZUxlbmd0aCA9IE1hdGguZmxvb3IoY29udGFpbmVyV2lkdGggLyAoZm9udFNpemUgLyAxLjcpKTtcblxuICByZXR1cm4gY29tcG9uZW50LmNyZWF0ZU9yUmVwbGFjZShlbnRpdHksIHtcbiAgICB2YWx1ZTogYnJlYWtMaW5lcyh0ZXh0LCBsaW5lTGVuZ3RoKSxcbiAgICBmb250U2l6ZSxcbiAgICBmb250OiBGb250LkZfTU9OT1NQQUNFIGFzIGFueSxcbiAgICB0ZXh0QWxpZ246IGFsaWduIGFzIHVua25vd24gYXMgVGV4dEFsaWduTW9kZSxcbiAgICBjb2xvcixcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVVaVRyYW5zZm9ybUVudGl0aWVzKFxuICBlbmdpbmU6IElFbmdpbmUsXG4gIFVpVHJhbnNmb3JtOiBFbmdpbmVDb21wb25lbnRzWydVaVRyYW5zZm9ybSddLFxuICBwYXJlbnRFbnRpdHk6IEVudGl0eSxcbikge1xuICBjb25zdCBlbnRpdGllc1dpdGhVaVRyYW5zZm9ybSA9IGVuZ2luZS5nZXRFbnRpdGllc1dpdGgoVWlUcmFuc2Zvcm0pO1xuXG4gIGZvciAoY29uc3QgW3VpRW50aXR5LCB1aVRyYW5zZm9ybV0gb2YgZW50aXRpZXNXaXRoVWlUcmFuc2Zvcm0pIHtcbiAgICBpZiAodWlUcmFuc2Zvcm0ucGFyZW50ID09PSBwYXJlbnRFbnRpdHkpIHtcbiAgICAgIC8vIFJlY3Vyc2l2ZWx5IHJlbW92ZSBjaGlsZHJlblxuICAgICAgcmVtb3ZlVWlUcmFuc2Zvcm1FbnRpdGllcyhlbmdpbmUsIFVpVHJhbnNmb3JtLCB1aUVudGl0eSk7XG4gICAgICBlbmdpbmUucmVtb3ZlRW50aXR5KHVpRW50aXR5KTtcbiAgICB9XG4gIH1cbn1cblxuY29uc3QgZ2V0QnRuQ2xvc2VUZXh0QW5ub3VuY2VtZW50ID0gKCkgPT5cbiAgYCR7Z2V0Q29udGVudFVybCgpfS9hZG1pbl90b29sa2l0L2Fzc2V0cy9pY29ucy90ZXh0LWFubm91bmNlbWVudC1jbG9zZS1idXR0b24ucG5nYDtcblxuZXhwb3J0IGZ1bmN0aW9uIHNob3dDYXB0Y2hhUHJvbXB0KFxuICBlbmdpbmU6IElFbmdpbmUsXG4gIFVpVHJhbnNmb3JtOiBFbmdpbmVDb21wb25lbnRzWydVaVRyYW5zZm9ybSddLFxuICBVaUJhY2tncm91bmQ6IEVuZ2luZUNvbXBvbmVudHNbJ1VpQmFja2dyb3VuZCddLFxuICBVaVRleHQ6IEVuZ2luZUNvbXBvbmVudHNbJ1VpVGV4dCddLFxuICBVaUlucHV0OiBFbmdpbmVDb21wb25lbnRzWydVaUlucHV0J10sXG4gIFVpSW5wdXRSZXN1bHQ6IEVuZ2luZUNvbXBvbmVudHNbJ1VpSW5wdXRSZXN1bHQnXSxcbiAgcG9pbnRlckV2ZW50c1N5c3RlbTogUG9pbnRlckV2ZW50c1N5c3RlbSxcbiAgZGF0YTogeyBjYW1wYWlnbklkOiBzdHJpbmc7IGRpc3BlbnNlcktleTogc3RyaW5nOyBjYXB0Y2hhOiBhbnkgfSxcbiAgb25TdWJtaXQ6IChpbnB1dFRleHQ6IHN0cmluZykgPT4gdm9pZCxcbikge1xuICBjb25zb2xlLmxvZygnc2hvd0NhcHRjaGFQcm9tcHQnKTtcbiAgLy8gQ3JlYXRlIFVJIHN0YWNrIGZvciBjZW50ZXJpbmdcbiAgY29uc3QgdWlTdGFjayA9IGVuZ2luZS5hZGRFbnRpdHkoKTtcbiAgY29uc3QgdWlTdGFja1RyYW5zZm9ybSA9IGdldFVJVHJhbnNmb3JtKFVpVHJhbnNmb3JtLCB1aVN0YWNrKTtcbiAgdWlTdGFja1RyYW5zZm9ybS5kaXNwbGF5ID0gWUdEaXNwbGF5LllHRF9GTEVYO1xuICB1aVN0YWNrVHJhbnNmb3JtLmFsaWduSXRlbXMgPSBZR0FsaWduLllHQV9DRU5URVI7XG4gIHVpU3RhY2tUcmFuc2Zvcm0uanVzdGlmeUNvbnRlbnQgPSBZR0p1c3RpZnkuWUdKX0NFTlRFUjtcblxuICAvLyBDcmVhdGUgY29udGFpbmVyXG4gIGNvbnN0IGNvbnRhaW5lckVudGl0eSA9IGVuZ2luZS5hZGRFbnRpdHkoKTtcbiAgY29uc3QgY29udGFpbmVyVHJhbnNmb3JtID0gZ2V0VUlUcmFuc2Zvcm0oXG4gICAgVWlUcmFuc2Zvcm0sXG4gICAgY29udGFpbmVyRW50aXR5LFxuICAgIDI2MCxcbiAgICAyNTAsXG4gICAgWUdVbml0LllHVV9QT0lOVCxcbiAgKTtcbiAgY29udGFpbmVyVHJhbnNmb3JtLnBhcmVudCA9IHVpU3RhY2s7XG4gIGNvbnRhaW5lclRyYW5zZm9ybS5kaXNwbGF5ID0gWUdEaXNwbGF5LllHRF9GTEVYO1xuICBjb250YWluZXJUcmFuc2Zvcm0uZmxleERpcmVjdGlvbiA9IFlHRmxleERpcmVjdGlvbi5ZR0ZEX0NPTFVNTjtcbiAgY29udGFpbmVyVHJhbnNmb3JtLmFsaWduSXRlbXMgPSBZR0FsaWduLllHQV9DRU5URVI7XG4gIGNvbnRhaW5lclRyYW5zZm9ybS5wYWRkaW5nVG9wID0gMjA7XG4gIGNvbnRhaW5lclRyYW5zZm9ybS5wYWRkaW5nVG9wVW5pdCA9IFlHVW5pdC5ZR1VfUE9JTlQ7XG4gIGNvbnRhaW5lclRyYW5zZm9ybS5wYWRkaW5nQm90dG9tID0gMjA7XG4gIGNvbnRhaW5lclRyYW5zZm9ybS5wYWRkaW5nQm90dG9tVW5pdCA9IFlHVW5pdC5ZR1VfUE9JTlQ7XG4gIGNvbnRhaW5lclRyYW5zZm9ybS5wYWRkaW5nTGVmdCA9IDIwO1xuICBjb250YWluZXJUcmFuc2Zvcm0ucGFkZGluZ0xlZnRVbml0ID0gWUdVbml0LllHVV9QT0lOVDtcbiAgY29udGFpbmVyVHJhbnNmb3JtLnBhZGRpbmdSaWdodCA9IDIwO1xuICBjb250YWluZXJUcmFuc2Zvcm0ucGFkZGluZ1JpZ2h0VW5pdCA9IFlHVW5pdC5ZR1VfUE9JTlQ7XG4gIGNvbnRhaW5lclRyYW5zZm9ybS5wb2ludGVyRmlsdGVyID0gUG9pbnRlckZpbHRlck1vZGUuUEZNX0JMT0NLO1xuXG4gIC8vIERJU0NMQUlNRVI6IFdoZW4gdXNpbmcgVWlCYWNrZ3JvdW5kLCBlY3MgZ2l2ZXMgdGhlbSBwcmlvcml0eSBvdmVyIHRoZSBVaVRyYW5zZm9ybXMsIGxlYWRpbmcgdG8gYW4gdW5leHBlY3RlZCBiZWhhdmlvciB3aGVuIHdvcmtpbmcgd2l0aCBmbGV4IHBvc2l0aW9uaW5nLlxuICAvLyBBZGQgZGFyayBiYWNrZ3JvdW5kXG4gIFVpQmFja2dyb3VuZC5jcmVhdGVPclJlcGxhY2UoY29udGFpbmVyRW50aXR5LCB7XG4gICAgY29sb3I6IENvbG9yNC5jcmVhdGUoMC4xNSwgMC4xNSwgMC4xNSwgMC45NSksXG4gICAgdGV4dHVyZU1vZGU6IEJhY2tncm91bmRUZXh0dXJlTW9kZS5OSU5FX1NMSUNFUyxcbiAgICB1dnM6IFtdLFxuICB9KTtcblxuICAvLyBDcmVhdGUgY2xvc2UgYnV0dG9uIGVudGl0eVxuICBjb25zdCBjbG9zZUJ1dHRvbkVudGl0eSA9IGVuZ2luZS5hZGRFbnRpdHkoKTtcbiAgY29uc3QgY2xvc2VCdXR0b25UcmFuc2Zvcm0gPSBnZXRVSVRyYW5zZm9ybShcbiAgICBVaVRyYW5zZm9ybSxcbiAgICBjbG9zZUJ1dHRvbkVudGl0eSxcbiAgICAyNCxcbiAgICAyNCxcbiAgICBZR1VuaXQuWUdVX1BPSU5ULFxuICApO1xuICBjbG9zZUJ1dHRvblRyYW5zZm9ybS5wYXJlbnQgPSBjb250YWluZXJFbnRpdHk7XG4gIGNsb3NlQnV0dG9uVHJhbnNmb3JtLnBvc2l0aW9uVHlwZSA9IFlHUG9zaXRpb25UeXBlLllHUFRfQUJTT0xVVEU7XG4gIGNsb3NlQnV0dG9uVHJhbnNmb3JtLnBvc2l0aW9uUmlnaHQgPSA1O1xuICBjbG9zZUJ1dHRvblRyYW5zZm9ybS5wb3NpdGlvblJpZ2h0VW5pdCA9IFlHVW5pdC5ZR1VfUE9JTlQ7XG4gIGNsb3NlQnV0dG9uVHJhbnNmb3JtLnBvc2l0aW9uVG9wID0gNTtcbiAgY2xvc2VCdXR0b25UcmFuc2Zvcm0ucG9zaXRpb25Ub3BVbml0ID0gWUdVbml0LllHVV9QT0lOVDtcbiAgY2xvc2VCdXR0b25UcmFuc2Zvcm0ucG9pbnRlckZpbHRlciA9IFBvaW50ZXJGaWx0ZXJNb2RlLlBGTV9CTE9DSztcblxuICBnZXRVSUJhY2tncm91bmQoXG4gICAgVWlCYWNrZ3JvdW5kLFxuICAgIGNsb3NlQnV0dG9uRW50aXR5LFxuICAgIGdldEJ0bkNsb3NlVGV4dEFubm91bmNlbWVudCgpLFxuICAgIEJhY2tncm91bmRUZXh0dXJlTW9kZS5TVFJFVENILFxuICApO1xuXG4gIC8vIENsb3NlIGJ1dHRvbiBjbGljayBoYW5kbGVyXG4gIHBvaW50ZXJFdmVudHNTeXN0ZW0ub25Qb2ludGVyRG93bihcbiAgICB7XG4gICAgICBlbnRpdHk6IGNsb3NlQnV0dG9uRW50aXR5LFxuICAgICAgb3B0czoge1xuICAgICAgICBidXR0b246IElucHV0QWN0aW9uLklBX1BPSU5URVIsXG4gICAgICB9LFxuICAgIH0sXG4gICAgKCkgPT4ge1xuICAgICAgcmVtb3ZlVWlUcmFuc2Zvcm1FbnRpdGllcyhlbmdpbmUsIFVpVHJhbnNmb3JtLCB1aVN0YWNrKTtcbiAgICAgIGVuZ2luZS5yZW1vdmVFbnRpdHkodWlTdGFjayk7XG4gICAgfSxcbiAgKTtcblxuICAvLyBBZGQgdGl0bGUgdGV4dFxuICBjb25zdCB0aXRsZUVudGl0eSA9IGVuZ2luZS5hZGRFbnRpdHkoKTtcbiAgY29uc3QgdGl0bGVUcmFuc2Zvcm0gPSBnZXRVSVRyYW5zZm9ybShVaVRyYW5zZm9ybSwgdGl0bGVFbnRpdHksIDIwLCAyMDAsIFlHVW5pdC5ZR1VfUE9JTlQpO1xuICB0aXRsZVRyYW5zZm9ybS5wYXJlbnQgPSBjb250YWluZXJFbnRpdHk7XG4gIHRpdGxlVHJhbnNmb3JtLm1hcmdpbkJvdHRvbSA9IDEwO1xuICB0aXRsZVRyYW5zZm9ybS5tYXJnaW5Cb3R0b21Vbml0ID0gWUdVbml0LllHVV9QT0lOVDtcbiAgdGl0bGVUcmFuc2Zvcm0ucG9zaXRpb25UeXBlID0gWUdQb3NpdGlvblR5cGUuWUdQVF9BQlNPTFVURTtcbiAgdGl0bGVUcmFuc2Zvcm0ucG9zaXRpb25Ub3AgPSAzMDtcbiAgdGl0bGVUcmFuc2Zvcm0ucG9zaXRpb25Ub3BVbml0ID0gWUdVbml0LllHVV9QT0lOVDtcblxuICBnZXRVSVRleHQoXG4gICAgVWlUZXh0LFxuICAgIHRpdGxlRW50aXR5LFxuICAgICdFbnRlciB0aGUgY2FwdGNoYScsXG4gICAgMjAsXG4gICAgMjAwLFxuICAgIFRleHRBbGlnbk1vZGUuVEFNX01JRERMRV9DRU5URVIsXG4gICAgQ29sb3I0LldoaXRlKCksXG4gICk7XG5cbiAgLy8gQWRkIGNhcHRjaGEgaW1hZ2VcbiAgY29uc3QgaW1hZ2VFbnRpdHkgPSBlbmdpbmUuYWRkRW50aXR5KCk7XG4gIGNvbnN0IGltYWdlVHJhbnNmb3JtID0gZ2V0VUlUcmFuc2Zvcm0oVWlUcmFuc2Zvcm0sIGltYWdlRW50aXR5LCA4MCwgMjAwLCBZR1VuaXQuWUdVX1BPSU5UKTtcbiAgaW1hZ2VUcmFuc2Zvcm0ucGFyZW50ID0gY29udGFpbmVyRW50aXR5O1xuICBpbWFnZVRyYW5zZm9ybS5tYXJnaW5Cb3R0b20gPSAxMDtcbiAgaW1hZ2VUcmFuc2Zvcm0ubWFyZ2luQm90dG9tVW5pdCA9IFlHVW5pdC5ZR1VfUE9JTlQ7XG4gIGltYWdlVHJhbnNmb3JtLnBvc2l0aW9uVHlwZSA9IFlHUG9zaXRpb25UeXBlLllHUFRfQUJTT0xVVEU7XG4gIGltYWdlVHJhbnNmb3JtLnBvc2l0aW9uVG9wID0gNjA7XG4gIGltYWdlVHJhbnNmb3JtLnBvc2l0aW9uVG9wVW5pdCA9IFlHVW5pdC5ZR1VfUE9JTlQ7XG5cbiAgZ2V0VUlCYWNrZ3JvdW5kKFVpQmFja2dyb3VuZCwgaW1hZ2VFbnRpdHksIGRhdGEuY2FwdGNoYS5pbWFnZSwgQmFja2dyb3VuZFRleHR1cmVNb2RlLlNUUkVUQ0gpO1xuXG4gIC8vIEFkZCBpbnB1dCBmaWVsZFxuICBjb25zdCBpbnB1dEVudGl0eSA9IGVuZ2luZS5hZGRFbnRpdHkoKTtcbiAgY29uc3QgaW5wdXRUcmFuc2Zvcm0gPSBnZXRVSVRyYW5zZm9ybShVaVRyYW5zZm9ybSwgaW5wdXRFbnRpdHksIDUwLCAyMDAsIFlHVW5pdC5ZR1VfUE9JTlQpO1xuICBpbnB1dFRyYW5zZm9ybS5wYXJlbnQgPSBjb250YWluZXJFbnRpdHk7XG4gIGlucHV0VHJhbnNmb3JtLm1hcmdpbkJvdHRvbSA9IDEwO1xuICBpbnB1dFRyYW5zZm9ybS5tYXJnaW5Cb3R0b21Vbml0ID0gWUdVbml0LllHVV9QT0lOVDtcbiAgaW5wdXRUcmFuc2Zvcm0ucG9zaXRpb25UeXBlID0gWUdQb3NpdGlvblR5cGUuWUdQVF9BQlNPTFVURTtcbiAgaW5wdXRUcmFuc2Zvcm0ucG9zaXRpb25Ub3AgPSAxNTA7XG4gIGlucHV0VHJhbnNmb3JtLnBvc2l0aW9uVG9wVW5pdCA9IFlHVW5pdC5ZR1VfUE9JTlQ7XG5cbiAgVWlJbnB1dC5jcmVhdGVPclJlcGxhY2UoaW5wdXRFbnRpdHksIHtcbiAgICBwbGFjZWhvbGRlcjogJ0VudGVyIHRoZSBjYXB0Y2hhJyxcbiAgICBjb2xvcjogQ29sb3I0LldoaXRlKCksXG4gICAgcGxhY2Vob2xkZXJDb2xvcjogQ29sb3I0LmNyZWF0ZSgwLjMsIDAuMywgMC4zLCAxKSxcbiAgICBkaXNhYmxlZDogZmFsc2UsXG4gICAgdGV4dEFsaWduOiBUZXh0QWxpZ25Nb2RlLlRBTV9NSURETEVfQ0VOVEVSLFxuICAgIGZvbnQ6IEZvbnQuRl9NT05PU1BBQ0UgYXMgYW55LFxuICAgIGZvbnRTaXplOiAxMCxcbiAgfSk7XG5cbiAgVWlJbnB1dFJlc3VsdC5jcmVhdGVPclJlcGxhY2UoaW5wdXRFbnRpdHksIHtcbiAgICB2YWx1ZTogJycsXG4gICAgaXNTdWJtaXQ6IGZhbHNlLFxuICB9KTtcblxuICAvLyBBZGQgc3VibWl0IGJ1dHRvblxuICBjb25zdCBidXR0b25FbnRpdHkgPSBlbmdpbmUuYWRkRW50aXR5KCk7XG4gIGNvbnN0IGJ1dHRvblRyYW5zZm9ybSA9IGdldFVJVHJhbnNmb3JtKFVpVHJhbnNmb3JtLCBidXR0b25FbnRpdHksIDMwLCAxMDAsIFlHVW5pdC5ZR1VfUE9JTlQpO1xuICBidXR0b25UcmFuc2Zvcm0ucGFyZW50ID0gY29udGFpbmVyRW50aXR5O1xuICBidXR0b25UcmFuc2Zvcm0ubWFyZ2luQm90dG9tID0gMTA7XG4gIGJ1dHRvblRyYW5zZm9ybS5tYXJnaW5Cb3R0b21Vbml0ID0gWUdVbml0LllHVV9QT0lOVDtcbiAgYnV0dG9uVHJhbnNmb3JtLnBvc2l0aW9uVHlwZSA9IFlHUG9zaXRpb25UeXBlLllHUFRfQUJTT0xVVEU7XG4gIGJ1dHRvblRyYW5zZm9ybS5wb3NpdGlvblRvcCA9IDIxMDtcbiAgYnV0dG9uVHJhbnNmb3JtLnBvc2l0aW9uVG9wVW5pdCA9IFlHVW5pdC5ZR1VfUE9JTlQ7XG4gIGJ1dHRvblRyYW5zZm9ybS5wb2ludGVyRmlsdGVyID0gUG9pbnRlckZpbHRlck1vZGUuUEZNX0JMT0NLO1xuXG4gIGdldFVJVGV4dChcbiAgICBVaVRleHQsXG4gICAgYnV0dG9uRW50aXR5LFxuICAgICdTdWJtaXQnLFxuICAgIDE2LFxuICAgIDEwMCxcbiAgICBUZXh0QWxpZ25Nb2RlLlRBTV9NSURETEVfQ0VOVEVSLFxuICAgIENvbG9yNC5XaGl0ZSgpLFxuICApO1xuXG4gIFVpQmFja2dyb3VuZC5jcmVhdGVPclJlcGxhY2UoYnV0dG9uRW50aXR5LCB7XG4gICAgY29sb3I6IHsgcjogMC4zLCBnOiAwLjMsIGI6IDAuMywgYTogMSB9LFxuICAgIHRleHR1cmVNb2RlOiBCYWNrZ3JvdW5kVGV4dHVyZU1vZGUuTklORV9TTElDRVMsXG4gICAgdXZzOiBbXSxcbiAgfSk7XG5cbiAgLy8gQWRkIGNsaWNrIGhhbmRsZXIgZm9yIHN1Ym1pdCBidXR0b25cbiAgcG9pbnRlckV2ZW50c1N5c3RlbS5vblBvaW50ZXJEb3duKFxuICAgIHtcbiAgICAgIGVudGl0eTogYnV0dG9uRW50aXR5LFxuICAgICAgb3B0czoge1xuICAgICAgICBidXR0b246IElucHV0QWN0aW9uLklBX1BPSU5URVIsXG4gICAgICB9LFxuICAgIH0sXG4gICAgKCkgPT4ge1xuICAgICAgLy8gR2V0IGlucHV0IHRleHQgdmFsdWUgYW5kIGNhbGwgb25TdWJtaXQgY2FsbGJhY2tcbiAgICAgIGNvbnN0IGlucHV0VGV4dCA9IFVpSW5wdXRSZXN1bHQuZ2V0KGlucHV0RW50aXR5KT8udmFsdWUgfHwgJyc7XG4gICAgICBvblN1Ym1pdChpbnB1dFRleHQpO1xuXG4gICAgICAvLyBSZW1vdmUgVUlcbiAgICAgIHJlbW92ZVVpVHJhbnNmb3JtRW50aXRpZXMoZW5naW5lLCBVaVRyYW5zZm9ybSwgdWlTdGFjayk7XG4gICAgICBlbmdpbmUucmVtb3ZlRW50aXR5KHVpU3RhY2spO1xuICAgIH0sXG4gICk7XG5cbiAgcmV0dXJuIHVpU3RhY2s7XG59XG4iXX0=
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dcl/asset-packs",
|
|
3
3
|
"description": "Decentraland Asset Packs - curated collections of 3D assets for Decentraland scenes",
|
|
4
|
-
"version": "2.
|
|
4
|
+
"version": "2.15.0",
|
|
5
5
|
"author": {
|
|
6
6
|
"email": "hello@decentraland.org",
|
|
7
7
|
"name": "Decentraland Foundation",
|
|
@@ -17,9 +17,9 @@
|
|
|
17
17
|
"@aws-sdk/client-s3": "^3.405.0",
|
|
18
18
|
"@aws-sdk/lib-storage": "^3.405.0",
|
|
19
19
|
"@dcl/hashing": "^3.0.4",
|
|
20
|
-
"@dcl/js-runtime": "7.
|
|
21
|
-
"@dcl/react-ecs": "7.
|
|
22
|
-
"@dcl/sdk-commands": "7.
|
|
20
|
+
"@dcl/js-runtime": "7.21.0",
|
|
21
|
+
"@dcl/react-ecs": "7.21.0",
|
|
22
|
+
"@dcl/sdk-commands": "7.21.0",
|
|
23
23
|
"@types/mime-types": "^2.1.1",
|
|
24
24
|
"@types/node-fetch": "^2.6.4",
|
|
25
25
|
"concurrently": "^8.2.1",
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"license": "ISC",
|
|
53
53
|
"main": "dist/definitions.js",
|
|
54
54
|
"peerDependencies": {
|
|
55
|
-
"@dcl/ecs": "7.15.2"
|
|
55
|
+
"@dcl/ecs": "^7.15.2"
|
|
56
56
|
},
|
|
57
57
|
"repository": {
|
|
58
58
|
"type": "git",
|