botframework-webchat-api 4.15.1 → 4.15.2-main.20220413.af6e8a3
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/StyleOptions.d.ts +2 -2
- package/lib/StyleOptions.d.ts.map +1 -1
- package/lib/hooks/Composer.d.ts +2 -2
- package/lib/hooks/Composer.d.ts.map +1 -1
- package/lib/hooks/Composer.js +6 -4
- package/lib/hooks/internal/WebChatAPIContext.d.ts +3 -3
- package/lib/hooks/internal/WebChatAPIContext.d.ts.map +1 -1
- package/lib/hooks/internal/WebChatAPIContext.js +1 -1
- package/lib/hooks/internal/useReadTelemetryDimensions.js +2 -2
- package/lib/hooks/middleware/UserlandBoundary.js +1 -1
- package/lib/hooks/middleware/applyMiddleware.js +1 -1
- package/lib/hooks/middleware/createDefaultGroupActivitiesMiddleware.d.ts.map +1 -1
- package/lib/hooks/middleware/createDefaultGroupActivitiesMiddleware.js +19 -3
- package/lib/hooks/useActiveTyping.d.ts.map +1 -1
- package/lib/hooks/useActiveTyping.js +5 -4
- package/lib/hooks/useActivities.d.ts +2 -2
- package/lib/hooks/useActivities.d.ts.map +1 -1
- package/lib/hooks/useActivities.js +1 -1
- package/lib/hooks/useCreateActivityStatusRenderer.d.ts +3 -3
- package/lib/hooks/useCreateActivityStatusRenderer.d.ts.map +1 -1
- package/lib/hooks/useCreateActivityStatusRenderer.js +47 -16
- package/lib/hooks/useCreateAvatarRenderer.d.ts +2 -2
- package/lib/hooks/useCreateAvatarRenderer.d.ts.map +1 -1
- package/lib/hooks/useCreateAvatarRenderer.js +1 -1
- package/lib/hooks/useDebouncedNotifications.js +2 -2
- package/lib/hooks/useGetSendTimeoutForActivity.d.ts +2 -2
- package/lib/hooks/useGetSendTimeoutForActivity.d.ts.map +1 -1
- package/lib/hooks/useGetSendTimeoutForActivity.js +4 -2
- package/lib/hooks/useGroupActivities.d.ts +4 -4
- package/lib/hooks/useGroupActivities.d.ts.map +1 -1
- package/lib/hooks/useGroupActivities.js +1 -1
- package/lib/hooks/useLocalizer.js +1 -1
- package/lib/hooks/useMarkActivityAsSpoken.d.ts +2 -2
- package/lib/hooks/useMarkActivityAsSpoken.d.ts.map +1 -1
- package/lib/hooks/useMarkActivityAsSpoken.js +1 -1
- package/lib/hooks/usePostActivity.d.ts +2 -2
- package/lib/hooks/usePostActivity.d.ts.map +1 -1
- package/lib/hooks/usePostActivity.js +1 -1
- package/lib/hooks/useSendFiles.d.ts +8 -1
- package/lib/hooks/useSendFiles.d.ts.map +1 -1
- package/lib/hooks/useSendFiles.js +1 -1
- package/lib/hooks/useSendTimeoutForActivity.d.ts +2 -2
- package/lib/hooks/useSendTimeoutForActivity.d.ts.map +1 -1
- package/lib/hooks/useSendTimeoutForActivity.js +1 -1
- package/lib/hooks/useSuggestedActions.d.ts +1 -1
- package/lib/hooks/useSuggestedActions.d.ts.map +1 -1
- package/lib/hooks/useSuggestedActions.js +1 -1
- package/lib/hooks/useTimeoutForSend.d.ts +2 -2
- package/lib/hooks/useTimeoutForSend.d.ts.map +1 -1
- package/lib/hooks/useTimeoutForSend.js +1 -1
- package/lib/hooks/useTrackException.js +2 -2
- package/lib/hooks/utils/ErrorBoundary.js +3 -3
- package/lib/index.js +1 -1
- package/lib/localization/en-US.json +5 -2
- package/lib/localization/mergeLocalizedStrings.js +2 -2
- package/lib/normalizeStyleOptions.js +2 -2
- package/lib/providers/ActivityAcknowledgement/ActivityAcknowledgementComposer.js +1 -1
- package/lib/providers/ActivityKeyer/ActivityKeyerComposer.d.ts.map +1 -1
- package/lib/providers/ActivityKeyer/ActivityKeyerComposer.js +2 -2
- package/lib/providers/ActivityKeyer/private/Context.d.ts +3 -3
- package/lib/providers/ActivityKeyer/private/Context.d.ts.map +1 -1
- package/lib/providers/ActivityKeyer/private/Context.js +1 -1
- package/lib/providers/ActivityKeyer/private/getActivityId.d.ts +2 -2
- package/lib/providers/ActivityKeyer/private/getActivityId.d.ts.map +1 -1
- package/lib/providers/ActivityKeyer/private/getActivityId.js +1 -1
- package/lib/providers/ActivityKeyer/private/getClientActivityId.d.ts +2 -2
- package/lib/providers/ActivityKeyer/private/getClientActivityId.d.ts.map +1 -1
- package/lib/providers/ActivityKeyer/private/getClientActivityId.js +1 -1
- package/lib/providers/ActivityKeyer/useGetActivityByKey.d.ts +2 -2
- package/lib/providers/ActivityKeyer/useGetActivityByKey.d.ts.map +1 -1
- package/lib/providers/ActivityKeyer/useGetActivityByKey.js +1 -1
- package/lib/providers/ActivityKeyer/useGetKeyByActivity.d.ts +2 -2
- package/lib/providers/ActivityKeyer/useGetKeyByActivity.d.ts.map +1 -1
- package/lib/providers/ActivityKeyer/useGetKeyByActivity.js +1 -1
- package/lib/types/ActivityMiddleware.d.ts +3 -3
- package/lib/types/ActivityMiddleware.d.ts.map +1 -1
- package/lib/types/ActivityStatusMiddleware.d.ts +3 -3
- package/lib/types/ActivityStatusMiddleware.d.ts.map +1 -1
- package/lib/types/AttachmentForScreenReaderMiddleware.d.ts +2 -2
- package/lib/types/AttachmentForScreenReaderMiddleware.d.ts.map +1 -1
- package/lib/types/AttachmentMiddleware.d.ts +2 -2
- package/lib/types/AttachmentMiddleware.d.ts.map +1 -1
- package/lib/types/AvatarMiddleware.d.ts +2 -2
- package/lib/types/AvatarMiddleware.d.ts.map +1 -1
- package/lib/types/CardActionMiddleware.d.ts +1 -1
- package/lib/types/CardActionMiddleware.d.ts.map +1 -1
- package/lib/types/GroupActivitiesMiddleware.d.ts +7 -7
- package/lib/types/GroupActivitiesMiddleware.d.ts.map +1 -1
- package/lib/types/WebSpeechPonyfill.d.ts +1 -0
- package/lib/types/WebSpeechPonyfill.d.ts.map +1 -1
- package/package.json +24 -19
- package/src/StyleOptions.ts +2 -2
- package/src/hooks/Composer.tsx +4 -5
- package/src/hooks/internal/WebChatAPIContext.ts +3 -3
- package/src/hooks/middleware/createDefaultGroupActivitiesMiddleware.ts +18 -6
- package/src/hooks/useActiveTyping.ts +5 -3
- package/src/hooks/useActivities.ts +2 -2
- package/src/hooks/useCreateActivityStatusRenderer.tsx +56 -22
- package/src/hooks/useCreateAvatarRenderer.ts +2 -2
- package/src/hooks/useGetSendTimeoutForActivity.ts +3 -3
- package/src/hooks/useGroupActivities.ts +4 -4
- package/src/hooks/useMarkActivityAsSpoken.ts +2 -2
- package/src/hooks/usePostActivity.ts +2 -2
- package/src/hooks/useSendFiles.ts +8 -1
- package/src/hooks/useSendTimeoutForActivity.ts +2 -2
- package/src/hooks/useSuggestedActions.ts +1 -1
- package/src/hooks/useTimeoutForSend.ts +2 -2
- package/src/localization/en-US.json +5 -2
- package/src/providers/ActivityKeyer/ActivityKeyerComposer.tsx +7 -8
- package/src/providers/ActivityKeyer/private/Context.ts +3 -4
- package/src/providers/ActivityKeyer/private/getActivityId.ts +2 -2
- package/src/providers/ActivityKeyer/private/getClientActivityId.ts +2 -2
- package/src/providers/ActivityKeyer/useGetActivityByKey.ts +2 -2
- package/src/providers/ActivityKeyer/useGetKeyByActivity.ts +2 -2
- package/src/types/ActivityMiddleware.ts +3 -3
- package/src/types/ActivityStatusMiddleware.ts +3 -3
- package/src/types/AttachmentForScreenReaderMiddleware.ts +2 -2
- package/src/types/AttachmentMiddleware.ts +2 -2
- package/src/types/AvatarMiddleware.ts +2 -2
- package/src/types/CardActionMiddleware.ts +1 -1
- package/src/types/GroupActivitiesMiddleware.ts +7 -7
package/lib/StyleOptions.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { WebChatActivity } from 'botframework-webchat-core';
|
|
2
2
|
declare type StyleOptions = {
|
|
3
3
|
/**
|
|
4
4
|
* Basic styling
|
|
@@ -547,7 +547,7 @@ declare type StyleOptions = {
|
|
|
547
547
|
* `true` - group all timestamps
|
|
548
548
|
*/
|
|
549
549
|
groupTimestamp?: boolean | number;
|
|
550
|
-
sendTimeout?: number | ((activity:
|
|
550
|
+
sendTimeout?: number | ((activity: WebChatActivity) => number);
|
|
551
551
|
sendTimeoutForAttachments?: number;
|
|
552
552
|
/**
|
|
553
553
|
* Timestamp color default value is subtle
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StyleOptions.d.ts","sourceRoot":"","sources":["../src/StyleOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"StyleOptions.d.ts","sourceRoot":"","sources":["../src/StyleOptions.ts"],"names":[],"mappings":"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"}
|
package/lib/hooks/Composer.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { FC, ReactNode } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import type { DirectLineJSBotConnection, OneOrMany, WebChatActivity } from 'botframework-webchat-core';
|
|
3
3
|
import ActivityMiddleware from '../types/ActivityMiddleware';
|
|
4
4
|
import ActivityStatusMiddleware from '../types/ActivityStatusMiddleware';
|
|
5
5
|
import AttachmentForScreenReaderMiddleware from '../types/AttachmentForScreenReaderMiddleware';
|
|
@@ -37,7 +37,7 @@ declare type ComposerCoreProps = {
|
|
|
37
37
|
externalLinkAlt: any;
|
|
38
38
|
}) => string;
|
|
39
39
|
scrollToEndButtonMiddleware?: OneOrMany<ScrollToEndButtonMiddleware>;
|
|
40
|
-
selectVoice?: (voices: typeof window.SpeechSynthesisVoice[], activity:
|
|
40
|
+
selectVoice?: (voices: typeof window.SpeechSynthesisVoice[], activity: WebChatActivity) => void;
|
|
41
41
|
sendTypingIndicator?: boolean;
|
|
42
42
|
styleOptions?: StyleOptions;
|
|
43
43
|
toastMiddleware?: OneOrMany<ToastMiddleware>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Composer.d.ts","sourceRoot":"","sources":["../../src/hooks/Composer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAqD,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Composer.d.ts","sourceRoot":"","sources":["../../src/hooks/Composer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAqD,MAAM,OAAO,CAAC;AA8BhG,OAAO,KAAK,EAAE,yBAAyB,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAKvG,OAAO,kBAAkB,MAAM,6BAA6B,CAAC;AAC7D,OAAO,wBAAwB,MAAM,mCAAmC,CAAC;AACzE,OAAO,mCAAmC,MAAM,8CAA8C,CAAC;AAC/F,OAAO,oBAAoB,MAAM,+BAA+B,CAAC;AACjE,OAAO,gBAAgB,MAAM,2BAA2B,CAAC;AACzD,OAAO,oBAAoB,MAAM,+BAA+B,CAAC;AAOjE,OAAO,yBAAyB,MAAM,oCAAoC,CAAC;AAE3E,OAAO,gBAAgB,MAAM,2BAA2B,CAAC;AAOzD,OAAO,2BAAkE,MAAM,sCAAsC,CAAC;AACtH,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAC3C,OAAO,yBAAiE,MAAM,oCAAoC,CAAC;AACnH,OAAO,eAAe,MAAM,0BAA0B,CAAC;AAEvD,OAAO,yBAAyB,MAAM,oCAAoC,CAAC;AAmH3E,aAAK,iBAAiB,GAAG;IACvB,kBAAkB,CAAC,EAAE,SAAS,CAAC,kBAAkB,CAAC,CAAC;IACnD,wBAAwB,CAAC,EAAE,SAAS,CAAC,wBAAwB,CAAC,CAAC;IAC/D,mCAAmC,CAAC,EAAE,SAAS,CAAC,mCAAmC,CAAC,CAAC;IACrF,oBAAoB,CAAC,EAAE,SAAS,CAAC,oBAAoB,CAAC,CAAC;IACvD,gBAAgB,CAAC,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAC/C,oBAAoB,CAAC,EAAE,SAAS,CAAC,oBAAoB,CAAC,CAAC;IACvD,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,yBAAyB,CAAC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uBAAuB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IACrH,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,yBAAyB,CAAC,EAAE,SAAS,CAAC,yBAAyB,CAAC,CAAC;IACjE,qBAAqB,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAC;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,CAAC;IACzD,wBAAwB,CAAC,EAAE,gBAAgB,GAAG,CAAC,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,KAAK,gBAAgB,CAAC,CAAC;IAClH,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,mBAAmB,EAAE,OAAO,EAAE;;KAAA,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE;;KAAA,KAAK,MAAM,CAAC;IAC7G,2BAA2B,CAAC,EAAE,SAAS,CAAC,2BAA2B,CAAC,CAAC;IACrE,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,MAAM,CAAC,oBAAoB,EAAE,EAAE,QAAQ,EAAE,eAAe,KAAK,IAAI,CAAC;IAChG,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,eAAe,CAAC,EAAE,SAAS,CAAC,eAAe,CAAC,CAAC;IAC7C,yBAAyB,CAAC,EAAE,SAAS,CAAC,yBAAyB,CAAC,CAAC;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,2DAA2D;IAC3D,gBAAgB,CAAC,EAAE,GAAG,CAAC;IACvB,iEAAiE;IACjE,sBAAsB,CAAC,EAAE,GAAG,CAAC;IAC7B,6DAA6D;IAC7D,kBAAkB,CAAC,EAAE,GAAG,CAAC;IACzB,yDAAyD;IACzD,cAAc,CAAC,EAAE,GAAG,CAAC;IACrB,oEAAoE;IACpE,cAAc,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAClC,iEAAiE;IACjE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wDAAwD;IACxD,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,gEAAgE;IAChE,uBAAuB,CAAC,EAAE,GAAG,CAAC;CAC/B,CAAC;AAieF,aAAK,aAAa,GAAG,iBAAiB,GAAG;IACvC,sBAAsB,CAAC,EAAE,GAAG,CAAC;IAC7B,KAAK,CAAC,EAAE,GAAG,CAAC;CACb,CAAC;AAGF,QAAA,MAAM,QAAQ,EAAE,EAAE,CAAC,aAAa,CA6B/B,CAAC;AAcF,eAAe,QAAQ,CAAC;AAExB,YAAY,EAAE,aAAa,EAAE,CAAC"}
|
package/lib/hooks/Composer.js
CHANGED
|
@@ -77,11 +77,11 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
|
|
|
77
77
|
|
|
78
78
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
79
79
|
|
|
80
|
-
function _typeof(obj) { "@babel/helpers - typeof";
|
|
80
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
81
81
|
|
|
82
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
82
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
83
83
|
|
|
84
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
84
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
85
85
|
|
|
86
86
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
87
87
|
|
|
@@ -554,6 +554,8 @@ ComposerCore.propTypes = {
|
|
|
554
554
|
cardActionMiddleware: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.func), _propTypes.default.func]),
|
|
555
555
|
children: _propTypes.default.any,
|
|
556
556
|
dir: _propTypes.default.oneOf(['auto', 'ltr', 'rtl']),
|
|
557
|
+
// PropTypes.shape({ ... }) did not honor isRequired for its members.
|
|
558
|
+
// @ts-ignore
|
|
557
559
|
directLine: _propTypes.default.shape({
|
|
558
560
|
activity$: _propTypes.default.shape({
|
|
559
561
|
subscribe: _propTypes.default.func.isRequired
|
|
@@ -641,4 +643,4 @@ Composer.propTypes = {
|
|
|
641
643
|
};
|
|
642
644
|
var _default = Composer;
|
|
643
645
|
exports.default = _default;
|
|
644
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy9Db21wb3Nlci50c3giXSwibmFtZXMiOlsiRElTUEFUQ0hFUlMiLCJjbGVhclN1Z2dlc3RlZEFjdGlvbnMiLCJkaXNtaXNzTm90aWZpY2F0aW9uIiwiZW1pdFR5cGluZ0luZGljYXRvciIsIm1hcmtBY3Rpdml0eSIsInBvc3RBY3Rpdml0eSIsInNlbmRFdmVudCIsInNlbmRGaWxlcyIsInNlbmRNZXNzYWdlIiwic2VuZE1lc3NhZ2VCYWNrIiwic2VuZFBvc3RCYWNrIiwic2V0RGljdGF0ZUludGVyaW1zIiwic2V0RGljdGF0ZVN0YXRlIiwic2V0Tm90aWZpY2F0aW9uIiwic2V0U2VuZEJveCIsInNldFNlbmRUaW1lb3V0Iiwic3RhcnREaWN0YXRlIiwic3RhcnRTcGVha2luZ0FjdGl2aXR5Iiwic3RvcERpY3RhdGUiLCJzdG9wU3BlYWtpbmdBY3Rpdml0eSIsInN1Ym1pdFNlbmRCb3giLCJjcmVhdGVDYXJkQWN0aW9uQ29udGV4dCIsImNhcmRBY3Rpb25NaWRkbGV3YXJlIiwiZGlyZWN0TGluZSIsImRpc3BhdGNoIiwibWFya0FsbEFzQWNrbm93bGVkZ2VkIiwicnVuTWlkZGxld2FyZSIsImFwcGx5TWlkZGxld2FyZSIsIm9uQ2FyZEFjdGlvbiIsImNhcmRBY3Rpb24iLCJ0YXJnZXQiLCJnZXRTaWduSW5VcmwiLCJ0eXBlIiwidmFsdWUiLCJnZXRTZXNzaW9uSWQiLCJ0aGVuIiwic2Vzc2lvbklkIiwiZW5jb2RlVVJJQ29tcG9uZW50IiwiY29uc29sZSIsIndhcm4iLCJjcmVhdGVHcm91cEFjdGl2aXRpZXNDb250ZXh0IiwiZ3JvdXBBY3Rpdml0aWVzTWlkZGxld2FyZSIsImdyb3VwVGltZXN0YW1wIiwiZ3JvdXBBY3Rpdml0aWVzIiwibWVyZ2VTdHJpbmdzT3ZlcnJpZGVzIiwibG9jYWxpemVkU3RyaW5ncyIsImxhbmd1YWdlIiwib3ZlcnJpZGVMb2NhbGl6ZWRTdHJpbmdzIiwibWVyZ2VkIiwiRXJyb3IiLCJDb21wb3NlckNvcmUiLCJhY3Rpdml0eU1pZGRsZXdhcmUiLCJhY3Rpdml0eVJlbmRlcmVyIiwiYWN0aXZpdHlTdGF0dXNNaWRkbGV3YXJlIiwiYWN0aXZpdHlTdGF0dXNSZW5kZXJlciIsImF0dGFjaG1lbnRNaWRkbGV3YXJlIiwiYXR0YWNobWVudEZvclNjcmVlblJlYWRlck1pZGRsZXdhcmUiLCJhdHRhY2htZW50UmVuZGVyZXIiLCJhdmF0YXJNaWRkbGV3YXJlIiwiYXZhdGFyUmVuZGVyZXIiLCJjaGlsZHJlbiIsImRpciIsImRpc2FibGVkIiwiZG93bnNjYWxlSW1hZ2VUb0RhdGFVUkwiLCJncmFtbWFycyIsImludGVybmFsRXJyb3JCb3hDbGFzcyIsImxvY2FsZSIsIm9uVGVsZW1ldHJ5IiwicmVuZGVyTWFya2Rvd24iLCJzY3JvbGxUb0VuZEJ1dHRvbk1pZGRsZXdhcmUiLCJzZWxlY3RWb2ljZSIsInNlbmRUaW1lb3V0Iiwic2VuZFR5cGluZ0luZGljYXRvciIsInN0eWxlT3B0aW9ucyIsInRvYXN0TWlkZGxld2FyZSIsInRvYXN0UmVuZGVyZXIiLCJ0eXBpbmdJbmRpY2F0b3JNaWRkbGV3YXJlIiwidHlwaW5nSW5kaWNhdG9yUmVuZGVyZXIiLCJ1c2VySUQiLCJ1c2VybmFtZSIsInRlbGVtZXRyeURpbWVuc2lvbnNSZWYiLCJwYXRjaGVkRGlyIiwicGF0Y2hlZEdyYW1tYXJzIiwicGF0Y2hlZFN0eWxlT3B0aW9ucyIsImNhcmRBY3Rpb25Db250ZXh0IiwicGF0Y2hlZFNlbGVjdFZvaWNlIiwiZGVmYXVsdFNlbGVjdFZvaWNlIiwiYmluZCIsImdyb3VwQWN0aXZpdGllc0NvbnRleHQiLCJob2lzdGVkRGlzcGF0Y2hlcnMiLCJkaXNwYXRjaGVyIiwicGF0Y2hlZExvY2FsaXplZFN0cmluZ3MiLCJsb2NhbGl6ZWRHbG9iYWxpemUiLCJHTE9CQUxJWkUiLCJHTE9CQUxJWkVfTEFOR1VBR0UiLCJ0cmFja0RpbWVuc2lvbiIsIm5hbWUiLCJkYXRhIiwiY3VycmVudCIsInBhdGNoZWRBY3Rpdml0eVJlbmRlcmVyIiwiYXBwbHlNaWRkbGV3YXJlRm9yUmVuZGVyZXIiLCJzdHJpY3QiLCJhY3Rpdml0eSIsInBhdGNoZWRBY3Rpdml0eVN0YXR1c1JlbmRlcmVyIiwicGF0Y2hlZEF0dGFjaG1lbnRGb3JTY3JlZW5SZWFkZXJSZW5kZXJlciIsImF0dGFjaG1lbnQiLCJjb250ZW50VHlwZSIsInBhdGNoZWRBdHRhY2htZW50UmVuZGVyZXIiLCJhcHBseU1pZGRsZXdhcmVGb3JMZWdhY3lSZW5kZXJlciIsInBhdGNoZWRBdmF0YXJSZW5kZXJlciIsInBhdGNoZWRUb2FzdFJlbmRlcmVyIiwibm90aWZpY2F0aW9uIiwicGF0Y2hlZFR5cGluZ0luZGljYXRvclJlbmRlcmVyIiwic2Nyb2xsVG9FbmRCdXR0b25SZW5kZXJlciIsImNvbnRleHQiLCJhdHRhY2htZW50Rm9yU2NyZWVuUmVhZGVyUmVuZGVyZXIiLCJsb2NhbGl6ZWRHbG9iYWxpemVTdGF0ZSIsImRlZmF1bHRQcm9wcyIsInVuZGVmaW5lZCIsIndpbmRvdyIsIm5hdmlnYXRvciIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsIm9uZU9mVHlwZSIsImFycmF5T2YiLCJmdW5jIiwiYW55Iiwib25lT2YiLCJzaGFwZSIsImFjdGl2aXR5JCIsInN1YnNjcmliZSIsImlzUmVxdWlyZWQiLCJjb25uZWN0aW9uU3RhdHVzJCIsImVuZCIsInJlZmVyZW5jZUdyYW1tYXJJRCIsInN0cmluZyIsInRva2VuIiwiYm9vbCIsIm51bWJlciIsIkNvbXBvc2VyIiwiaW50ZXJuYWxSZW5kZXJFcnJvckJveCIsInN0b3JlIiwicHJvcHMiLCJlcnJvciIsInNldEVycm9yIiwiaGFuZGxlRXJyb3IiLCJmYXRhbCIsIm1lbW9pemVkU3RvcmUiLCJXZWJDaGF0UmVkdXhDb250ZXh0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBZ0NBOztBQUNBOztBQUNBOztBQU9BOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQU1BOztBQUVBOztBQUNBOztBQUVBOztBQU9BOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBO0FBQ0EsSUFBTUEsV0FBVyxHQUFHO0FBQ2xCQyxFQUFBQSxxQkFBcUIsRUFBckJBLDhDQURrQjtBQUVsQkMsRUFBQUEsbUJBQW1CLEVBQW5CQSw0Q0FGa0I7QUFHbEJDLEVBQUFBLG1CQUFtQixFQUFuQkEsNENBSGtCO0FBSWxCQyxFQUFBQSxZQUFZLEVBQVpBLHFDQUprQjtBQUtsQkMsRUFBQUEsWUFBWSxFQUFaQSxxQ0FMa0I7QUFNbEJDLEVBQUFBLFNBQVMsRUFBVEEsa0NBTmtCO0FBT2xCQyxFQUFBQSxTQUFTLEVBQVRBLGtDQVBrQjtBQVFsQkMsRUFBQUEsV0FBVyxFQUFYQSxvQ0FSa0I7QUFTbEJDLEVBQUFBLGVBQWUsRUFBZkEsd0NBVGtCO0FBVWxCQyxFQUFBQSxZQUFZLEVBQVpBLHFDQVZrQjtBQVdsQkMsRUFBQUEsa0JBQWtCLEVBQWxCQSwyQ0FYa0I7QUFZbEJDLEVBQUFBLGVBQWUsRUFBZkEsd0NBWmtCO0FBYWxCQyxFQUFBQSxlQUFlLEVBQWZBLHdDQWJrQjtBQWNsQkMsRUFBQUEsVUFBVSxFQUFWQSxtQ0Fka0I7QUFlbEJDLEVBQUFBLGNBQWMsRUFBZEEsdUNBZmtCO0FBZ0JsQkMsRUFBQUEsWUFBWSxFQUFaQSxxQ0FoQmtCO0FBaUJsQkMsRUFBQUEscUJBQXFCLEVBQXJCQSw4Q0FqQmtCO0FBa0JsQkMsRUFBQUEsV0FBVyxFQUFYQSxvQ0FsQmtCO0FBbUJsQkMsRUFBQUEsb0JBQW9CLEVBQXBCQSw2Q0FuQmtCO0FBb0JsQkMsRUFBQUEsYUFBYSxFQUFiQTtBQXBCa0IsQ0FBcEI7O0FBdUJBLFNBQVNDLHVCQUFULE9BQXdHO0FBQUEsTUFBckVDLG9CQUFxRSxRQUFyRUEsb0JBQXFFO0FBQUEsTUFBL0NDLFVBQStDLFFBQS9DQSxVQUErQztBQUFBLE1BQW5DQyxRQUFtQyxRQUFuQ0EsUUFBbUM7QUFBQSxNQUF6QkMscUJBQXlCLFFBQXpCQSxxQkFBeUI7O0FBQ3RHLE1BQU1DLGFBQWEsR0FBR0Msd0NBQ3BCLGFBRG9CLDRCQUVqQiw0Q0FBY0wsb0JBQWQsQ0FGaUIsSUFHcEIsaURBSG9CLElBSXBCO0FBQUVFLElBQUFBLFFBQVEsRUFBUkE7QUFBRixHQUpvQixDQUF0Qjs7QUFNQSxTQUFPO0FBQ0xJLElBQUFBLFlBQVksRUFBRSxzQkFBQ0MsVUFBRCxFQUFtRDtBQUFBLHNGQUFQLEVBQU87QUFBQSxVQUFwQ0MsTUFBb0MsU0FBcENBLE1BQW9DOztBQUMvREwsTUFBQUEscUJBQXFCO0FBRXJCLGFBQU9DLGFBQWEsQ0FBQztBQUNuQkcsUUFBQUEsVUFBVSxFQUFWQSxVQURtQjtBQUVuQkUsUUFBQUEsWUFBWSxFQUNWRixVQUFVLENBQUNHLElBQVgsS0FBb0IsUUFBcEIsR0FDSSxZQUFNO0FBQ0osY0FBUUMsS0FBUixHQUFrQkosVUFBbEIsQ0FBUUksS0FBUjs7QUFFQSxjQUFJVixVQUFVLENBQUNXLFlBQWYsRUFBNkI7QUFDM0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDa0IsbUJBQU8sa0NBQW9CWCxVQUFVLENBQUNXLFlBQVgsRUFBcEIsRUFBK0NDLElBQS9DLENBQ0wsVUFBQUMsU0FBUztBQUFBLCtCQUFPSCxLQUFQLFNBQWVJLGtCQUFrQiwyQkFBb0JELFNBQXBCLEVBQWpDO0FBQUEsYUFESixDQUFQO0FBR0Q7O0FBRURFLFVBQUFBLE9BQU8sQ0FBQ0MsSUFBUixDQUFhLDJFQUFiO0FBRUEsaUJBQU9OLEtBQVA7QUFDRCxTQWxCTCxHQW1CSSxJQXRCYTtBQXVCbkJILFFBQUFBLE1BQU0sRUFBTkE7QUF2Qm1CLE9BQUQsQ0FBcEI7QUF5QkQ7QUE3QkksR0FBUDtBQStCRDs7QUFFRCxTQUFTVSw0QkFBVCxRQUFxRjtBQUFBLE1BQTdDQyx5QkFBNkMsU0FBN0NBLHlCQUE2QztBQUFBLE1BQWxCQyxjQUFrQixTQUFsQkEsY0FBa0I7O0FBQ25GLE1BQU1oQixhQUFhLEdBQUdDLHdDQUNwQixrQkFEb0IsNEJBRWpCLDRDQUFjYyx5QkFBZCxDQUZpQixJQUdwQixxREFBdUM7QUFBRUMsSUFBQUEsY0FBYyxFQUFkQTtBQUFGLEdBQXZDLENBSG9CLEdBQXRCOztBQU1BLFNBQU87QUFDTEMsSUFBQUEsZUFBZSxFQUFFakIsYUFBYSxDQUFDLEVBQUQ7QUFEekIsR0FBUDtBQUdEOztBQUVELFNBQVNrQixxQkFBVCxDQUErQkMsZ0JBQS9CLEVBQWlEQyxRQUFqRCxFQUEyREMsd0JBQTNELEVBQXFGO0FBQ25GLE1BQUksQ0FBQ0Esd0JBQUwsRUFBK0I7QUFDN0IsV0FBT0YsZ0JBQVA7QUFDRCxHQUZELE1BRU8sSUFBSSxPQUFPRSx3QkFBUCxLQUFvQyxVQUF4QyxFQUFvRDtBQUN6RCxRQUFNQyxNQUFNLEdBQUdELHdCQUF3QixDQUFDRixnQkFBRCxFQUFtQkMsUUFBbkIsQ0FBdkM7O0FBRUEsUUFBSSxDQUFDLHVCQUFTRSxNQUFULENBQUwsRUFBdUI7QUFDckIsWUFBTSxJQUFJQyxLQUFKLENBQVUsZ0ZBQVYsQ0FBTjtBQUNEOztBQUVELFdBQU9ELE1BQVA7QUFDRDs7QUFFRCxNQUFJLENBQUMsdUJBQVNELHdCQUFULENBQUwsRUFBeUM7QUFDdkMsVUFBTSxJQUFJRSxLQUFKLENBQVUsZ0dBQVYsQ0FBTjtBQUNEOztBQUVELHlDQUFZSixnQkFBWixHQUFpQ0Usd0JBQWpDO0FBQ0QsQyxDQUVEO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7QUE4Q0E7QUFFQSxJQUFNRyxZQUFtQyxHQUFHLFNBQXRDQSxZQUFzQyxRQW1DdEM7QUFBQSxNQWxDSkMsa0JBa0NJLFNBbENKQSxrQkFrQ0k7QUFBQSxNQWpDSkMsZ0JBaUNJLFNBakNKQSxnQkFpQ0k7QUFBQSxNQWhDSkMsd0JBZ0NJLFNBaENKQSx3QkFnQ0k7QUFBQSxNQS9CSkMsc0JBK0JJLFNBL0JKQSxzQkErQkk7QUFBQSxNQTlCSkMsb0JBOEJJLFNBOUJKQSxvQkE4Qkk7QUFBQSxNQTdCSkMsbUNBNkJJLFNBN0JKQSxtQ0E2Qkk7QUFBQSxNQTVCSkMsa0JBNEJJLFNBNUJKQSxrQkE0Qkk7QUFBQSxNQTNCSkMsZ0JBMkJJLFNBM0JKQSxnQkEyQkk7QUFBQSxNQTFCSkMsY0EwQkksU0ExQkpBLGNBMEJJO0FBQUEsTUF6QkpyQyxvQkF5QkksU0F6QkpBLG9CQXlCSTtBQUFBLE1BeEJKc0MsUUF3QkksU0F4QkpBLFFBd0JJO0FBQUEsTUF2QkpDLEdBdUJJLFNBdkJKQSxHQXVCSTtBQUFBLE1BdEJKdEMsVUFzQkksU0F0QkpBLFVBc0JJO0FBQUEsTUFyQkp1QyxRQXFCSSxTQXJCSkEsUUFxQkk7QUFBQSxNQXBCSkMsdUJBb0JJLFNBcEJKQSx1QkFvQkk7QUFBQSxNQW5CSkMsUUFtQkksU0FuQkpBLFFBbUJJO0FBQUEsTUFsQkp2Qix5QkFrQkksU0FsQkpBLHlCQWtCSTtBQUFBLE1BakJKQyxjQWlCSSxTQWpCSkEsY0FpQkk7QUFBQSxNQWhCSnVCLHFCQWdCSSxTQWhCSkEscUJBZ0JJO0FBQUEsTUFmSkMsTUFlSSxTQWZKQSxNQWVJO0FBQUEsTUFkSkMsV0FjSSxTQWRKQSxXQWNJO0FBQUEsTUFiSnBCLHdCQWFJLFNBYkpBLHdCQWFJO0FBQUEsTUFaSnFCLGNBWUksU0FaSkEsY0FZSTtBQUFBLE1BWEpDLDJCQVdJLFNBWEpBLDJCQVdJO0FBQUEsTUFWSkMsV0FVSSxTQVZKQSxXQVVJO0FBQUEsTUFUSkMsV0FTSSxTQVRKQSxXQVNJO0FBQUEsTUFSSkMsbUJBUUksU0FSSkEsbUJBUUk7QUFBQSxNQVBKQyxZQU9JLFNBUEpBLFlBT0k7QUFBQSxNQU5KQyxlQU1JLFNBTkpBLGVBTUk7QUFBQSxNQUxKQyxhQUtJLFNBTEpBLGFBS0k7QUFBQSxNQUpKQyx5QkFJSSxTQUpKQSx5QkFJSTtBQUFBLE1BSEpDLHVCQUdJLFNBSEpBLHVCQUdJO0FBQUEsTUFGSkMsTUFFSSxTQUZKQSxNQUVJO0FBQUEsTUFESkMsUUFDSSxTQURKQSxRQUNJO0FBQ0osTUFBTXZELFFBQVEsR0FBRyx1Q0FBakI7QUFDQSxNQUFNd0Qsc0JBQXNCLEdBQUcsbUJBQU8sRUFBUCxDQUEvQjtBQUVBLE1BQU1DLFVBQVUsR0FBRyxvQkFBUTtBQUFBLFdBQU9wQixHQUFHLEtBQUssS0FBUixJQUFpQkEsR0FBRyxLQUFLLEtBQXpCLEdBQWlDQSxHQUFqQyxHQUF1QyxNQUE5QztBQUFBLEdBQVIsRUFBK0QsQ0FBQ0EsR0FBRCxDQUEvRCxDQUFuQjtBQUNBLE1BQU1xQixlQUFlLEdBQUcsb0JBQVE7QUFBQSxXQUFNbEIsUUFBUSxJQUFJLEVBQWxCO0FBQUEsR0FBUixFQUE4QixDQUFDQSxRQUFELENBQTlCLENBQXhCO0FBQ0EsTUFBTW1CLG1CQUFtQixHQUFHLG9CQUMxQjtBQUFBLFdBQU0sb0NBQXNCLG1EQUFxQ1YsWUFBckMsRUFBbUQ7QUFBRS9CLE1BQUFBLGNBQWMsRUFBZEEsY0FBRjtBQUFrQjZCLE1BQUFBLFdBQVcsRUFBWEE7QUFBbEIsS0FBbkQsQ0FBdEIsQ0FBTjtBQUFBLEdBRDBCLEVBRTFCLENBQUM3QixjQUFELEVBQWlCNkIsV0FBakIsRUFBOEJFLFlBQTlCLENBRjBCLENBQTVCO0FBS0Esd0JBQVUsWUFBTTtBQUNkakQsSUFBQUEsUUFBUSxDQUFDLDBDQUFZMEMsTUFBWixDQUFELENBQVI7QUFDRCxHQUZELEVBRUcsQ0FBQzFDLFFBQUQsRUFBVzBDLE1BQVgsQ0FGSDtBQUlBLHdCQUFVLFlBQU07QUFDZCxXQUFPSyxXQUFQLEtBQXVCLFFBQXZCLElBQW1DL0MsUUFBUSxDQUFDLDZDQUFlK0MsV0FBZixDQUFELENBQTNDO0FBQ0QsR0FGRCxFQUVHLENBQUMvQyxRQUFELEVBQVcrQyxXQUFYLENBRkg7QUFJQSx3QkFBVSxZQUFNO0FBQ2QvQyxJQUFBQSxRQUFRLENBQUMscURBQXVCLENBQUMsQ0FBQ2dELG1CQUF6QixDQUFELENBQVI7QUFDRCxHQUZELEVBRUcsQ0FBQ2hELFFBQUQsRUFBV2dELG1CQUFYLENBRkg7QUFJQSx3QkFBVSxZQUFNO0FBQ2RoRCxJQUFBQSxRQUFRLENBQ04sc0NBQW9CO0FBQ2xCRCxNQUFBQSxVQUFVLEVBQVZBLFVBRGtCO0FBRWxCdUQsTUFBQUEsTUFBTSxFQUFOQSxNQUZrQjtBQUdsQkMsTUFBQUEsUUFBUSxFQUFSQTtBQUhrQixLQUFwQixDQURNLENBQVI7QUFRQSxXQUFPLFlBQU07QUFDWDtBQUNOO0FBQ0E7QUFDTXZELE1BQUFBLFFBQVEsQ0FBQywwQ0FBRCxDQUFSO0FBQ0QsS0FMRDtBQU1ELEdBZkQsRUFlRyxDQUFDQSxRQUFELEVBQVdELFVBQVgsRUFBdUJ1RCxNQUF2QixFQUErQkMsUUFBL0IsQ0FmSDtBQWlCQSxNQUFNdEQscUJBQXFCLEdBQUcsd0NBQTlCO0FBRUEsTUFBTTJELGlCQUFpQixHQUFHLG9CQUN4QjtBQUFBLFdBQU0vRCx1QkFBdUIsQ0FBQztBQUFFQyxNQUFBQSxvQkFBb0IsRUFBcEJBLG9CQUFGO0FBQXdCQyxNQUFBQSxVQUFVLEVBQVZBLFVBQXhCO0FBQW9DQyxNQUFBQSxRQUFRLEVBQVJBLFFBQXBDO0FBQThDQyxNQUFBQSxxQkFBcUIsRUFBckJBO0FBQTlDLEtBQUQsQ0FBN0I7QUFBQSxHQUR3QixFQUV4QixDQUFDSCxvQkFBRCxFQUF1QkMsVUFBdkIsRUFBbUNDLFFBQW5DLEVBQTZDQyxxQkFBN0MsQ0FGd0IsQ0FBMUI7QUFLQSxNQUFNNEQsa0JBQWtCLEdBQUcsb0JBQ3pCO0FBQUEsV0FBTWYsV0FBVyxJQUFJZ0IsNEJBQW1CQyxJQUFuQixDQUF3QixJQUF4QixFQUE4QjtBQUFFekMsTUFBQUEsUUFBUSxFQUFFb0I7QUFBWixLQUE5QixDQUFyQjtBQUFBLEdBRHlCLEVBRXpCLENBQUNBLE1BQUQsRUFBU0ksV0FBVCxDQUZ5QixDQUEzQjtBQUtBLE1BQU1rQixzQkFBc0IsR0FBRyxvQkFDN0I7QUFBQSxXQUNFaEQsNEJBQTRCLENBQUM7QUFDM0JDLE1BQUFBLHlCQUF5QixFQUF6QkEseUJBRDJCO0FBRTNCQyxNQUFBQSxjQUFjLEVBQUV5QyxtQkFBbUIsQ0FBQ3pDO0FBRlQsS0FBRCxDQUQ5QjtBQUFBLEdBRDZCLEVBTTdCLENBQUNELHlCQUFELEVBQTRCMEMsbUJBQW1CLENBQUN6QyxjQUFoRCxDQU42QixDQUEvQjtBQVNBLE1BQU0rQyxrQkFBa0IsR0FBRyxvQkFDekI7QUFBQSxXQUNFLHFCQUNFekYsV0FERixFQUVFLFVBQUEwRixVQUFVO0FBQUEsYUFDUjtBQUFBLGVBQ0VsRSxRQUFRLENBQUNrRSxVQUFVLE1BQVYsbUJBQUQsQ0FEVjtBQUFBLE9BRFE7QUFBQSxLQUZaLENBREY7QUFBQSxHQUR5QixFQVF6QixDQUFDbEUsUUFBRCxDQVJ5QixDQUEzQjtBQVdBLE1BQU1tRSx1QkFBdUIsR0FBRyxvQkFDOUI7QUFBQSxXQUFNL0MscUJBQXFCLENBQUMsdUNBQXlCLGdDQUFrQnNCLE1BQWxCLENBQXpCLENBQUQsRUFBc0RBLE1BQXRELEVBQThEbkIsd0JBQTlELENBQTNCO0FBQUEsR0FEOEIsRUFFOUIsQ0FBQ21CLE1BQUQsRUFBU25CLHdCQUFULENBRjhCLENBQWhDO0FBS0EsTUFBTTZDLGtCQUFrQixHQUFHLG9CQUFrQyxZQUFNO0FBQ2pFLGdCQUEwQ0QsdUJBQXVCLElBQUksRUFBckU7QUFBQSxRQUFRRSxTQUFSLFNBQVFBLFNBQVI7QUFBQSxRQUFtQkMsa0JBQW5CLFNBQW1CQSxrQkFBbkI7O0FBRUEsV0FBT0QsU0FBUyxJQUFLQyxrQkFBa0IsSUFBSSxtQ0FBcUJBLGtCQUFyQixDQUFwQyxJQUFpRixtQ0FBcUIsSUFBckIsQ0FBeEY7QUFDRCxHQUowQixFQUl4QixDQUFDSCx1QkFBRCxDQUp3QixDQUEzQjtBQU1BLE1BQU1JLGNBQWMsR0FBRyx3QkFDckIsVUFBQ0MsSUFBRCxFQUFlQyxJQUFmLEVBQTZCO0FBQzNCLFFBQUksQ0FBQ0QsSUFBRCxJQUFTLE9BQU9BLElBQVAsS0FBZ0IsUUFBN0IsRUFBdUM7QUFDckMsYUFBTzFELE9BQU8sQ0FBQ0MsSUFBUixDQUFhLGtFQUFiLENBQVA7QUFDRDs7QUFFRCxRQUFNUCxJQUFJLFdBQVVpRSxJQUFWLENBQVY7O0FBRUEsUUFBSWpFLElBQUksS0FBSyxRQUFULElBQXFCQSxJQUFJLEtBQUssV0FBbEMsRUFBK0M7QUFDN0MsYUFBT00sT0FBTyxDQUFDQyxJQUFSLENBQWEsK0VBQWIsQ0FBUDtBQUNEOztBQUVEeUMsSUFBQUEsc0JBQXNCLENBQUNrQixPQUF2QixHQUFpQyw2QkFDL0JsQixzQkFBc0IsQ0FBQ2tCLE9BRFEsRUFFL0IsQ0FBQ0YsSUFBRCxDQUYrQixFQUcvQmhFLElBQUksS0FBSyxXQUFULEdBQXVCaUUsSUFBdkIsR0FBOEI7QUFBQSxhQUFNQSxJQUFOO0FBQUEsS0FIQyxDQUFqQztBQUtELEdBakJvQixFQWtCckIsQ0FBQ2pCLHNCQUFELENBbEJxQixDQUF2QjtBQXFCQSxNQUFNbUIsdUJBQXVCLEdBQUcsb0JBQVEsWUFBTTtBQUM1Qy9DLElBQUFBLGdCQUFnQixJQUNkZCxPQUFPLENBQUNDLElBQVIsQ0FDRSx3SEFERixDQURGO0FBS0EsV0FDRWEsZ0JBQWdCLElBQ2hCZ0QsNENBQ0UsVUFERixFQUVFO0FBQUVDLE1BQUFBLE1BQU0sRUFBRTtBQUFWLEtBRkYsNEJBR0ssNENBQWNsRCxrQkFBZCxDQUhMLElBSUU7QUFBQSxhQUNFO0FBQUEsZUFDQSxpQkFBa0I7QUFBQSxjQUFmbUQsUUFBZSxTQUFmQSxRQUFlOztBQUNoQixjQUFJQSxRQUFKLEVBQWM7QUFDWixrQkFBTSxJQUFJckQsS0FBSiw4Q0FBK0NxRCxRQUFRLENBQUN0RSxJQUF4RCxRQUFOO0FBQ0QsV0FGRCxNQUVPO0FBQ0wsa0JBQU0sSUFBSWlCLEtBQUosQ0FBVSx1QkFBVixDQUFOO0FBQ0Q7QUFDRixTQVBEO0FBQUEsT0FERjtBQUFBLEtBSkYsSUFhRSxFQWJGLENBRkY7QUFpQkQsR0F2QitCLEVBdUI3QixDQUFDRSxrQkFBRCxFQUFxQkMsZ0JBQXJCLENBdkI2QixDQUFoQztBQXlCQSxNQUFNbUQsNkJBQTZCLEdBQUcsb0JBQVEsWUFBTTtBQUNsRGpELElBQUFBLHNCQUFzQixJQUNwQmhCLE9BQU8sQ0FBQ0MsSUFBUixDQUNFLG9JQURGLENBREY7QUFLQSxXQUNFZSxzQkFBc0IsSUFDdEI4Qyw0Q0FDRSxpQkFERixFQUVFO0FBQUVDLE1BQUFBLE1BQU0sRUFBRTtBQUFWLEtBRkYsNEJBR0ssNENBQWNoRCx3QkFBZCxDQUhMLElBSUU7QUFBQSxhQUFNO0FBQUEsZUFBTTtBQUFBLGlCQUFNLEtBQU47QUFBQSxTQUFOO0FBQUEsT0FBTjtBQUFBLEtBSkYsSUFLRSxFQUxGLENBRkY7QUFTRCxHQWZxQyxFQWVuQyxDQUFDQSx3QkFBRCxFQUEyQkMsc0JBQTNCLENBZm1DLENBQXRDO0FBaUJBLE1BQU1rRCx3Q0FBd0MsR0FBRyxvQkFDL0M7QUFBQSxXQUNFSiw0Q0FDRSw4QkFERixFQUVFO0FBQUVDLE1BQUFBLE1BQU0sRUFBRTtBQUFWLEtBRkYsNEJBR0ssNENBQWM3QyxtQ0FBZCxDQUhMLElBSUU7QUFBQSxhQUNFO0FBQUEsZUFDQSxpQkFBb0I7QUFBQSxjQUFqQmlELFVBQWlCLFNBQWpCQSxVQUFpQjs7QUFDbEIsY0FBSUEsVUFBSixFQUFnQjtBQUNkbkUsWUFBQUEsT0FBTyxDQUFDQyxJQUFSLGtFQUFzRWtFLFVBQVUsQ0FBQ0MsV0FBakY7QUFDQSxtQkFBTyxLQUFQO0FBQ0Q7O0FBRUQsaUJBQU8sWUFBTTtBQUNYO0FBQ2Q7QUFDQTtBQUNjLGtCQUFNLElBQUl6RCxLQUFKLENBQVUseUJBQVYsQ0FBTjtBQUNELFdBTEQ7QUFNRCxTQWJEO0FBQUEsT0FERjtBQUFBLEtBSkYsSUFtQkUsRUFuQkYsQ0FERjtBQUFBLEdBRCtDLEVBc0IvQyxDQUFDTyxtQ0FBRCxDQXRCK0MsQ0FBakQ7QUF5QkEsTUFBTW1ELHlCQUF5QixHQUFHLG9CQUFRLFlBQU07QUFDOUMsUUFBSWxELGtCQUFKLEVBQXdCO0FBQ3RCbkIsTUFBQUEsT0FBTyxDQUFDQyxJQUFSLENBQ0UsNEhBREY7QUFJQSxhQUFPa0Isa0JBQVA7QUFDRCxLQVA2QyxDQVM5Qzs7O0FBQ0EsV0FBT21ELGtEQUNMLFlBREssNEJBRUYsNENBQWNyRCxvQkFBZCxDQUZFLElBR0w7QUFBQSxhQUNFO0FBQUEsZUFDQSxpQkFBb0I7QUFBQSxjQUFqQmtELFVBQWlCLFNBQWpCQSxVQUFpQjs7QUFDbEIsY0FBSUEsVUFBSixFQUFnQjtBQUNkLGtCQUFNLElBQUl4RCxLQUFKLGdEQUFpRHdELFVBQVUsQ0FBQ0MsV0FBNUQsUUFBTjtBQUNELFdBRkQsTUFFTztBQUNMLGtCQUFNLElBQUl6RCxLQUFKLENBQVUseUJBQVYsQ0FBTjtBQUNEO0FBQ0YsU0FQRDtBQUFBLE9BREY7QUFBQSxLQUhLLElBWUwsRUFaSyxDQUFQO0FBYUQsR0F2QmlDLEVBdUIvQixDQUFDTSxvQkFBRCxFQUF1QkUsa0JBQXZCLENBdkIrQixDQUFsQztBQXlCQSxNQUFNb0QscUJBQXFCLEdBQUcsb0JBQVEsWUFBTTtBQUMxQ2xELElBQUFBLGNBQWMsSUFDWnJCLE9BQU8sQ0FBQ0MsSUFBUixDQUNFLG9IQURGLENBREY7QUFLQSxXQUNFb0IsY0FBYyxJQUNkeUMsNENBQ0UsUUFERixFQUVFO0FBQUVDLE1BQUFBLE1BQU0sRUFBRTtBQUFWLEtBRkYsNEJBR0ssNENBQWMzQyxnQkFBZCxDQUhMLElBSUU7QUFBQSxhQUFNO0FBQUEsZUFBTTtBQUFBLGlCQUFNLEtBQU47QUFBQSxTQUFOO0FBQUEsT0FBTjtBQUFBLEtBSkYsSUFLRSxFQUxGLENBRkY7QUFTRCxHQWY2QixFQWUzQixDQUFDQSxnQkFBRCxFQUFtQkMsY0FBbkIsQ0FmMkIsQ0FBOUI7QUFpQkEsTUFBTW1ELG9CQUFvQixHQUFHLG9CQUFRLFlBQU07QUFDekNuQyxJQUFBQSxhQUFhLElBQ1hyQyxPQUFPLENBQUNDLElBQVIsQ0FDRSxrSEFERixDQURGO0FBS0EsV0FDRW9DLGFBQWEsSUFDYnlCLDRDQUNFLE9BREYsRUFFRTtBQUFFQyxNQUFBQSxNQUFNLEVBQUU7QUFBVixLQUZGLDRCQUdLLDRDQUFjM0IsZUFBZCxDQUhMLElBSUU7QUFBQSxhQUNFO0FBQUEsZUFDQSxpQkFBc0I7QUFBQSxjQUFuQnFDLFlBQW1CLFNBQW5CQSxZQUFtQjs7QUFDcEIsY0FBSUEsWUFBSixFQUFrQjtBQUNoQixrQkFBTSxJQUFJOUQsS0FBSixrREFBbUQ4RCxZQUFZLENBQUNMLFdBQWhFLFFBQU47QUFDRCxXQUZELE1BRU87QUFDTCxrQkFBTSxJQUFJekQsS0FBSixDQUFVLDJCQUFWLENBQU47QUFDRDtBQUNGLFNBUEQ7QUFBQSxPQURGO0FBQUEsS0FKRixJQWFFLEVBYkYsQ0FGRjtBQWlCRCxHQXZCNEIsRUF1QjFCLENBQUN5QixlQUFELEVBQWtCQyxhQUFsQixDQXZCMEIsQ0FBN0I7QUF5QkEsTUFBTXFDLDhCQUE4QixHQUFHLG9CQUFRLFlBQU07QUFDbkRuQyxJQUFBQSx1QkFBdUIsSUFDckJ2QyxPQUFPLENBQUNDLElBQVIsQ0FDRSxzSUFERixDQURGO0FBS0EsV0FDRXNDLHVCQUF1QixJQUN2QnVCLDRDQUNFLGtCQURGLEVBRUU7QUFBRUMsTUFBQUEsTUFBTSxFQUFFO0FBQVYsS0FGRiw0QkFHSyw0Q0FBY3pCLHlCQUFkLENBSEwsSUFJRTtBQUFBLGFBQU07QUFBQSxlQUFNO0FBQUEsaUJBQU0sS0FBTjtBQUFBLFNBQU47QUFBQSxPQUFOO0FBQUEsS0FKRixJQUtFLEVBTEYsQ0FGRjtBQVNELEdBZnNDLEVBZXBDLENBQUNBLHlCQUFELEVBQTRCQyx1QkFBNUIsQ0Fmb0MsQ0FBdkM7QUFpQkEsTUFBTW9DLHlCQUE0RCxHQUFHLG9CQUNuRTtBQUFBLFdBQ0ViLDRDQUNFLHNCQURGLEVBRUU7QUFBRUMsTUFBQUEsTUFBTSxFQUFFO0FBQVYsS0FGRiw0QkFHSyw0Q0FBY2hDLDJCQUFkLENBSEwsSUFJRTtBQUFBLGFBQU07QUFBQSxlQUFNO0FBQUEsaUJBQU0sS0FBTjtBQUFBLFNBQU47QUFBQSxPQUFOO0FBQUEsS0FKRixLQURGO0FBQUEsR0FEbUUsRUFRbkUsQ0FBQ0EsMkJBQUQsQ0FSbUUsQ0FBckU7QUFXQTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUNFLE1BQU02QyxPQUFPLEdBQUcsb0JBQ2Q7QUFBQSx1RUFDSzlCLGlCQURMLEdBRUtJLHNCQUZMLEdBR0tDLGtCQUhMO0FBSUVyQyxNQUFBQSxnQkFBZ0IsRUFBRStDLHVCQUpwQjtBQUtFN0MsTUFBQUEsc0JBQXNCLEVBQUVpRCw2QkFMMUI7QUFNRVksTUFBQUEsaUNBQWlDLEVBQUVYLHdDQU5yQztBQU9FL0MsTUFBQUEsa0JBQWtCLEVBQUVrRCx5QkFQdEI7QUFRRWhELE1BQUFBLGNBQWMsRUFBRWtELHFCQVJsQjtBQVNFaEQsTUFBQUEsR0FBRyxFQUFFb0IsVUFUUDtBQVVFMUQsTUFBQUEsVUFBVSxFQUFWQSxVQVZGO0FBV0V1QyxNQUFBQSxRQUFRLEVBQVJBLFFBWEY7QUFZRUMsTUFBQUEsdUJBQXVCLEVBQXZCQSx1QkFaRjtBQWFFQyxNQUFBQSxRQUFRLEVBQUVrQixlQWJaO0FBY0VqQixNQUFBQSxxQkFBcUIsRUFBckJBLHFCQWRGO0FBZUVuQixNQUFBQSxRQUFRLEVBQUVvQixNQWZaO0FBZ0JFa0QsTUFBQUEsdUJBQXVCLEVBQUUsQ0FBQ3hCLGtCQUFELENBaEIzQjtBQWlCRS9DLE1BQUFBLGdCQUFnQixFQUFFOEMsdUJBakJwQjtBQWtCRXhCLE1BQUFBLFdBQVcsRUFBWEEsV0FsQkY7QUFtQkVDLE1BQUFBLGNBQWMsRUFBZEEsY0FuQkY7QUFvQkU2QyxNQUFBQSx5QkFBeUIsRUFBekJBLHlCQXBCRjtBQXFCRTNDLE1BQUFBLFdBQVcsRUFBRWUsa0JBckJmO0FBc0JFYixNQUFBQSxtQkFBbUIsRUFBbkJBLG1CQXRCRjtBQXVCRUMsTUFBQUEsWUFBWSxFQUFFVSxtQkF2QmhCO0FBd0JFSCxNQUFBQSxzQkFBc0IsRUFBdEJBLHNCQXhCRjtBQXlCRUwsTUFBQUEsYUFBYSxFQUFFbUMsb0JBekJqQjtBQTBCRWYsTUFBQUEsY0FBYyxFQUFkQSxjQTFCRjtBQTJCRWxCLE1BQUFBLHVCQUF1QixFQUFFbUMsOEJBM0IzQjtBQTRCRWxDLE1BQUFBLE1BQU0sRUFBTkEsTUE1QkY7QUE2QkVDLE1BQUFBLFFBQVEsRUFBUkE7QUE3QkY7QUFBQSxHQURjLEVBZ0NkLENBQ0VLLGlCQURGLEVBRUU3RCxVQUZGLEVBR0V1QyxRQUhGLEVBSUVDLHVCQUpGLEVBS0V5QixzQkFMRixFQU1FQyxrQkFORixFQU9FeEIscUJBUEYsRUFRRUMsTUFSRixFQVNFMEIsa0JBVEYsRUFVRXpCLFdBVkYsRUFXRWdDLHVCQVhGLEVBWUVJLDZCQVpGLEVBYUVDLHdDQWJGLEVBY0VHLHlCQWRGLEVBZUVFLHFCQWZGLEVBZ0JFNUIsVUFoQkYsRUFpQkVDLGVBakJGLEVBa0JFUyx1QkFsQkYsRUFtQkVOLGtCQW5CRixFQW9CRUYsbUJBcEJGLEVBcUJFMkIsb0JBckJGLEVBc0JFRSw4QkF0QkYsRUF1QkU1QyxjQXZCRixFQXdCRTZDLHlCQXhCRixFQXlCRXpDLG1CQXpCRixFQTBCRVEsc0JBMUJGLEVBMkJFZSxjQTNCRixFQTRCRWpCLE1BNUJGLEVBNkJFQyxRQTdCRixDQWhDYyxDQUFoQjtBQWlFQSxzQkFDRSw2QkFBQywwQkFBRCxDQUFtQixRQUFuQjtBQUE0QixJQUFBLEtBQUssRUFBRW1DO0FBQW5DLEtBQ0csT0FBT3RELFFBQVAsS0FBb0IsVUFBcEIsR0FBaUNBLFFBQVEsQ0FBQ3NELE9BQUQsQ0FBekMsR0FBcUR0RCxRQUR4RCxFQUVHTyxXQUFXLGlCQUFJLDZCQUFDLGdCQUFELE9BRmxCLENBREY7QUFNRCxDQS9YRDtBQWlZQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNBakIsWUFBWSxDQUFDbUUsWUFBYixHQUE0QjtBQUMxQmxFLEVBQUFBLGtCQUFrQixFQUFFbUUsU0FETTtBQUUxQmxFLEVBQUFBLGdCQUFnQixFQUFFa0UsU0FGUTtBQUcxQmpFLEVBQUFBLHdCQUF3QixFQUFFaUUsU0FIQTtBQUkxQmhFLEVBQUFBLHNCQUFzQixFQUFFZ0UsU0FKRTtBQUsxQjlELEVBQUFBLG1DQUFtQyxFQUFFOEQsU0FMWDtBQU0xQi9ELEVBQUFBLG9CQUFvQixFQUFFK0QsU0FOSTtBQU8xQjdELEVBQUFBLGtCQUFrQixFQUFFNkQsU0FQTTtBQVExQjVELEVBQUFBLGdCQUFnQixFQUFFNEQsU0FSUTtBQVMxQjNELEVBQUFBLGNBQWMsRUFBRTJELFNBVFU7QUFVMUJoRyxFQUFBQSxvQkFBb0IsRUFBRWdHLFNBVkk7QUFXMUIxRCxFQUFBQSxRQUFRLEVBQUUwRCxTQVhnQjtBQVkxQnpELEVBQUFBLEdBQUcsRUFBRSxNQVpxQjtBQWExQkMsRUFBQUEsUUFBUSxFQUFFLEtBYmdCO0FBYzFCQyxFQUFBQSx1QkFBdUIsRUFBRXVELFNBZEM7QUFlMUJ0RCxFQUFBQSxRQUFRLEVBQUUsRUFmZ0I7QUFnQjFCdkIsRUFBQUEseUJBQXlCLEVBQUU2RSxTQWhCRDtBQWlCMUI1RSxFQUFBQSxjQUFjLEVBQUU0RSxTQWpCVTtBQWtCMUJyRCxFQUFBQSxxQkFBcUIsRUFBRXFELFNBbEJHO0FBbUIxQnBELEVBQUFBLE1BQU0sRUFBRXFELE1BQU0sQ0FBQ0MsU0FBUCxDQUFpQjFFLFFBQWpCLElBQTZCLE9BbkJYO0FBb0IxQnFCLEVBQUFBLFdBQVcsRUFBRW1ELFNBcEJhO0FBcUIxQnZFLEVBQUFBLHdCQUF3QixFQUFFdUUsU0FyQkE7QUFzQjFCbEQsRUFBQUEsY0FBYyxFQUFFa0QsU0F0QlU7QUF1QjFCakQsRUFBQUEsMkJBQTJCLEVBQUVpRCxTQXZCSDtBQXdCMUJoRCxFQUFBQSxXQUFXLEVBQUVnRCxTQXhCYTtBQXlCMUIvQyxFQUFBQSxXQUFXLEVBQUUrQyxTQXpCYTtBQTBCMUI5QyxFQUFBQSxtQkFBbUIsRUFBRSxLQTFCSztBQTJCMUJDLEVBQUFBLFlBQVksRUFBRSxFQTNCWTtBQTRCMUJDLEVBQUFBLGVBQWUsRUFBRTRDLFNBNUJTO0FBNkIxQjNDLEVBQUFBLGFBQWEsRUFBRTJDLFNBN0JXO0FBOEIxQjFDLEVBQUFBLHlCQUF5QixFQUFFMEMsU0E5QkQ7QUErQjFCekMsRUFBQUEsdUJBQXVCLEVBQUV5QyxTQS9CQztBQWdDMUJ4QyxFQUFBQSxNQUFNLEVBQUUsRUFoQ2tCO0FBaUMxQkMsRUFBQUEsUUFBUSxFQUFFO0FBakNnQixDQUE1QjtBQW9DQTdCLFlBQVksQ0FBQ3VFLFNBQWIsR0FBeUI7QUFDdkJ0RSxFQUFBQSxrQkFBa0IsRUFBRXVFLG1CQUFVQyxTQUFWLENBQW9CLENBQUNELG1CQUFVRSxPQUFWLENBQWtCRixtQkFBVUcsSUFBNUIsQ0FBRCxFQUFvQ0gsbUJBQVVHLElBQTlDLENBQXBCLENBREc7QUFFdkJ6RSxFQUFBQSxnQkFBZ0IsRUFBRXNFLG1CQUFVRyxJQUZMO0FBR3ZCeEUsRUFBQUEsd0JBQXdCLEVBQUVxRSxtQkFBVUMsU0FBVixDQUFvQixDQUFDRCxtQkFBVUUsT0FBVixDQUFrQkYsbUJBQVVHLElBQTVCLENBQUQsRUFBb0NILG1CQUFVRyxJQUE5QyxDQUFwQixDQUhIO0FBSXZCdkUsRUFBQUEsc0JBQXNCLEVBQUVvRSxtQkFBVUcsSUFKWDtBQUt2QnJFLEVBQUFBLG1DQUFtQyxFQUFFa0UsbUJBQVVDLFNBQVYsQ0FBb0IsQ0FBQ0QsbUJBQVVFLE9BQVYsQ0FBa0JGLG1CQUFVRyxJQUE1QixDQUFELEVBQW9DSCxtQkFBVUcsSUFBOUMsQ0FBcEIsQ0FMZDtBQU12QnRFLEVBQUFBLG9CQUFvQixFQUFFbUUsbUJBQVVDLFNBQVYsQ0FBb0IsQ0FBQ0QsbUJBQVVFLE9BQVYsQ0FBa0JGLG1CQUFVRyxJQUE1QixDQUFELEVBQW9DSCxtQkFBVUcsSUFBOUMsQ0FBcEIsQ0FOQztBQU92QnBFLEVBQUFBLGtCQUFrQixFQUFFaUUsbUJBQVVHLElBUFA7QUFRdkJuRSxFQUFBQSxnQkFBZ0IsRUFBRWdFLG1CQUFVQyxTQUFWLENBQW9CLENBQUNELG1CQUFVRSxPQUFWLENBQWtCRixtQkFBVUcsSUFBNUIsQ0FBRCxFQUFvQ0gsbUJBQVVHLElBQTlDLENBQXBCLENBUks7QUFTdkJsRSxFQUFBQSxjQUFjLEVBQUUrRCxtQkFBVUcsSUFUSDtBQVV2QnZHLEVBQUFBLG9CQUFvQixFQUFFb0csbUJBQVVDLFNBQVYsQ0FBb0IsQ0FBQ0QsbUJBQVVFLE9BQVYsQ0FBa0JGLG1CQUFVRyxJQUE1QixDQUFELEVBQW9DSCxtQkFBVUcsSUFBOUMsQ0FBcEIsQ0FWQztBQVd2QmpFLEVBQUFBLFFBQVEsRUFBRThELG1CQUFVSSxHQVhHO0FBWXZCakUsRUFBQUEsR0FBRyxFQUFFNkQsbUJBQVVLLEtBQVYsQ0FBZ0IsQ0FBQyxNQUFELEVBQVMsS0FBVCxFQUFnQixLQUFoQixDQUFoQixDQVprQjtBQWF2QnhHLEVBQUFBLFVBQVUsRUFBRW1HLG1CQUFVTSxLQUFWLENBQWdCO0FBQzFCQyxJQUFBQSxTQUFTLEVBQUVQLG1CQUFVTSxLQUFWLENBQWdCO0FBQ3pCRSxNQUFBQSxTQUFTLEVBQUVSLG1CQUFVRyxJQUFWLENBQWVNO0FBREQsS0FBaEIsRUFFUkEsVUFIdUI7QUFJMUJDLElBQUFBLGlCQUFpQixFQUFFVixtQkFBVU0sS0FBVixDQUFnQjtBQUNqQ0UsTUFBQUEsU0FBUyxFQUFFUixtQkFBVUcsSUFBVixDQUFlTTtBQURPLEtBQWhCLEVBRWhCQSxVQU51QjtBQU8xQkUsSUFBQUEsR0FBRyxFQUFFWCxtQkFBVUcsSUFQVztBQVExQjNGLElBQUFBLFlBQVksRUFBRXdGLG1CQUFVRyxJQVJFO0FBUzFCeEgsSUFBQUEsWUFBWSxFQUFFcUgsbUJBQVVHLElBQVYsQ0FBZU0sVUFUSDtBQVUxQkcsSUFBQUEsa0JBQWtCLEVBQUVaLG1CQUFVYSxNQVZKO0FBVzFCQyxJQUFBQSxLQUFLLEVBQUVkLG1CQUFVYTtBQVhTLEdBQWhCLEVBWVRKLFVBekJvQjtBQTBCdkJyRSxFQUFBQSxRQUFRLEVBQUU0RCxtQkFBVWUsSUExQkc7QUEyQnZCMUUsRUFBQUEsdUJBQXVCLEVBQUUyRCxtQkFBVUcsSUEzQlo7QUE0QnZCN0QsRUFBQUEsUUFBUSxFQUFFMEQsbUJBQVVFLE9BQVYsQ0FBa0JGLG1CQUFVYSxNQUE1QixDQTVCYTtBQTZCdkI5RixFQUFBQSx5QkFBeUIsRUFBRWlGLG1CQUFVQyxTQUFWLENBQW9CLENBQUNELG1CQUFVRSxPQUFWLENBQWtCRixtQkFBVUcsSUFBNUIsQ0FBRCxFQUFvQ0gsbUJBQVVHLElBQTlDLENBQXBCLENBN0JKO0FBOEJ2Qm5GLEVBQUFBLGNBQWMsRUFBRWdGLG1CQUFVQyxTQUFWLENBQW9CLENBQUNELG1CQUFVZSxJQUFYLEVBQWlCZixtQkFBVWdCLE1BQTNCLENBQXBCLENBOUJPO0FBK0J2QnpFLEVBQUFBLHFCQUFxQixFQUFFeUQsbUJBQVVHLElBL0JWO0FBK0JnQjtBQUN2QzNELEVBQUFBLE1BQU0sRUFBRXdELG1CQUFVYSxNQWhDSztBQWlDdkJwRSxFQUFBQSxXQUFXLEVBQUV1RCxtQkFBVUcsSUFqQ0E7QUFrQ3ZCOUUsRUFBQUEsd0JBQXdCLEVBQUUyRSxtQkFBVUMsU0FBVixDQUFvQixDQUFDRCxtQkFBVUksR0FBWCxFQUFnQkosbUJBQVVHLElBQTFCLENBQXBCLENBbENIO0FBbUN2QnpELEVBQUFBLGNBQWMsRUFBRXNELG1CQUFVRyxJQW5DSDtBQW9DdkJ4RCxFQUFBQSwyQkFBMkIsRUFBRXFELG1CQUFVQyxTQUFWLENBQW9CLENBQUNELG1CQUFVRSxPQUFWLENBQWtCRixtQkFBVUcsSUFBNUIsQ0FBRCxFQUFvQ0gsbUJBQVVHLElBQTlDLENBQXBCLENBcENOO0FBcUN2QnZELEVBQUFBLFdBQVcsRUFBRW9ELG1CQUFVRyxJQXJDQTtBQXNDdkJ0RCxFQUFBQSxXQUFXLEVBQUVtRCxtQkFBVWdCLE1BdENBO0FBdUN2QmxFLEVBQUFBLG1CQUFtQixFQUFFa0QsbUJBQVVlLElBdkNSO0FBd0N2QmhFLEVBQUFBLFlBQVksRUFBRWlELG1CQUFVSSxHQXhDRDtBQXlDdkJwRCxFQUFBQSxlQUFlLEVBQUVnRCxtQkFBVUMsU0FBVixDQUFvQixDQUFDRCxtQkFBVUUsT0FBVixDQUFrQkYsbUJBQVVHLElBQTVCLENBQUQsRUFBb0NILG1CQUFVRyxJQUE5QyxDQUFwQixDQXpDTTtBQTBDdkJsRCxFQUFBQSxhQUFhLEVBQUUrQyxtQkFBVUcsSUExQ0Y7QUEyQ3ZCakQsRUFBQUEseUJBQXlCLEVBQUU4QyxtQkFBVUMsU0FBVixDQUFvQixDQUFDRCxtQkFBVUUsT0FBVixDQUFrQkYsbUJBQVVHLElBQTVCLENBQUQsRUFBb0NILG1CQUFVRyxJQUE5QyxDQUFwQixDQTNDSjtBQTRDdkJoRCxFQUFBQSx1QkFBdUIsRUFBRTZDLG1CQUFVRyxJQTVDWjtBQTZDdkIvQyxFQUFBQSxNQUFNLEVBQUU0QyxtQkFBVWEsTUE3Q0s7QUE4Q3ZCeEQsRUFBQUEsUUFBUSxFQUFFMkMsbUJBQVVhO0FBOUNHLENBQXpCOztBQXNEQTtBQUNBLElBQU1JLFFBQTJCLEdBQUcsU0FBOUJBLFFBQThCLFNBQThEO0FBQUEsTUFBM0RDLHNCQUEyRCxVQUEzREEsc0JBQTJEO0FBQUEsTUFBbkN6RSxXQUFtQyxVQUFuQ0EsV0FBbUM7QUFBQSxNQUF0QjBFLEtBQXNCLFVBQXRCQSxLQUFzQjtBQUFBLE1BQVpDLEtBQVk7O0FBQ2hHLGtCQUEwQixzQkFBMUI7QUFBQTtBQUFBLE1BQU9DLEtBQVA7QUFBQSxNQUFjQyxRQUFkOztBQUVBLE1BQU1DLFdBQVcsR0FBRyx3QkFDbEIsVUFBQUYsS0FBSyxFQUFJO0FBQ1B6RyxJQUFBQSxPQUFPLENBQUN5RyxLQUFSLENBQWMsMENBQWQsRUFBMEQ7QUFBRUEsTUFBQUEsS0FBSyxFQUFMQTtBQUFGLEtBQTFEO0FBRUE1RSxJQUFBQSxXQUFXLElBQ1RBLFdBQVcsQ0FBQyxnQ0FBa0IsV0FBbEIsRUFBK0I7QUFBRTRFLE1BQUFBLEtBQUssRUFBTEEsS0FBRjtBQUFTRyxNQUFBQSxLQUFLLEVBQUU7QUFBaEIsS0FBL0IsQ0FBRCxDQURiO0FBRUFGLElBQUFBLFFBQVEsQ0FBQ0QsS0FBRCxDQUFSO0FBQ0QsR0FQaUIsRUFRbEIsQ0FBQzVFLFdBQUQsRUFBYzZFLFFBQWQsQ0FSa0IsQ0FBcEI7QUFXQSxNQUFNRyxhQUFhLEdBQUcsb0JBQVE7QUFBQSxXQUFNTixLQUFLLElBQUksMkNBQWY7QUFBQSxHQUFSLEVBQXNDLENBQUNBLEtBQUQsQ0FBdEMsQ0FBdEI7QUFFQSxTQUFPRSxLQUFLLEdBQ1YsQ0FBQyxDQUFDSCxzQkFBRixJQUE0QkEsc0JBQXNCLENBQUM7QUFBRUcsSUFBQUEsS0FBSyxFQUFMQSxLQUFGO0FBQVMvRyxJQUFBQSxJQUFJLEVBQUU7QUFBZixHQUFELENBRHhDLGdCQUdWLDZCQUFDLHNCQUFEO0FBQWUsSUFBQSxPQUFPLEVBQUVpSDtBQUF4QixrQkFDRSw2QkFBQyxvQkFBRDtBQUFVLElBQUEsT0FBTyxFQUFFRyw0QkFBbkI7QUFBd0MsSUFBQSxLQUFLLEVBQUVEO0FBQS9DLGtCQUNFLDZCQUFDLDhCQUFELHFCQUNFLDZCQUFDLHdDQUFELHFCQUNFLDZCQUFDLFlBQUQ7QUFBYyxJQUFBLFdBQVcsRUFBRWhGO0FBQTNCLEtBQTRDMkUsS0FBNUMsRUFERixDQURGLENBREYsQ0FERixDQUhGO0FBYUQsQ0E3QkQ7O0FBK0JBSCxRQUFRLENBQUN0QixZQUFULEdBQXdCO0FBQ3RCdUIsRUFBQUEsc0JBQXNCLEVBQUV0QixTQURGO0FBRXRCbkQsRUFBQUEsV0FBVyxFQUFFbUQsU0FGUztBQUd0QnVCLEVBQUFBLEtBQUssRUFBRXZCO0FBSGUsQ0FBeEI7QUFNQXFCLFFBQVEsQ0FBQ2xCLFNBQVQsR0FBcUI7QUFDbkJtQixFQUFBQSxzQkFBc0IsRUFBRWxCLG1CQUFVSSxHQURmO0FBRW5CM0QsRUFBQUEsV0FBVyxFQUFFdUQsbUJBQVVHLElBRko7QUFHbkJnQixFQUFBQSxLQUFLLEVBQUVuQixtQkFBVUk7QUFIRSxDQUFyQjtlQU1lYSxRIiwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm92aWRlciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgUmVhY3QsIHsgRkMsIFJlYWN0Tm9kZSwgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB1cGRhdGVJbiBmcm9tICdzaW1wbGUtdXBkYXRlLWluJztcblxuaW1wb3J0IHtcbiAgY2xlYXJTdWdnZXN0ZWRBY3Rpb25zLFxuICBjb25uZWN0IGFzIGNyZWF0ZUNvbm5lY3RBY3Rpb24sXG4gIGNyZWF0ZVN0b3JlLFxuICBEaXJlY3RMaW5lQWN0aXZpdHksXG4gIERpcmVjdExpbmVKU0JvdENvbm5lY3Rpb24sXG4gIGRpc2Nvbm5lY3QsXG4gIGRpc21pc3NOb3RpZmljYXRpb24sXG4gIGVtaXRUeXBpbmdJbmRpY2F0b3IsXG4gIG1hcmtBY3Rpdml0eSxcbiAgT25lT3JNYW55LFxuICBwb3N0QWN0aXZpdHksXG4gIHNlbmRFdmVudCxcbiAgc2VuZEZpbGVzLFxuICBzZW5kTWVzc2FnZSxcbiAgc2VuZE1lc3NhZ2VCYWNrLFxuICBzZW5kUG9zdEJhY2ssXG4gIHNldERpY3RhdGVJbnRlcmltcyxcbiAgc2V0RGljdGF0ZVN0YXRlLFxuICBzZXRMYW5ndWFnZSxcbiAgc2V0Tm90aWZpY2F0aW9uLFxuICBzZXRTZW5kQm94LFxuICBzZXRTZW5kVGltZW91dCxcbiAgc2V0U2VuZFR5cGluZ0luZGljYXRvcixcbiAgc2luZ2xlVG9BcnJheSxcbiAgc3RhcnREaWN0YXRlLFxuICBzdGFydFNwZWFraW5nQWN0aXZpdHksXG4gIHN0b3BEaWN0YXRlLFxuICBzdG9wU3BlYWtpbmdBY3Rpdml0eSxcbiAgc3VibWl0U2VuZEJveFxufSBmcm9tICdib3RmcmFtZXdvcmstd2ViY2hhdC1jb3JlJztcblxuaW1wb3J0IHsgZGVmYXVsdCBhcyBXZWJDaGF0QVBJQ29udGV4dCB9IGZyb20gJy4vaW50ZXJuYWwvV2ViQ2hhdEFQSUNvbnRleHQnO1xuaW1wb3J0IEFjdGl2aXR5QWNrbm93bGVkZ2VtZW50Q29tcG9zZXIgZnJvbSAnLi4vcHJvdmlkZXJzL0FjdGl2aXR5QWNrbm93bGVkZ2VtZW50L0FjdGl2aXR5QWNrbm93bGVkZ2VtZW50Q29tcG9zZXInO1xuaW1wb3J0IEFjdGl2aXR5S2V5ZXJDb21wb3NlciBmcm9tICcuLi9wcm92aWRlcnMvQWN0aXZpdHlLZXllci9BY3Rpdml0eUtleWVyQ29tcG9zZXInO1xuaW1wb3J0IEFjdGl2aXR5TWlkZGxld2FyZSBmcm9tICcuLi90eXBlcy9BY3Rpdml0eU1pZGRsZXdhcmUnO1xuaW1wb3J0IEFjdGl2aXR5U3RhdHVzTWlkZGxld2FyZSBmcm9tICcuLi90eXBlcy9BY3Rpdml0eVN0YXR1c01pZGRsZXdhcmUnO1xuaW1wb3J0IEF0dGFjaG1lbnRGb3JTY3JlZW5SZWFkZXJNaWRkbGV3YXJlIGZyb20gJy4uL3R5cGVzL0F0dGFjaG1lbnRGb3JTY3JlZW5SZWFkZXJNaWRkbGV3YXJlJztcbmltcG9ydCBBdHRhY2htZW50TWlkZGxld2FyZSBmcm9tICcuLi90eXBlcy9BdHRhY2htZW50TWlkZGxld2FyZSc7XG5pbXBvcnQgQXZhdGFyTWlkZGxld2FyZSBmcm9tICcuLi90eXBlcy9BdmF0YXJNaWRkbGV3YXJlJztcbmltcG9ydCBDYXJkQWN0aW9uTWlkZGxld2FyZSBmcm9tICcuLi90eXBlcy9DYXJkQWN0aW9uTWlkZGxld2FyZSc7XG5pbXBvcnQgY3JlYXRlQ3VzdG9tRXZlbnQgZnJvbSAnLi4vdXRpbHMvY3JlYXRlQ3VzdG9tRXZlbnQnO1xuaW1wb3J0IGNyZWF0ZURlZmF1bHRDYXJkQWN0aW9uTWlkZGxld2FyZSBmcm9tICcuL21pZGRsZXdhcmUvY3JlYXRlRGVmYXVsdENhcmRBY3Rpb25NaWRkbGV3YXJlJztcbmltcG9ydCBjcmVhdGVEZWZhdWx0R3JvdXBBY3Rpdml0aWVzTWlkZGxld2FyZSBmcm9tICcuL21pZGRsZXdhcmUvY3JlYXRlRGVmYXVsdEdyb3VwQWN0aXZpdGllc01pZGRsZXdhcmUnO1xuaW1wb3J0IGRlZmF1bHRTZWxlY3RWb2ljZSBmcm9tICcuL2ludGVybmFsL2RlZmF1bHRTZWxlY3RWb2ljZSc7XG5pbXBvcnQgRXJyb3JCb3VuZGFyeSBmcm9tICcuL3V0aWxzL0Vycm9yQm91bmRhcnknO1xuaW1wb3J0IGdldEFsbExvY2FsaXplZFN0cmluZ3MgZnJvbSAnLi4vbG9jYWxpemF0aW9uL2dldEFsbExvY2FsaXplZFN0cmluZ3MnO1xuaW1wb3J0IEdyb3VwQWN0aXZpdGllc01pZGRsZXdhcmUgZnJvbSAnLi4vdHlwZXMvR3JvdXBBY3Rpdml0aWVzTWlkZGxld2FyZSc7XG5pbXBvcnQgaXNPYmplY3QgZnJvbSAnLi4vdXRpbHMvaXNPYmplY3QnO1xuaW1wb3J0IExvY2FsaXplZFN0cmluZ3MgZnJvbSAnLi4vdHlwZXMvTG9jYWxpemVkU3RyaW5ncyc7XG5pbXBvcnQgbWFwTWFwIGZyb20gJy4uL3V0aWxzL21hcE1hcCc7XG5pbXBvcnQgbm9ybWFsaXplTGFuZ3VhZ2UgZnJvbSAnLi4vdXRpbHMvbm9ybWFsaXplTGFuZ3VhZ2UnO1xuaW1wb3J0IG5vcm1hbGl6ZVN0eWxlT3B0aW9ucyBmcm9tICcuLi9ub3JtYWxpemVTdHlsZU9wdGlvbnMnO1xuaW1wb3J0IG9ic2VydmFibGVUb1Byb21pc2UgZnJvbSAnLi91dGlscy9vYnNlcnZhYmxlVG9Qcm9taXNlJztcbmltcG9ydCBwYXRjaFN0eWxlT3B0aW9uc0Zyb21EZXByZWNhdGVkUHJvcHMgZnJvbSAnLi4vcGF0Y2hTdHlsZU9wdGlvbnNGcm9tRGVwcmVjYXRlZFByb3BzJztcbmltcG9ydCBQcmVjb21waWxlZEdsb2JhbGl6ZVR5cGUgZnJvbSAnLi4vdHlwZXMvUHJlY29tcGlsZWRHbG9iYWxpemUnO1xuaW1wb3J0IFNjcm9sbFRvRW5kQnV0dG9uTWlkZGxld2FyZSwgeyBTY3JvbGxUb0VuZEJ1dHRvbkNvbXBvbmVudEZhY3RvcnkgfSBmcm9tICcuLi90eXBlcy9TY3JvbGxUb0VuZEJ1dHRvbk1pZGRsZXdhcmUnO1xuaW1wb3J0IFN0eWxlT3B0aW9ucyBmcm9tICcuLi9TdHlsZU9wdGlvbnMnO1xuaW1wb3J0IFRlbGVtZXRyeU1lYXN1cmVtZW50RXZlbnQsIHsgVGVsZW1ldHJ5RXhjZXB0aW9uTWVhc3VyZW1lbnRFdmVudCB9IGZyb20gJy4uL3R5cGVzL1RlbGVtZXRyeU1lYXN1cmVtZW50RXZlbnQnO1xuaW1wb3J0IFRvYXN0TWlkZGxld2FyZSBmcm9tICcuLi90eXBlcy9Ub2FzdE1pZGRsZXdhcmUnO1xuaW1wb3J0IFRyYWNrZXIgZnJvbSAnLi9pbnRlcm5hbC9UcmFja2VyJztcbmltcG9ydCBUeXBpbmdJbmRpY2F0b3JNaWRkbGV3YXJlIGZyb20gJy4uL3R5cGVzL1R5cGluZ0luZGljYXRvck1pZGRsZXdhcmUnO1xuaW1wb3J0IHVzZU1hcmtBbGxBc0Fja25vd2xlZGdlZCBmcm9tICcuL3VzZU1hcmtBbGxBc0Fja25vd2xlZGdlZCc7XG5pbXBvcnQgV2ViQ2hhdFJlZHV4Q29udGV4dCwgeyB1c2VEaXNwYXRjaCB9IGZyb20gJy4vaW50ZXJuYWwvV2ViQ2hhdFJlZHV4Q29udGV4dCc7XG5cbmltcG9ydCBhcHBseU1pZGRsZXdhcmUsIHtcbiAgZm9yTGVnYWN5UmVuZGVyZXIgYXMgYXBwbHlNaWRkbGV3YXJlRm9yTGVnYWN5UmVuZGVyZXIsXG4gIGZvclJlbmRlcmVyIGFzIGFwcGx5TWlkZGxld2FyZUZvclJlbmRlcmVyXG59IGZyb20gJy4vbWlkZGxld2FyZS9hcHBseU1pZGRsZXdhcmUnO1xuXG4vLyBQcmVjb21waWxlR2xvYmFsaXplIGlzIGEgZ2VuZXJhdGVkIGZpbGUgYW5kIGlzIG5vdCBFUyBtb2R1bGUuIFR5cGVTY3JpcHQgZG9uJ3Qgd29yayB3aXRoIFVNRC5cbi8vIEB0cy1pZ25vcmVcbmltcG9ydCBQcmVjb21waWxlZEdsb2JhbGl6ZSBmcm9tICcuLi9leHRlcm5hbC9QcmVjb21waWxlZEdsb2JhbGl6ZSc7XG5cbi8vIExpc3Qgb2YgUmVkdXggYWN0aW9ucyBmYWN0b3J5IHdlIGFyZSBob2lzdGluZyBhcyBXZWIgQ2hhdCBmdW5jdGlvbnNcbmNvbnN0IERJU1BBVENIRVJTID0ge1xuICBjbGVhclN1Z2dlc3RlZEFjdGlvbnMsXG4gIGRpc21pc3NOb3RpZmljYXRpb24sXG4gIGVtaXRUeXBpbmdJbmRpY2F0b3IsXG4gIG1hcmtBY3Rpdml0eSxcbiAgcG9zdEFjdGl2aXR5LFxuICBzZW5kRXZlbnQsXG4gIHNlbmRGaWxlcyxcbiAgc2VuZE1lc3NhZ2UsXG4gIHNlbmRNZXNzYWdlQmFjayxcbiAgc2VuZFBvc3RCYWNrLFxuICBzZXREaWN0YXRlSW50ZXJpbXMsXG4gIHNldERpY3RhdGVTdGF0ZSxcbiAgc2V0Tm90aWZpY2F0aW9uLFxuICBzZXRTZW5kQm94LFxuICBzZXRTZW5kVGltZW91dCxcbiAgc3RhcnREaWN0YXRlLFxuICBzdGFydFNwZWFraW5nQWN0aXZpdHksXG4gIHN0b3BEaWN0YXRlLFxuICBzdG9wU3BlYWtpbmdBY3Rpdml0eSxcbiAgc3VibWl0U2VuZEJveFxufTtcblxuZnVuY3Rpb24gY3JlYXRlQ2FyZEFjdGlvbkNvbnRleHQoeyBjYXJkQWN0aW9uTWlkZGxld2FyZSwgZGlyZWN0TGluZSwgZGlzcGF0Y2gsIG1hcmtBbGxBc0Fja25vd2xlZGdlZCB9KSB7XG4gIGNvbnN0IHJ1bk1pZGRsZXdhcmUgPSBhcHBseU1pZGRsZXdhcmUoXG4gICAgJ2NhcmQgYWN0aW9uJyxcbiAgICAuLi5zaW5nbGVUb0FycmF5KGNhcmRBY3Rpb25NaWRkbGV3YXJlKSxcbiAgICBjcmVhdGVEZWZhdWx0Q2FyZEFjdGlvbk1pZGRsZXdhcmUoKVxuICApKHsgZGlzcGF0Y2ggfSk7XG5cbiAgcmV0dXJuIHtcbiAgICBvbkNhcmRBY3Rpb246IChjYXJkQWN0aW9uLCB7IHRhcmdldCB9OiB7IHRhcmdldD86IGFueSB9ID0ge30pID0+IHtcbiAgICAgIG1hcmtBbGxBc0Fja25vd2xlZGdlZCgpO1xuXG4gICAgICByZXR1cm4gcnVuTWlkZGxld2FyZSh7XG4gICAgICAgIGNhcmRBY3Rpb24sXG4gICAgICAgIGdldFNpZ25JblVybDpcbiAgICAgICAgICBjYXJkQWN0aW9uLnR5cGUgPT09ICdzaWduaW4nXG4gICAgICAgICAgICA/ICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IHZhbHVlIH0gPSBjYXJkQWN0aW9uO1xuXG4gICAgICAgICAgICAgICAgaWYgKGRpcmVjdExpbmUuZ2V0U2Vzc2lvbklkKSB7XG4gICAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgICAqIEB0b2RvIFRPRE86IFtQM10gV2Ugc2hvdWxkIGNoYW5nZSB0aGlzIG9uZSB0byBhc3luYy9hd2FpdC5cbiAgICAgICAgICAgICAgICAgICAqICAgICAgIFRoaXMgaXMgdGhlIGZpcnN0IHBsYWNlIGluIHRoaXMgcHJvamVjdCB0byB1c2UgYXN5bmMuXG4gICAgICAgICAgICAgICAgICAgKiAgICAgICBUaHVzLCB3ZSBuZWVkIHRvIGFkZCBAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1ydW50aW1lIGFuZCBAYmFiZWwvcnVudGltZS5cbiAgICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIG9ic2VydmFibGVUb1Byb21pc2UoZGlyZWN0TGluZS5nZXRTZXNzaW9uSWQoKSkudGhlbihcbiAgICAgICAgICAgICAgICAgICAgc2Vzc2lvbklkID0+IGAke3ZhbHVlfSR7ZW5jb2RlVVJJQ29tcG9uZW50KGAmY29kZV9jaGFsbGVuZ2U9JHtzZXNzaW9uSWR9YCl9YFxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oJ2JvdGZyYW1ld29yay13ZWJjaGF0OiBPQXV0aCBpcyBub3Qgc3VwcG9ydGVkIG9uIHRoaXMgRGlyZWN0IExpbmUgYWRhcHRlci4nKTtcblxuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgOiBudWxsLFxuICAgICAgICB0YXJnZXRcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlR3JvdXBBY3Rpdml0aWVzQ29udGV4dCh7IGdyb3VwQWN0aXZpdGllc01pZGRsZXdhcmUsIGdyb3VwVGltZXN0YW1wIH0pIHtcbiAgY29uc3QgcnVuTWlkZGxld2FyZSA9IGFwcGx5TWlkZGxld2FyZShcbiAgICAnZ3JvdXAgYWN0aXZpdGllcycsXG4gICAgLi4uc2luZ2xlVG9BcnJheShncm91cEFjdGl2aXRpZXNNaWRkbGV3YXJlKSxcbiAgICBjcmVhdGVEZWZhdWx0R3JvdXBBY3Rpdml0aWVzTWlkZGxld2FyZSh7IGdyb3VwVGltZXN0YW1wIH0pXG4gICk7XG5cbiAgcmV0dXJuIHtcbiAgICBncm91cEFjdGl2aXRpZXM6IHJ1bk1pZGRsZXdhcmUoe30pXG4gIH07XG59XG5cbmZ1bmN0aW9uIG1lcmdlU3RyaW5nc092ZXJyaWRlcyhsb2NhbGl6ZWRTdHJpbmdzLCBsYW5ndWFnZSwgb3ZlcnJpZGVMb2NhbGl6ZWRTdHJpbmdzKSB7XG4gIGlmICghb3ZlcnJpZGVMb2NhbGl6ZWRTdHJpbmdzKSB7XG4gICAgcmV0dXJuIGxvY2FsaXplZFN0cmluZ3M7XG4gIH0gZWxzZSBpZiAodHlwZW9mIG92ZXJyaWRlTG9jYWxpemVkU3RyaW5ncyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIGNvbnN0IG1lcmdlZCA9IG92ZXJyaWRlTG9jYWxpemVkU3RyaW5ncyhsb2NhbGl6ZWRTdHJpbmdzLCBsYW5ndWFnZSk7XG5cbiAgICBpZiAoIWlzT2JqZWN0KG1lcmdlZCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignYm90ZnJhbWV3b3JrLXdlYmNoYXQ6IG92ZXJyaWRlTG9jYWxpemVkU3RyaW5ncyBmdW5jdGlvbiBtdXN0IHJldHVybiBhbiBvYmplY3QuJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1lcmdlZDtcbiAgfVxuXG4gIGlmICghaXNPYmplY3Qob3ZlcnJpZGVMb2NhbGl6ZWRTdHJpbmdzKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignYm90ZnJhbWV3b3JrLXdlYmNoYXQ6IG92ZXJyaWRlTG9jYWxpemVkU3RyaW5ncyBtdXN0IGJlIGVpdGhlciBhIGZ1bmN0aW9uLCBhbiBvYmplY3QsIG9yIGZhbHN5LicpO1xuICB9XG5cbiAgcmV0dXJuIHsgLi4ubG9jYWxpemVkU3RyaW5ncywgLi4ub3ZlcnJpZGVMb2NhbGl6ZWRTdHJpbmdzIH07XG59XG5cbi8vIEl0IHNlZW1zIFwicmVhY3QvcmVxdWlyZS1kZWZhdWx0LXByb3BzXCIgZGlkIG5vdCBwaWNrIHVwIGBDb21wb3NlckNvcmUuZGVmYXVsdFByb3BzYC5cbi8vIEFuZCBpdCBmYWxzZWx5IGNvbXBsYWludCBgb3B0aW9uYWw/OiBzdHJpbmdgIG11c3QgaGF2ZSBhIGNvcnJlc3BvbmRpbmcgYENvbXBvc2VyQ29yZS5kZWZhdWx0UHJvcHMub3B0aW9uYWwgPSB1bmRlZmluZWRgLCBldmVuIHdlIGFscmVhZHkgc2V0IGl0IGJlbG93LlxuLy8gU2luY2Ugd2Ugc2V0IGJvdGggVHlwZVNjcmlwdCBgUHJvcHNgIGNsYXNzIGFuZCBgQ29tcG9zZXJDb3JlLnByb3BUeXBlc2AsIHRoaXMgY2hlY2sgd2lsbCBiZSBkb25lIHRoZXJlIGFzIHdlbGwuXG4vLyBJZ25vcmluZyBpdCBpbiBUeXBlU2NyaXB0IHZlcnNpb24gc2hvdWxkIGJlIHNhZmUsIGFzIHdlIGhhdmUgYHByb3BUeXBlc2AgdmVyc2lvbiB0byBwcm90ZWN0IHVzLlxuXG4vKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9yZXF1aXJlLWRlZmF1bHQtcHJvcHMgKi9cbnR5cGUgQ29tcG9zZXJDb3JlUHJvcHMgPSB7XG4gIGFjdGl2aXR5TWlkZGxld2FyZT86IE9uZU9yTWFueTxBY3Rpdml0eU1pZGRsZXdhcmU+O1xuICBhY3Rpdml0eVN0YXR1c01pZGRsZXdhcmU/OiBPbmVPck1hbnk8QWN0aXZpdHlTdGF0dXNNaWRkbGV3YXJlPjtcbiAgYXR0YWNobWVudEZvclNjcmVlblJlYWRlck1pZGRsZXdhcmU/OiBPbmVPck1hbnk8QXR0YWNobWVudEZvclNjcmVlblJlYWRlck1pZGRsZXdhcmU+O1xuICBhdHRhY2htZW50TWlkZGxld2FyZT86IE9uZU9yTWFueTxBdHRhY2htZW50TWlkZGxld2FyZT47XG4gIGF2YXRhck1pZGRsZXdhcmU/OiBPbmVPck1hbnk8QXZhdGFyTWlkZGxld2FyZT47XG4gIGNhcmRBY3Rpb25NaWRkbGV3YXJlPzogT25lT3JNYW55PENhcmRBY3Rpb25NaWRkbGV3YXJlPjtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG4gIGRpcj86IHN0cmluZztcbiAgZGlyZWN0TGluZTogRGlyZWN0TGluZUpTQm90Q29ubmVjdGlvbjtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICBkb3duc2NhbGVJbWFnZVRvRGF0YVVSTD86IChibG9iOiBCbG9iLCBtYXhXaWR0aDogbnVtYmVyLCBtYXhIZWlnaHQ6IG51bWJlciwgdHlwZTogc3RyaW5nLCBxdWFsaXR5OiBudW1iZXIpID0+IHN0cmluZztcbiAgZ3JhbW1hcnM/OiBhbnk7XG4gIGdyb3VwQWN0aXZpdGllc01pZGRsZXdhcmU/OiBPbmVPck1hbnk8R3JvdXBBY3Rpdml0aWVzTWlkZGxld2FyZT47XG4gIGludGVybmFsRXJyb3JCb3hDbGFzcz86IFJlYWN0LkNvbXBvbmVudCB8IEZ1bmN0aW9uO1xuICBsb2NhbGU/OiBzdHJpbmc7XG4gIG9uVGVsZW1ldHJ5PzogKGV2ZW50OiBUZWxlbWV0cnlNZWFzdXJlbWVudEV2ZW50KSA9PiB2b2lkO1xuICBvdmVycmlkZUxvY2FsaXplZFN0cmluZ3M/OiBMb2NhbGl6ZWRTdHJpbmdzIHwgKChzdHJpbmdzOiBMb2NhbGl6ZWRTdHJpbmdzLCBsYW5ndWFnZTogc3RyaW5nKSA9PiBMb2NhbGl6ZWRTdHJpbmdzKTtcbiAgcmVuZGVyTWFya2Rvd24/OiAobWFya2Rvd246IHN0cmluZywgeyBtYXJrZG93blJlc3BlY3RDUkxGOiBib29sZWFuIH0sIHsgZXh0ZXJuYWxMaW5rQWx0OiBzdHJpbmcgfSkgPT4gc3RyaW5nO1xuICBzY3JvbGxUb0VuZEJ1dHRvbk1pZGRsZXdhcmU/OiBPbmVPck1hbnk8U2Nyb2xsVG9FbmRCdXR0b25NaWRkbGV3YXJlPjtcbiAgc2VsZWN0Vm9pY2U/OiAodm9pY2VzOiB0eXBlb2Ygd2luZG93LlNwZWVjaFN5bnRoZXNpc1ZvaWNlW10sIGFjdGl2aXR5OiBEaXJlY3RMaW5lQWN0aXZpdHkpID0+IHZvaWQ7XG4gIHNlbmRUeXBpbmdJbmRpY2F0b3I/OiBib29sZWFuO1xuICBzdHlsZU9wdGlvbnM/OiBTdHlsZU9wdGlvbnM7XG4gIHRvYXN0TWlkZGxld2FyZT86IE9uZU9yTWFueTxUb2FzdE1pZGRsZXdhcmU+O1xuICB0eXBpbmdJbmRpY2F0b3JNaWRkbGV3YXJlPzogT25lT3JNYW55PFR5cGluZ0luZGljYXRvck1pZGRsZXdhcmU+O1xuICB1c2VySUQ/OiBzdHJpbmc7XG4gIHVzZXJuYW1lPzogc3RyaW5nO1xuXG4gIC8qKiBAZGVwcmVjYXRlZCBQbGVhc2UgdXNlIFwiYWN0aXZpdHlNaWRkbGV3YXJlXCIgaW5zdGVhZC4gKi9cbiAgYWN0aXZpdHlSZW5kZXJlcj86IGFueTsgLy8gVE9ETzogW1A0XSBSZW1vdmUgb24gb3IgYWZ0ZXIgMjAyMi0wNi0xNS5cbiAgLyoqIEBkZXByZWNhdGVkIFBsZWFzZSB1c2UgXCJhY3Rpdml0eVN0YXR1c01pZGRsZXdhcmVcIiBpbnN0ZWFkLiAqL1xuICBhY3Rpdml0eVN0YXR1c1JlbmRlcmVyPzogYW55OyAvLyBUT0RPOiBbUDRdIFJlbW92ZSBvbiBvciBhZnRlciAyMDIyLTA2LTE1LlxuICAvKiogQGRlcHJlY2F0ZWQgUGxlYXNlIHVzZSBcImF0dGFjaG1lbnRNaWRkbGV3YXJlXCIgaW5zdGVhZC4gKi9cbiAgYXR0YWNobWVudFJlbmRlcmVyPzogYW55OyAvLyBUT0RPOiBbUDRdIFJlbW92ZSBvbiBvciBhZnRlciAyMDIyLTA2LTE1LlxuICAvKiogQGRlcHJlY2F0ZWQgUGxlYXNlIHVzZSBcImF2YXRhck1pZGRsZXdhcmVcIiBpbnN0ZWFkLiAqL1xuICBhdmF0YXJSZW5kZXJlcj86IGFueTsgLy8gVE9ETzogW1A0XSBSZW1vdmUgb24gb3IgYWZ0ZXIgMjAyMi0wNi0xNS5cbiAgLyoqIEBkZXByZWNhdGVkIFBsZWFzZSB1c2UgXCJzdHlsZU9wdGlvbnMuZ3JvdXBUaW1lc3RhbXBcIiBpbnN0ZWFkLiAqL1xuICBncm91cFRpbWVzdGFtcD86IGJvb2xlYW4gfCBudW1iZXI7IC8vIFRPRE86IFtQNF0gUmVtb3ZlIG9uIG9yIGFmdGVyIDIwMjItMDEtMDFcbiAgLyoqIEBkZXByZWNhdGVkIFBsZWFzZSB1c2UgXCJzdHlsZU9wdGlvbnMuc2VuZFRpbWVvdXRcIiBpbnN0ZWFkLiAqL1xuICBzZW5kVGltZW91dD86IG51bWJlcjsgLy8gVE9ETzogW1A0XSBSZW1vdmUgb24gb3IgYWZ0ZXIgMjAyMi0wMS0wMS5cbiAgLyoqIEBkZXByZWNhdGVkIFBsZWFzZSB1c2UgXCJ0b2FzdE1pZGRsZXdhcmVcIiBpbnN0ZWFkLiAqL1xuICB0b2FzdFJlbmRlcmVyPzogYW55OyAvLyBUT0RPOiBbUDRdIFJlbW92ZSBvbiBvciBhZnRlciAyMDIyLTA2LTE1LlxuICAvKiogQGRlcHJlY2F0ZWQgUGxlYXNlIHVzZSBcInR5cGluZ0luZGljYXRvclJlbmRlcmVyXCIgaW5zdGVhZC4gKi9cbiAgdHlwaW5nSW5kaWNhdG9yUmVuZGVyZXI/OiBhbnk7IC8vIFRPRE86IFtQNF0gUmVtb3ZlIG9uIG9yIGFmdGVyIDIwMjItMDYtMTUuXG59O1xuLyogZXNsaW50LWVuYWJsZSByZWFjdC9yZXF1aXJlLWRlZmF1bHQtcHJvcHMgKi9cblxuY29uc3QgQ29tcG9zZXJDb3JlOiBGQzxDb21wb3NlckNvcmVQcm9wcz4gPSAoe1xuICBhY3Rpdml0eU1pZGRsZXdhcmUsXG4gIGFjdGl2aXR5UmVuZGVyZXIsXG4gIGFjdGl2aXR5U3RhdHVzTWlkZGxld2FyZSxcbiAgYWN0aXZpdHlTdGF0dXNSZW5kZXJlcixcbiAgYXR0YWNobWVudE1pZGRsZXdhcmUsXG4gIGF0dGFjaG1lbnRGb3JTY3JlZW5SZWFkZXJNaWRkbGV3YXJlLFxuICBhdHRhY2htZW50UmVuZGVyZXIsXG4gIGF2YXRhck1pZGRsZXdhcmUsXG4gIGF2YXRhclJlbmRlcmVyLFxuICBjYXJkQWN0aW9uTWlkZGxld2FyZSxcbiAgY2hpbGRyZW4sXG4gIGRpcixcbiAgZGlyZWN0TGluZSxcbiAgZGlzYWJsZWQsXG4gIGRvd25zY2FsZUltYWdlVG9EYXRhVVJMLFxuICBncmFtbWFycyxcbiAgZ3JvdXBBY3Rpdml0aWVzTWlkZGxld2FyZSxcbiAgZ3JvdXBUaW1lc3RhbXAsXG4gIGludGVybmFsRXJyb3JCb3hDbGFzcyxcbiAgbG9jYWxlLFxuICBvblRlbGVtZXRyeSxcbiAgb3ZlcnJpZGVMb2NhbGl6ZWRTdHJpbmdzLFxuICByZW5kZXJNYXJrZG93bixcbiAgc2Nyb2xsVG9FbmRCdXR0b25NaWRkbGV3YXJlLFxuICBzZWxlY3RWb2ljZSxcbiAgc2VuZFRpbWVvdXQsXG4gIHNlbmRUeXBpbmdJbmRpY2F0b3IsXG4gIHN0eWxlT3B0aW9ucyxcbiAgdG9hc3RNaWRkbGV3YXJlLFxuICB0b2FzdFJlbmRlcmVyLFxuICB0eXBpbmdJbmRpY2F0b3JNaWRkbGV3YXJlLFxuICB0eXBpbmdJbmRpY2F0b3JSZW5kZXJlcixcbiAgdXNlcklELFxuICB1c2VybmFtZVxufSkgPT4ge1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IHRlbGVtZXRyeURpbWVuc2lvbnNSZWYgPSB1c2VSZWYoe30pO1xuXG4gIGNvbnN0IHBhdGNoZWREaXIgPSB1c2VNZW1vKCgpID0+IChkaXIgPT09ICdsdHInIHx8IGRpciA9PT0gJ3J0bCcgPyBkaXIgOiAnYXV0bycpLCBbZGlyXSk7XG4gIGNvbnN0IHBhdGNoZWRHcmFtbWFycyA9IHVzZU1lbW8oKCkgPT4gZ3JhbW1hcnMgfHwgW10sIFtncmFtbWFyc10pO1xuICBjb25zdCBwYXRjaGVkU3R5bGVPcHRpb25zID0gdXNlTWVtbyhcbiAgICAoKSA9PiBub3JtYWxpemVTdHlsZU9wdGlvbnMocGF0Y2hTdHlsZU9wdGlvbnNGcm9tRGVwcmVjYXRlZFByb3BzKHN0eWxlT3B0aW9ucywgeyBncm91cFRpbWVzdGFtcCwgc2VuZFRpbWVvdXQgfSkpLFxuICAgIFtncm91cFRpbWVzdGFtcCwgc2VuZFRpbWVvdXQsIHN0eWxlT3B0aW9uc11cbiAgKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGRpc3BhdGNoKHNldExhbmd1YWdlKGxvY2FsZSkpO1xuICB9LCBbZGlzcGF0Y2gsIGxvY2FsZV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgdHlwZW9mIHNlbmRUaW1lb3V0ID09PSAnbnVtYmVyJyAmJiBkaXNwYXRjaChzZXRTZW5kVGltZW91dChzZW5kVGltZW91dCkpO1xuICB9LCBbZGlzcGF0Y2gsIHNlbmRUaW1lb3V0XSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBkaXNwYXRjaChzZXRTZW5kVHlwaW5nSW5kaWNhdG9yKCEhc2VuZFR5cGluZ0luZGljYXRvcikpO1xuICB9LCBbZGlzcGF0Y2gsIHNlbmRUeXBpbmdJbmRpY2F0b3JdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGRpc3BhdGNoKFxuICAgICAgY3JlYXRlQ29ubmVjdEFjdGlvbih7XG4gICAgICAgIGRpcmVjdExpbmUsXG4gICAgICAgIHVzZXJJRCxcbiAgICAgICAgdXNlcm5hbWVcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAvKipcbiAgICAgICAqIEB0b2RvIFRPRE86IFtQM10gZGlzY29ubmVjdCgpIGlzIGFuIGFzeW5jIGNhbGwgKHBlbmRpbmcgLT4gZnVsZmlsbGVkKSwgd2UgbmVlZCB0byB3YWl0LCBvciBjaGFuZ2UgaXQgdG8gcmVjb25uZWN0KClcbiAgICAgICAqL1xuICAgICAgZGlzcGF0Y2goZGlzY29ubmVjdCgpKTtcbiAgICB9O1xuICB9LCBbZGlzcGF0Y2gsIGRpcmVjdExpbmUsIHVzZXJJRCwgdXNlcm5hbWVdKTtcblxuICBjb25zdCBtYXJrQWxsQXNBY2tub3dsZWRnZWQgPSB1c2VNYXJrQWxsQXNBY2tub3dsZWRnZWQoKTtcblxuICBjb25zdCBjYXJkQWN0aW9uQ29udGV4dCA9IHVzZU1lbW8oXG4gICAgKCkgPT4gY3JlYXRlQ2FyZEFjdGlvbkNvbnRleHQoeyBjYXJkQWN0aW9uTWlkZGxld2FyZSwgZGlyZWN0TGluZSwgZGlzcGF0Y2gsIG1hcmtBbGxBc0Fja25vd2xlZGdlZCB9KSxcbiAgICBbY2FyZEFjdGlvbk1pZGRsZXdhcmUsIGRpcmVjdExpbmUsIGRpc3BhdGNoLCBtYXJrQWxsQXNBY2tub3dsZWRnZWRdXG4gICk7XG5cbiAgY29uc3QgcGF0Y2hlZFNlbGVjdFZvaWNlID0gdXNlTWVtbyhcbiAgICAoKSA9PiBzZWxlY3RWb2ljZSB8fCBkZWZhdWx0U2VsZWN0Vm9pY2UuYmluZChudWxsLCB7IGxhbmd1YWdlOiBsb2NhbGUgfSksXG4gICAgW2xvY2FsZSwgc2VsZWN0Vm9pY2VdXG4gICk7XG5cbiAgY29uc3QgZ3JvdXBBY3Rpdml0aWVzQ29udGV4dCA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIGNyZWF0ZUdyb3VwQWN0aXZpdGllc0NvbnRleHQoe1xuICAgICAgICBncm91cEFjdGl2aXRpZXNNaWRkbGV3YXJlLFxuICAgICAgICBncm91cFRpbWVzdGFtcDogcGF0Y2hlZFN0eWxlT3B0aW9ucy5ncm91cFRpbWVzdGFtcFxuICAgICAgfSksXG4gICAgW2dyb3VwQWN0aXZpdGllc01pZGRsZXdhcmUsIHBhdGNoZWRTdHlsZU9wdGlvbnMuZ3JvdXBUaW1lc3RhbXBdXG4gICk7XG5cbiAgY29uc3QgaG9pc3RlZERpc3BhdGNoZXJzID0gdXNlTWVtbyhcbiAgICAoKSA9PlxuICAgICAgbWFwTWFwKFxuICAgICAgICBESVNQQVRDSEVSUyxcbiAgICAgICAgZGlzcGF0Y2hlciA9PlxuICAgICAgICAgICguLi5hcmdzKSA9PlxuICAgICAgICAgICAgZGlzcGF0Y2goZGlzcGF0Y2hlciguLi5hcmdzKSlcbiAgICAgICksXG4gICAgW2Rpc3BhdGNoXVxuICApO1xuXG4gIGNvbnN0IHBhdGNoZWRMb2NhbGl6ZWRTdHJpbmdzID0gdXNlTWVtbyhcbiAgICAoKSA9PiBtZXJnZVN0cmluZ3NPdmVycmlkZXMoZ2V0QWxsTG9jYWxpemVkU3RyaW5ncygpW25vcm1hbGl6ZUxhbmd1YWdlKGxvY2FsZSldLCBsb2NhbGUsIG92ZXJyaWRlTG9jYWxpemVkU3RyaW5ncyksXG4gICAgW2xvY2FsZSwgb3ZlcnJpZGVMb2NhbGl6ZWRTdHJpbmdzXVxuICApO1xuXG4gIGNvbnN0IGxvY2FsaXplZEdsb2JhbGl6ZSA9IHVzZU1lbW88UHJlY29tcGlsZWRHbG9iYWxpemVUeXBlPigoKSA9PiB7XG4gICAgY29uc3QgeyBHTE9CQUxJWkUsIEdMT0JBTElaRV9MQU5HVUFHRSB9ID0gcGF0Y2hlZExvY2FsaXplZFN0cmluZ3MgfHwge307XG5cbiAgICByZXR1cm4gR0xPQkFMSVpFIHx8IChHTE9CQUxJWkVfTEFOR1VBR0UgJiYgUHJlY29tcGlsZWRHbG9iYWxpemUoR0xPQkFMSVpFX0xBTkdVQUdFKSkgfHwgUHJlY29tcGlsZWRHbG9iYWxpemUoJ2VuJyk7XG4gIH0sIFtwYXRjaGVkTG9jYWxpemVkU3RyaW5nc10pO1xuXG4gIGNvbnN0IHRyYWNrRGltZW5zaW9uID0gdXNlQ2FsbGJhY2soXG4gICAgKG5hbWU6IHN0cmluZywgZGF0YTogYW55KSA9PiB7XG4gICAgICBpZiAoIW5hbWUgfHwgdHlwZW9mIG5hbWUgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHJldHVybiBjb25zb2xlLndhcm4oJ2JvdGZyYW1ld29yay13ZWJjaGF0OiBUZWxlbWV0cnkgZGltZW5zaW9uIG5hbWUgbXVzdCBiZSBhIHN0cmluZy4nKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgdHlwZSA9IHR5cGVvZiBkYXRhO1xuXG4gICAgICBpZiAodHlwZSAhPT0gJ3N0cmluZycgJiYgdHlwZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgcmV0dXJuIGNvbnNvbGUud2FybignYm90ZnJhbWV3b3JrLXdlYmNoYXQ6IFRlbGVtZXRyeSBkaW1lbnNpb24gZGF0YSBtdXN0IGJlIGEgc3RyaW5nIG9yIHVuZGVmaW5lZC4nKTtcbiAgICAgIH1cblxuICAgICAgdGVsZW1ldHJ5RGltZW5zaW9uc1JlZi5jdXJyZW50ID0gdXBkYXRlSW4oXG4gICAgICAgIHRlbGVtZXRyeURpbWVuc2lvbnNSZWYuY3VycmVudCxcbiAgICAgICAgW25hbWVdLFxuICAgICAgICB0eXBlID09PSAndW5kZWZpbmVkJyA/IGRhdGEgOiAoKSA9PiBkYXRhXG4gICAgICApO1xuICAgIH0sXG4gICAgW3RlbGVtZXRyeURpbWVuc2lvbnNSZWZdXG4gICk7XG5cbiAgY29uc3QgcGF0Y2hlZEFjdGl2aXR5UmVuZGVyZXIgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBhY3Rpdml0eVJlbmRlcmVyICYmXG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICdXZWIgQ2hhdDogXCJhY3Rpdml0eVJlbmRlcmVyXCIgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIG9uIDIwMjItMDYtMTUsIHBsZWFzZSB1c2UgXCJhY3Rpdml0eU1pZGRsZXdhcmVcIiBpbnN0ZWFkLidcbiAgICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgYWN0aXZpdHlSZW5kZXJlciB8fFxuICAgICAgYXBwbHlNaWRkbGV3YXJlRm9yUmVuZGVyZXIoXG4gICAgICAgICdhY3Rpdml0eScsXG4gICAgICAgIHsgc3RyaWN0OiBmYWxzZSB9LFxuICAgICAgICAuLi5zaW5nbGVUb0FycmF5KGFjdGl2aXR5TWlkZGxld2FyZSksXG4gICAgICAgICgpID0+XG4gICAgICAgICAgKCkgPT5cbiAgICAgICAgICAoeyBhY3Rpdml0eSB9KSA9PiB7XG4gICAgICAgICAgICBpZiAoYWN0aXZpdHkpIHtcbiAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyByZW5kZXJlciBmb3IgYWN0aXZpdHkgb2YgdHlwZSBcIiR7YWN0aXZpdHkudHlwZX1cImApO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyBhY3Rpdml0eSB0byByZW5kZXInKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICApKHt9KVxuICAgICk7XG4gIH0sIFthY3Rpdml0eU1pZGRsZXdhcmUsIGFjdGl2aXR5UmVuZGVyZXJdKTtcblxuICBjb25zdCBwYXRjaGVkQWN0aXZpdHlTdGF0dXNSZW5kZXJlciA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGFjdGl2aXR5U3RhdHVzUmVuZGVyZXIgJiZcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgJ1dlYiBDaGF0OiBcImFjdGl2aXR5U3RhdHVzUmVuZGVyZXJcIiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgb24gMjAyMi0wNi0xNSwgcGxlYXNlIHVzZSBcImFjdGl2aXR5U3RhdHVzTWlkZGxld2FyZVwiIGluc3RlYWQuJ1xuICAgICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICBhY3Rpdml0eVN0YXR1c1JlbmRlcmVyIHx8XG4gICAgICBhcHBseU1pZGRsZXdhcmVGb3JSZW5kZXJlcihcbiAgICAgICAgJ2FjdGl2aXR5IHN0YXR1cycsXG4gICAgICAgIHsgc3RyaWN0OiBmYWxzZSB9LFxuICAgICAgICAuLi5zaW5nbGVUb0FycmF5KGFjdGl2aXR5U3RhdHVzTWlkZGxld2FyZSksXG4gICAgICAgICgpID0+ICgpID0+ICgpID0+IGZhbHNlXG4gICAgICApKHt9KVxuICAgICk7XG4gIH0sIFthY3Rpdml0eVN0YXR1c01pZGRsZXdhcmUsIGFjdGl2aXR5U3RhdHVzUmVuZGVyZXJdKTtcblxuICBjb25zdCBwYXRjaGVkQXR0YWNobWVudEZvclNjcmVlblJlYWRlclJlbmRlcmVyID0gdXNlTWVtbyhcbiAgICAoKSA9PlxuICAgICAgYXBwbHlNaWRkbGV3YXJlRm9yUmVuZGVyZXIoXG4gICAgICAgICdhdHRhY2htZW50IGZvciBzY3JlZW4gcmVhZGVyJyxcbiAgICAgICAgeyBzdHJpY3Q6IHRydWUgfSxcbiAgICAgICAgLi4uc2luZ2xlVG9BcnJheShhdHRhY2htZW50Rm9yU2NyZWVuUmVhZGVyTWlkZGxld2FyZSksXG4gICAgICAgICgpID0+XG4gICAgICAgICAgKCkgPT5cbiAgICAgICAgICAoeyBhdHRhY2htZW50IH0pID0+IHtcbiAgICAgICAgICAgIGlmIChhdHRhY2htZW50KSB7XG4gICAgICAgICAgICAgIGNvbnNvbGUud2FybihgTm8gcmVuZGVyZXIgZm9yIGF0dGFjaG1lbnQgZm9yIHNjcmVlbiByZWFkZXIgb2YgdHlwZSBcIiR7YXR0YWNobWVudC5jb250ZW50VHlwZX1cImApO1xuICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgKiBAdG9kbyBUT0RPOiBbUDRdIE1pZ2h0IGJlIGFibGUgdG8gdGhyb3cgd2l0aG91dCByZXR1cm5pbmcgYSBmdW5jdGlvbiAtLSBpbnZlc3RpZ2F0ZSBhbmQgcG9zc2libHkgZml4XG4gICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIGF0dGFjaG1lbnQgdG8gcmVuZGVyJyk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH1cbiAgICAgICkoe30pLFxuICAgIFthdHRhY2htZW50Rm9yU2NyZWVuUmVhZGVyTWlkZGxld2FyZV1cbiAgKTtcblxuICBjb25zdCBwYXRjaGVkQXR0YWNobWVudFJlbmRlcmVyID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGF0dGFjaG1lbnRSZW5kZXJlcikge1xuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAnV2ViIENoYXQ6IFwiYXR0YWNobWVudFJlbmRlcmVyXCIgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIG9uIDIwMjItMDYtMTUsIHBsZWFzZSB1c2UgXCJhdHRhY2htZW50TWlkZGxld2FyZVwiIGluc3RlYWQuJ1xuICAgICAgKTtcblxuICAgICAgcmV0dXJuIGF0dGFjaG1lbnRSZW5kZXJlcjtcbiAgICB9XG5cbiAgICAvLyBBdHRhY2htZW50IHJlbmRlcmVyXG4gICAgcmV0dXJuIGFwcGx5TWlkZGxld2FyZUZvckxlZ2FjeVJlbmRlcmVyKFxuICAgICAgJ2F0dGFjaG1lbnQnLFxuICAgICAgLi4uc2luZ2xlVG9BcnJheShhdHRhY2htZW50TWlkZGxld2FyZSksXG4gICAgICAoKSA9PlxuICAgICAgICAoKSA9PlxuICAgICAgICAoeyBhdHRhY2htZW50IH0pID0+IHtcbiAgICAgICAgICBpZiAoYXR0YWNobWVudCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyByZW5kZXJlciBmb3IgYXR0YWNobWVudCBvZiB0eXBlIFwiJHthdHRhY2htZW50LmNvbnRlbnRUeXBlfVwiYCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignTm8gYXR0YWNobWVudCB0byByZW5kZXInKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICApKHt9KTtcbiAgfSwgW2F0dGFjaG1lbnRNaWRkbGV3YXJlLCBhdHRhY2htZW50UmVuZGVyZXJdKTtcblxuICBjb25zdCBwYXRjaGVkQXZhdGFyUmVuZGVyZXIgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBhdmF0YXJSZW5kZXJlciAmJlxuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAnV2ViIENoYXQ6IFwiYXZhdGFyUmVuZGVyZXJcIiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgb24gMjAyMi0wNi0xNSwgcGxlYXNlIHVzZSBcImF2YXRhck1pZGRsZXdhcmVcIiBpbnN0ZWFkLidcbiAgICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgYXZhdGFyUmVuZGVyZXIgfHxcbiAgICAgIGFwcGx5TWlkZGxld2FyZUZvclJlbmRlcmVyKFxuICAgICAgICAnYXZhdGFyJyxcbiAgICAgICAgeyBzdHJpY3Q6IGZhbHNlIH0sXG4gICAgICAgIC4uLnNpbmdsZVRvQXJyYXkoYXZhdGFyTWlkZGxld2FyZSksXG4gICAgICAgICgpID0+ICgpID0+ICgpID0+IGZhbHNlXG4gICAgICApKHt9KVxuICAgICk7XG4gIH0sIFthdmF0YXJNaWRkbGV3YXJlLCBhdmF0YXJSZW5kZXJlcl0pO1xuXG4gIGNvbnN0IHBhdGNoZWRUb2FzdFJlbmRlcmVyID0gdXNlTWVtbygoKSA9PiB7XG4gICAgdG9hc3RSZW5kZXJlciAmJlxuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAnV2ViIENoYXQ6IFwidG9hc3RSZW5kZXJlclwiIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBvbiAyMDIyLTA2LTE1LCBwbGVhc2UgdXNlIFwidG9hc3RNaWRkbGV3YXJlXCIgaW5zdGVhZC4nXG4gICAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIHRvYXN0UmVuZGVyZXIgfHxcbiAgICAgIGFwcGx5TWlkZGxld2FyZUZvclJlbmRlcmVyKFxuICAgICAgICAndG9hc3QnLFxuICAgICAgICB7IHN0cmljdDogZmFsc2UgfSxcbiAgICAgICAgLi4uc2luZ2xlVG9BcnJheSh0b2FzdE1pZGRsZXdhcmUpLFxuICAgICAgICAoKSA9PlxuICAgICAgICAgICgpID0+XG4gICAgICAgICAgKHsgbm90aWZpY2F0aW9uIH0pID0+IHtcbiAgICAgICAgICAgIGlmIChub3RpZmljYXRpb24pIHtcbiAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyByZW5kZXJlciBmb3Igbm90aWZpY2F0aW9uIG9mIHR5cGUgXCIke25vdGlmaWNhdGlvbi5jb250ZW50VHlwZX1cImApO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyBub3RpZmljYXRpb24gdG8gcmVuZGVyJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgKSh7fSlcbiAgICApO1xuICB9LCBbdG9hc3RNaWRkbGV3YXJlLCB0b2FzdFJlbmRlcmVyXSk7XG5cbiAgY29uc3QgcGF0Y2hlZFR5cGluZ0luZGljYXRvclJlbmRlcmVyID0gdXNlTWVtbygoKSA9PiB7XG4gICAgdHlwaW5nSW5kaWNhdG9yUmVuZGVyZXIgJiZcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgJ1dlYiBDaGF0OiBcInR5cGluZ0luZGljYXRvclJlbmRlcmVyXCIgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIG9uIDIwMjItMDYtMTUsIHBsZWFzZSB1c2UgXCJ0eXBpbmdJbmRpY2F0b3JNaWRkbGV3YXJlXCIgaW5zdGVhZC4nXG4gICAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIHR5cGluZ0luZGljYXRvclJlbmRlcmVyIHx8XG4gICAgICBhcHBseU1pZGRsZXdhcmVGb3JSZW5kZXJlcihcbiAgICAgICAgJ3R5cGluZyBpbmRpY2F0b3InLFxuICAgICAgICB7IHN0cmljdDogZmFsc2UgfSxcbiAgICAgICAgLi4uc2luZ2xlVG9BcnJheSh0eXBpbmdJbmRpY2F0b3JNaWRkbGV3YXJlKSxcbiAgICAgICAgKCkgPT4gKCkgPT4gKCkgPT4gZmFsc2VcbiAgICAgICkoe30pXG4gICAgKTtcbiAgfSwgW3R5cGluZ0luZGljYXRvck1pZGRsZXdhcmUsIHR5cGluZ0luZGljYXRvclJlbmRlcmVyXSk7XG5cbiAgY29uc3Qgc2Nyb2xsVG9FbmRCdXR0b25SZW5kZXJlcjogU2Nyb2xsVG9FbmRCdXR0b25Db21wb25lbnRGYWN0b3J5ID0gdXNlTWVtbyhcbiAgICAoKSA9PlxuICAgICAgYXBwbHlNaWRkbGV3YXJlRm9yUmVuZGVyZXIoXG4gICAgICAgICdzY3JvbGwgdG8gZW5kIGJ1dHRvbicsXG4gICAgICAgIHsgc3RyaWN0OiB0cnVlIH0sXG4gICAgICAgIC4uLnNpbmdsZVRvQXJyYXkoc2Nyb2xsVG9FbmRCdXR0b25NaWRkbGV3YXJlKSxcbiAgICAgICAgKCkgPT4gKCkgPT4gKCkgPT4gZmFsc2VcbiAgICAgICkoKSBhcyBhbnksXG4gICAgW3Njcm9sbFRvRW5kQnV0dG9uTWlkZGxld2FyZV1cbiAgKTtcblxuICAvKipcbiAgICogVGhpcyBpcyBhIGhlYXZ5IGZ1bmN0aW9uLCBhbmQgaXQgaXMgZXhwZWN0ZWQgdG8gYmUgb25seSBjYWxsZWQgd2hlbiB0aGVyZSBpcyBhIG5lZWQgdG8gcmVjcmVhdGUgYnVzaW5lc3MgbG9naWMsIGUuZy5cbiAgICogLSBVc2VyIElEIGNoYW5nZWQsIGNhdXNpbmcgYWxsIHNlbmQqIGZ1bmN0aW9ucyB0byBiZSB1cGRhdGVkXG4gICAqIC0gc2VuZFxuICAgKiBAdG9kbyBUT0RPOiBbUDNdIFdlIHNob3VsZCB0aGluayBhYm91dCBpZiB3ZSBhbGxvdyB0aGUgdXNlciB0byBjaGFuZ2Ugb25TZW5kQm94VmFsdWVDaGFuZ2VkL3NlbmRCb3hWYWx1ZSwgZS5nLlxuICAgKiAxLiBUdXJucyB0ZXh0IGludG8gVVBQRVJDQVNFXG4gICAqIDIuIEZpbHRlciBvdXQgcHJvZmFuaXR5XG4gICAqIEB0b2RvIFRPRE86IFtQNF0gUmV2aXNpdCBhbGwgbWVtYmVycyBvZiBjb250ZXh0XG4gICAqICAgICAgIFRoaXMgY29udGV4dCBzaG91bGQgY29uc2lzdCBvZiBtZW1iZXJzIHRoYXQgYXJlIG5vdCBpbiB0aGUgUmVkdXggc3RvcmVcbiAgICogICAgICAgaS5lLiBtZW1iZXJzIHRoYXQgYXJlIG5vdCBpbnRlcmVzdGVkIGluIG90aGVyIHR5cGVzIG9mIFVJc1xuICAgKi9cbiAgY29uc3QgY29udGV4dCA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKHtcbiAgICAgIC4uLmNhcmRBY3Rpb25Db250ZXh0LFxuICAgICAgLi4uZ3JvdXBBY3Rpdml0aWVzQ29udGV4dCxcbiAgICAgIC4uLmhvaXN0ZWREaXNwYXRjaGVycyxcbiAgICAgIGFjdGl2aXR5UmVuZGVyZXI6IHBhdGNoZWRBY3Rpdml0eVJlbmRlcmVyLFxuICAgICAgYWN0aXZpdHlTdGF0dXNSZW5kZXJlcjogcGF0Y2hlZEFjdGl2aXR5U3RhdHVzUmVuZGVyZXIsXG4gICAgICBhdHRhY2htZW50Rm9yU2NyZWVuUmVhZGVyUmVuZGVyZXI6IHBhdGNoZWRBdHRhY2htZW50Rm9yU2NyZWVuUmVhZGVyUmVuZGVyZXIsXG4gICAgICBhdHRhY2htZW50UmVuZGVyZXI6IHBhdGNoZWRBdHRhY2htZW50UmVuZGVyZXIsXG4gICAgICBhdmF0YXJSZW5kZXJlcjogcGF0Y2hlZEF2YXRhclJlbmRlcmVyLFxuICAgICAgZGlyOiBwYXRjaGVkRGlyLFxuICAgICAgZGlyZWN0TGluZSxcbiAgICAgIGRpc2FibGVkLFxuICAgICAgZG93bnNjYWxlSW1hZ2VUb0RhdGFVUkwsXG4gICAgICBncmFtbWFyczogcGF0Y2hlZEdyYW1tYXJzLFxuICAgICAgaW50ZXJuYWxFcnJvckJveENsYXNzLFxuICAgICAgbGFuZ3VhZ2U6IGxvY2FsZSxcbiAgICAgIGxvY2FsaXplZEdsb2JhbGl6ZVN0YXRlOiBbbG9jYWxpemVkR2xvYmFsaXplXSxcbiAgICAgIGxvY2FsaXplZFN0cmluZ3M6IHBhdGNoZWRMb2NhbGl6ZWRTdHJpbmdzLFxuICAgICAgb25UZWxlbWV0cnksXG4gICAgICByZW5kZXJNYXJrZG93bixcbiAgICAgIHNjcm9sbFRvRW5kQnV0dG9uUmVuZGVyZXIsXG4gICAgICBzZWxlY3RWb2ljZTogcGF0Y2hlZFNlbGVjdFZvaWNlLFxuICAgICAgc2VuZFR5cGluZ0luZGljYXRvcixcbiAgICAgIHN0eWxlT3B0aW9uczogcGF0Y2hlZFN0eWxlT3B0aW9ucyxcbiAgICAgIHRlbGVtZXRyeURpbWVuc2lvbnNSZWYsXG4gICAgICB0b2FzdFJlbmRlcmVyOiBwYXRjaGVkVG9hc3RSZW5kZXJlcixcbiAgICAgIHRyYWNrRGltZW5zaW9uLFxuICAgICAgdHlwaW5nSW5kaWNhdG9yUmVuZGVyZXI6IHBhdGNoZWRUeXBpbmdJbmRpY2F0b3JSZW5kZXJlcixcbiAgICAgIHVzZXJJRCxcbiAgICAgIHVzZXJuYW1lXG4gICAgfSksXG4gICAgW1xuICAgICAgY2FyZEFjdGlvbkNvbnRleHQsXG4gICAgICBkaXJlY3RMaW5lLFxuICAgICAgZGlzYWJsZWQsXG4gICAgICBkb3duc2NhbGVJbWFnZVRvRGF0YVVSTCxcbiAgICAgIGdyb3VwQWN0aXZpdGllc0NvbnRleHQsXG4gICAgICBob2lzdGVkRGlzcGF0Y2hlcnMsXG4gICAgICBpbnRlcm5hbEVycm9yQm94Q2xhc3MsXG4gICAgICBsb2NhbGUsXG4gICAgICBsb2NhbGl6ZWRHbG9iYWxpemUsXG4gICAgICBvblRlbGVtZXRyeSxcbiAgICAgIHBhdGNoZWRBY3Rpdml0eVJlbmRlcmVyLFxuICAgICAgcGF0Y2hlZEFjdGl2aXR5U3RhdHVzUmVuZGVyZXIsXG4gICAgICBwYXRjaGVkQXR0YWNobWVudEZvclNjcmVlblJlYWRlclJlbmRlcmVyLFxuICAgICAgcGF0Y2hlZEF0dGFjaG1lbnRSZW5kZXJlcixcbiAgICAgIHBhdGNoZWRBdmF0YXJSZW5kZXJlcixcbiAgICAgIHBhdGNoZWREaXIsXG4gICAgICBwYXRjaGVkR3JhbW1hcnMsXG4gICAgICBwYXRjaGVkTG9jYWxpemVkU3RyaW5ncyxcbiAgICAgIHBhdGNoZWRTZWxlY3RWb2ljZSxcbiAgICAgIHBhdGNoZWRTdHlsZU9wdGlvbnMsXG4gICAgICBwYXRjaGVkVG9hc3RSZW5kZXJlcixcbiAgICAgIHBhdGNoZWRUeXBpbmdJbmRpY2F0b3JSZW5kZXJlcixcbiAgICAgIHJlbmRlck1hcmtkb3duLFxuICAgICAgc2Nyb2xsVG9FbmRCdXR0b25SZW5kZXJlcixcbiAgICAgIHNlbmRUeXBpbmdJbmRpY2F0b3IsXG4gICAgICB0ZWxlbWV0cnlEaW1lbnNpb25zUmVmLFxuICAgICAgdHJhY2tEaW1lbnNpb24sXG4gICAgICB1c2VySUQsXG4gICAgICB1c2VybmFtZVxuICAgIF1cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxXZWJDaGF0QVBJQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17Y29udGV4dH0+XG4gICAgICB7dHlwZW9mIGNoaWxkcmVuID09PSAnZnVuY3Rpb24nID8gY2hpbGRyZW4oY29udGV4dCkgOiBjaGlsZHJlbn1cbiAgICAgIHtvblRlbGVtZXRyeSAmJiA8VHJhY2tlciAvPn1cbiAgICA8L1dlYkNoYXRBUElDb250ZXh0LlByb3ZpZGVyPlxuICApO1xufTtcblxuLyoqXG4gKiBAdG9kbyBUT0RPOiBbUDNdIFdlIHNob3VsZCBjb25zaWRlciBtb3Zpbmcgc29tZSBkYXRhIGZyb20gUmVkdXggc3RvcmUgdG8gcHJvcHNcbiAqICAgICAgIEFsdGhvdWdoIHdlIHVzZSBgY29ubmVjdFRvV2ViQ2hhdGAgdG8gaGlkZSB0aGUgZGV0YWlscyBvZiBhY2Nlc3NvciBvZiBSZWR1eCBzdG9yZSxcbiAqICAgICAgIHdlIHNob3VsZCBjbGVhbiB1cCB0aGUgcmVzcG9uc2liaWxpdHkgYmV0d2VlbiBDb250ZXh0IGFuZCBSZWR1eCBzdG9yZVxuICogICAgICAgV2Ugc2hvdWxkIGRlY2lkZSB3aGljaCBkYXRhIGlzIG5lZWRlZCBmb3IgUmVhY3QgYnV0IG5vdCBpbiBvdGhlciBlbnZpcm9ubWVudCBzdWNoIGFzIENMSS9WU0NvZGVcbiAqL1xuQ29tcG9zZXJDb3JlLmRlZmF1bHRQcm9wcyA9IHtcbiAgYWN0aXZpdHlNaWRkbGV3YXJlOiB1bmRlZmluZWQsXG4gIGFjdGl2aXR5UmVuZGVyZXI6IHVuZGVmaW5lZCxcbiAgYWN0aXZpdHlTdGF0dXNNaWRkbGV3YXJlOiB1bmRlZmluZWQsXG4gIGFjdGl2aXR5U3RhdHVzUmVuZGVyZXI6IHVuZGVmaW5lZCxcbiAgYXR0YWNobWVudEZvclNjcmVlblJlYWRlck1pZGRsZXdhcmU6IHVuZGVmaW5lZCxcbiAgYXR0YWNobWVudE1pZGRsZXdhcmU6IHVuZGVmaW5lZCxcbiAgYXR0YWNobWVudFJlbmRlcmVyOiB1bmRlZmluZWQsXG4gIGF2YXRhck1pZGRsZXdhcmU6IHVuZGVmaW5lZCxcbiAgYXZhdGFyUmVuZGVyZXI6IHVuZGVmaW5lZCxcbiAgY2FyZEFjdGlvbk1pZGRsZXdhcmU6IHVuZGVmaW5lZCxcbiAgY2hpbGRyZW46IHVuZGVmaW5lZCxcbiAgZGlyOiAnYXV0bycsXG4gIGRpc2FibGVkOiBmYWxzZSxcbiAgZG93bnNjYWxlSW1hZ2VUb0RhdGFVUkw6IHVuZGVmaW5lZCxcbiAgZ3JhbW1hcnM6IFtdLFxuICBncm91cEFjdGl2aXRpZXNNaWRkbGV3YXJlOiB1bmRlZmluZWQsXG4gIGdyb3VwVGltZXN0YW1wOiB1bmRlZmluZWQsXG4gIGludGVybmFsRXJyb3JCb3hDbGFzczogdW5kZWZpbmVkLFxuICBsb2NhbGU6IHdpbmRvdy5uYXZpZ2F0b3IubGFuZ3VhZ2UgfHwgJ2VuLVVTJyxcbiAgb25UZWxlbWV0cnk6IHVuZGVmaW5lZCxcbiAgb3ZlcnJpZGVMb2NhbGl6ZWRTdHJpbmdzOiB1bmRlZmluZWQsXG4gIHJlbmRlck1hcmtkb3duOiB1bmRlZmluZWQsXG4gIHNjcm9sbFRvRW5kQnV0dG9uTWlkZGxld2FyZTogdW5kZWZpbmVkLFxuICBzZWxlY3RWb2ljZTogdW5kZWZpbmVkLFxuICBzZW5kVGltZW91dDogdW5kZWZpbmVkLFxuICBzZW5kVHlwaW5nSW5kaWNhdG9yOiBmYWxzZSxcbiAgc3R5bGVPcHRpb25zOiB7fSxcbiAgdG9hc3RNaWRkbGV3YXJlOiB1bmRlZmluZWQsXG4gIHRvYXN0UmVuZGVyZXI6IHVuZGVmaW5lZCxcbiAgdHlwaW5nSW5kaWNhdG9yTWlkZGxld2FyZTogdW5kZWZpbmVkLFxuICB0eXBpbmdJbmRpY2F0b3JSZW5kZXJlcjogdW5kZWZpbmVkLFxuICB1c2VySUQ6ICcnLFxuICB1c2VybmFtZTogJydcbn07XG5cbkNvbXBvc2VyQ29yZS5wcm9wVHlwZXMgPSB7XG4gIGFjdGl2aXR5TWlkZGxld2FyZTogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLmZ1bmMpLCBQcm9wVHlwZXMuZnVuY10pLFxuICBhY3Rpdml0eVJlbmRlcmVyOiBQcm9wVHlwZXMuZnVuYyxcbiAgYWN0aXZpdHlTdGF0dXNNaWRkbGV3YXJlOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuZnVuYyksIFByb3BUeXBlcy5mdW5jXSksXG4gIGFjdGl2aXR5U3RhdHVzUmVuZGVyZXI6IFByb3BUeXBlcy5mdW5jLFxuICBhdHRhY2htZW50Rm9yU2NyZWVuUmVhZGVyTWlkZGxld2FyZTogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLmZ1bmMpLCBQcm9wVHlwZXMuZnVuY10pLFxuICBhdHRhY2htZW50TWlkZGxld2FyZTogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLmZ1bmMpLCBQcm9wVHlwZXMuZnVuY10pLFxuICBhdHRhY2htZW50UmVuZGVyZXI6IFByb3BUeXBlcy5mdW5jLFxuICBhdmF0YXJNaWRkbGV3YXJlOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuZnVuYyksIFByb3BUeXBlcy5mdW5jXSksXG4gIGF2YXRhclJlbmRlcmVyOiBQcm9wVHlwZXMuZnVuYyxcbiAgY2FyZEFjdGlvbk1pZGRsZXdhcmU6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5mdW5jKSwgUHJvcFR5cGVzLmZ1bmNdKSxcbiAgY2hpbGRyZW46IFByb3BUeXBlcy5hbnksXG4gIGRpcjogUHJvcFR5cGVzLm9uZU9mKFsnYXV0bycsICdsdHInLCAncnRsJ10pLFxuICBkaXJlY3RMaW5lOiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgIGFjdGl2aXR5JDogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAgIHN1YnNjcmliZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZFxuICAgIH0pLmlzUmVxdWlyZWQsXG4gICAgY29ubmVjdGlvblN0YXR1cyQ6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICBzdWJzY3JpYmU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWRcbiAgICB9KS5pc1JlcXVpcmVkLFxuICAgIGVuZDogUHJvcFR5cGVzLmZ1bmMsXG4gICAgZ2V0U2Vzc2lvbklkOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBwb3N0QWN0aXZpdHk6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgcmVmZXJlbmNlR3JhbW1hcklEOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIHRva2VuOiBQcm9wVHlwZXMuc3RyaW5nXG4gIH0pLmlzUmVxdWlyZWQsXG4gIGRpc2FibGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgZG93bnNjYWxlSW1hZ2VUb0RhdGFVUkw6IFByb3BUeXBlcy5mdW5jLFxuICBncmFtbWFyczogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLnN0cmluZyksXG4gIGdyb3VwQWN0aXZpdGllc01pZGRsZXdhcmU6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5mdW5jKSwgUHJvcFR5cGVzLmZ1bmNdKSxcbiAgZ3JvdXBUaW1lc3RhbXA6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5ib29sLCBQcm9wVHlwZXMubnVtYmVyXSksXG4gIGludGVybmFsRXJyb3JCb3hDbGFzczogUHJvcFR5cGVzLmZ1bmMsIC8vIFRoaXMgaXMgZm9yIGludGVybmFsIHVzZSBvbmx5LiBXZSBkb24ndCBhbGxvdyBjdXN0b21pemF0aW9uIG9mIGVycm9yIGJveC5cbiAgbG9jYWxlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBvblRlbGVtZXRyeTogUHJvcFR5cGVzLmZ1bmMsXG4gIG92ZXJyaWRlTG9jYWxpemVkU3RyaW5nczogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLmFueSwgUHJvcFR5cGVzLmZ1bmNdKSxcbiAgcmVuZGVyTWFya2Rvd246IFByb3BUeXBlcy5mdW5jLFxuICBzY3JvbGxUb0VuZEJ1dHRvbk1pZGRsZXdhcmU6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5mdW5jKSwgUHJvcFR5cGVzLmZ1bmNdKSxcbiAgc2VsZWN0Vm9pY2U6IFByb3BUeXBlcy5mdW5jLFxuICBzZW5kVGltZW91dDogUHJvcFR5cGVzLm51bWJlcixcbiAgc2VuZFR5cGluZ0luZGljYXRvcjogUHJvcFR5cGVzLmJvb2wsXG4gIHN0eWxlT3B0aW9uczogUHJvcFR5cGVzLmFueSxcbiAgdG9hc3RNaWRkbGV3YXJlOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuZnVuYyksIFByb3BUeXBlcy5mdW5jXSksXG4gIHRvYXN0UmVuZGVyZXI6IFByb3BUeXBlcy5mdW5jLFxuICB0eXBpbmdJbmRpY2F0b3JNaWRkbGV3YXJlOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuZnVuYyksIFByb3BUeXBlcy5mdW5jXSksXG4gIHR5cGluZ0luZGljYXRvclJlbmRlcmVyOiBQcm9wVHlwZXMuZnVuYyxcbiAgdXNlcklEOiBQcm9wVHlwZXMuc3RyaW5nLFxuICB1c2VybmFtZTogUHJvcFR5cGVzLnN0cmluZ1xufTtcblxudHlwZSBDb21wb3NlclByb3BzID0gQ29tcG9zZXJDb3JlUHJvcHMgJiB7XG4gIGludGVybmFsUmVuZGVyRXJyb3JCb3g/OiBhbnk7XG4gIHN0b3JlPzogYW55O1xufTtcblxuLy8gV2Ugd2lsbCBjcmVhdGUgYSBSZWR1eCBzdG9yZSBpZiBpdCB3YXMgbm90IHBhc3NlZCBpblxuY29uc3QgQ29tcG9zZXI6IEZDPENvbXBvc2VyUHJvcHM+ID0gKHsgaW50ZXJuYWxSZW5kZXJFcnJvckJveCwgb25UZWxlbWV0cnksIHN0b3JlLCAuLi5wcm9wcyB9KSA9PiB7XG4gIGNvbnN0IFtlcnJvciwgc2V0RXJyb3JdID0gdXNlU3RhdGUoKTtcblxuICBjb25zdCBoYW5kbGVFcnJvciA9IHVzZUNhbGxiYWNrKFxuICAgIGVycm9yID0+IHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ2JvdGZyYW1ld29yay13ZWJjaGF0OiBVbmNhdWdodCBleGNlcHRpb24nLCB7IGVycm9yIH0pO1xuXG4gICAgICBvblRlbGVtZXRyeSAmJlxuICAgICAgICBvblRlbGVtZXRyeShjcmVhdGVDdXN0b21FdmVudCgnZXhjZXB0aW9uJywgeyBlcnJvciwgZmF0YWw6IHRydWUgfSkgYXMgVGVsZW1ldHJ5RXhjZXB0aW9uTWVhc3VyZW1lbnRFdmVudCk7XG4gICAgICBzZXRFcnJvcihlcnJvcik7XG4gICAgfSxcbiAgICBbb25UZWxlbWV0cnksIHNldEVycm9yXVxuICApO1xuXG4gIGNvbnN0IG1lbW9pemVkU3RvcmUgPSB1c2VNZW1vKCgpID0+IHN0b3JlIHx8IGNyZWF0ZVN0b3JlKCksIFtzdG9yZV0pO1xuXG4gIHJldHVybiBlcnJvciA/IChcbiAgICAhIWludGVybmFsUmVuZGVyRXJyb3JCb3ggJiYgaW50ZXJuYWxSZW5kZXJFcnJvckJveCh7IGVycm9yLCB0eXBlOiAndW5jYXVnaHQgZXhjZXB0aW9uJyB9KVxuICApIDogKFxuICAgIDxFcnJvckJvdW5kYXJ5IG9uRXJyb3I9e2hhbmRsZUVycm9yfT5cbiAgICAgIDxQcm92aWRlciBjb250ZXh0PXtXZWJDaGF0UmVkdXhDb250ZXh0fSBzdG9yZT17bWVtb2l6ZWRTdG9yZX0+XG4gICAgICAgIDxBY3Rpdml0eUtleWVyQ29tcG9zZXI+XG4gICAgICAgICAgPEFjdGl2aXR5QWNrbm93bGVkZ2VtZW50Q29tcG9zZXI+XG4gICAgICAgICAgICA8Q29tcG9zZXJDb3JlIG9uVGVsZW1ldHJ5PXtvblRlbGVtZXRyeX0gey4uLnByb3BzfSAvPlxuICAgICAgICAgIDwvQWN0aXZpdHlBY2tub3dsZWRnZW1lbnRDb21wb3Nlcj5cbiAgICAgICAgPC9BY3Rpdml0eUtleWVyQ29tcG9zZXI+XG4gICAgICA8L1Byb3ZpZGVyPlxuICAgIDwvRXJyb3JCb3VuZGFyeT5cbiAgKTtcbn07XG5cbkNvbXBvc2VyLmRlZmF1bHRQcm9wcyA9IHtcbiAgaW50ZXJuYWxSZW5kZXJFcnJvckJveDogdW5kZWZpbmVkLFxuICBvblRlbGVtZXRyeTogdW5kZWZpbmVkLFxuICBzdG9yZTogdW5kZWZpbmVkXG59O1xuXG5Db21wb3Nlci5wcm9wVHlwZXMgPSB7XG4gIGludGVybmFsUmVuZGVyRXJyb3JCb3g6IFByb3BUeXBlcy5hbnksXG4gIG9uVGVsZW1ldHJ5OiBQcm9wVHlwZXMuZnVuYyxcbiAgc3RvcmU6IFByb3BUeXBlcy5hbnlcbn07XG5cbmV4cG9ydCBkZWZhdWx0IENvbXBvc2VyO1xuXG5leHBvcnQgdHlwZSB7IENvbXBvc2VyUHJvcHMgfTtcbiJdfQ==
|
|
646
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy9Db21wb3Nlci50c3giXSwibmFtZXMiOlsiRElTUEFUQ0hFUlMiLCJjbGVhclN1Z2dlc3RlZEFjdGlvbnMiLCJkaXNtaXNzTm90aWZpY2F0aW9uIiwiZW1pdFR5cGluZ0luZGljYXRvciIsIm1hcmtBY3Rpdml0eSIsInBvc3RBY3Rpdml0eSIsInNlbmRFdmVudCIsInNlbmRGaWxlcyIsInNlbmRNZXNzYWdlIiwic2VuZE1lc3NhZ2VCYWNrIiwic2VuZFBvc3RCYWNrIiwic2V0RGljdGF0ZUludGVyaW1zIiwic2V0RGljdGF0ZVN0YXRlIiwic2V0Tm90aWZpY2F0aW9uIiwic2V0U2VuZEJveCIsInNldFNlbmRUaW1lb3V0Iiwic3RhcnREaWN0YXRlIiwic3RhcnRTcGVha2luZ0FjdGl2aXR5Iiwic3RvcERpY3RhdGUiLCJzdG9wU3BlYWtpbmdBY3Rpdml0eSIsInN1Ym1pdFNlbmRCb3giLCJjcmVhdGVDYXJkQWN0aW9uQ29udGV4dCIsImNhcmRBY3Rpb25NaWRkbGV3YXJlIiwiZGlyZWN0TGluZSIsImRpc3BhdGNoIiwibWFya0FsbEFzQWNrbm93bGVkZ2VkIiwicnVuTWlkZGxld2FyZSIsImFwcGx5TWlkZGxld2FyZSIsIm9uQ2FyZEFjdGlvbiIsImNhcmRBY3Rpb24iLCJ0YXJnZXQiLCJnZXRTaWduSW5VcmwiLCJ0eXBlIiwidmFsdWUiLCJnZXRTZXNzaW9uSWQiLCJ0aGVuIiwic2Vzc2lvbklkIiwiZW5jb2RlVVJJQ29tcG9uZW50IiwiY29uc29sZSIsIndhcm4iLCJjcmVhdGVHcm91cEFjdGl2aXRpZXNDb250ZXh0IiwiZ3JvdXBBY3Rpdml0aWVzTWlkZGxld2FyZSIsImdyb3VwVGltZXN0YW1wIiwiZ3JvdXBBY3Rpdml0aWVzIiwibWVyZ2VTdHJpbmdzT3ZlcnJpZGVzIiwibG9jYWxpemVkU3RyaW5ncyIsImxhbmd1YWdlIiwib3ZlcnJpZGVMb2NhbGl6ZWRTdHJpbmdzIiwibWVyZ2VkIiwiRXJyb3IiLCJDb21wb3NlckNvcmUiLCJhY3Rpdml0eU1pZGRsZXdhcmUiLCJhY3Rpdml0eVJlbmRlcmVyIiwiYWN0aXZpdHlTdGF0dXNNaWRkbGV3YXJlIiwiYWN0aXZpdHlTdGF0dXNSZW5kZXJlciIsImF0dGFjaG1lbnRNaWRkbGV3YXJlIiwiYXR0YWNobWVudEZvclNjcmVlblJlYWRlck1pZGRsZXdhcmUiLCJhdHRhY2htZW50UmVuZGVyZXIiLCJhdmF0YXJNaWRkbGV3YXJlIiwiYXZhdGFyUmVuZGVyZXIiLCJjaGlsZHJlbiIsImRpciIsImRpc2FibGVkIiwiZG93bnNjYWxlSW1hZ2VUb0RhdGFVUkwiLCJncmFtbWFycyIsImludGVybmFsRXJyb3JCb3hDbGFzcyIsImxvY2FsZSIsIm9uVGVsZW1ldHJ5IiwicmVuZGVyTWFya2Rvd24iLCJzY3JvbGxUb0VuZEJ1dHRvbk1pZGRsZXdhcmUiLCJzZWxlY3RWb2ljZSIsInNlbmRUaW1lb3V0Iiwic2VuZFR5cGluZ0luZGljYXRvciIsInN0eWxlT3B0aW9ucyIsInRvYXN0TWlkZGxld2FyZSIsInRvYXN0UmVuZGVyZXIiLCJ0eXBpbmdJbmRpY2F0b3JNaWRkbGV3YXJlIiwidHlwaW5nSW5kaWNhdG9yUmVuZGVyZXIiLCJ1c2VySUQiLCJ1c2VybmFtZSIsInRlbGVtZXRyeURpbWVuc2lvbnNSZWYiLCJwYXRjaGVkRGlyIiwicGF0Y2hlZEdyYW1tYXJzIiwicGF0Y2hlZFN0eWxlT3B0aW9ucyIsImNhcmRBY3Rpb25Db250ZXh0IiwicGF0Y2hlZFNlbGVjdFZvaWNlIiwiZGVmYXVsdFNlbGVjdFZvaWNlIiwiYmluZCIsImdyb3VwQWN0aXZpdGllc0NvbnRleHQiLCJob2lzdGVkRGlzcGF0Y2hlcnMiLCJkaXNwYXRjaGVyIiwicGF0Y2hlZExvY2FsaXplZFN0cmluZ3MiLCJsb2NhbGl6ZWRHbG9iYWxpemUiLCJHTE9CQUxJWkUiLCJHTE9CQUxJWkVfTEFOR1VBR0UiLCJ0cmFja0RpbWVuc2lvbiIsIm5hbWUiLCJkYXRhIiwiY3VycmVudCIsInBhdGNoZWRBY3Rpdml0eVJlbmRlcmVyIiwiYXBwbHlNaWRkbGV3YXJlRm9yUmVuZGVyZXIiLCJzdHJpY3QiLCJhY3Rpdml0eSIsInBhdGNoZWRBY3Rpdml0eVN0YXR1c1JlbmRlcmVyIiwicGF0Y2hlZEF0dGFjaG1lbnRGb3JTY3JlZW5SZWFkZXJSZW5kZXJlciIsImF0dGFjaG1lbnQiLCJjb250ZW50VHlwZSIsInBhdGNoZWRBdHRhY2htZW50UmVuZGVyZXIiLCJhcHBseU1pZGRsZXdhcmVGb3JMZWdhY3lSZW5kZXJlciIsInBhdGNoZWRBdmF0YXJSZW5kZXJlciIsInBhdGNoZWRUb2FzdFJlbmRlcmVyIiwibm90aWZpY2F0aW9uIiwicGF0Y2hlZFR5cGluZ0luZGljYXRvclJlbmRlcmVyIiwic2Nyb2xsVG9FbmRCdXR0b25SZW5kZXJlciIsImNvbnRleHQiLCJhdHRhY2htZW50Rm9yU2NyZWVuUmVhZGVyUmVuZGVyZXIiLCJsb2NhbGl6ZWRHbG9iYWxpemVTdGF0ZSIsImRlZmF1bHRQcm9wcyIsInVuZGVmaW5lZCIsIndpbmRvdyIsIm5hdmlnYXRvciIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsIm9uZU9mVHlwZSIsImFycmF5T2YiLCJmdW5jIiwiYW55Iiwib25lT2YiLCJzaGFwZSIsImFjdGl2aXR5JCIsInN1YnNjcmliZSIsImlzUmVxdWlyZWQiLCJjb25uZWN0aW9uU3RhdHVzJCIsImVuZCIsInJlZmVyZW5jZUdyYW1tYXJJRCIsInN0cmluZyIsInRva2VuIiwiYm9vbCIsIm51bWJlciIsIkNvbXBvc2VyIiwiaW50ZXJuYWxSZW5kZXJFcnJvckJveCIsInN0b3JlIiwicHJvcHMiLCJlcnJvciIsInNldEVycm9yIiwiaGFuZGxlRXJyb3IiLCJmYXRhbCIsIm1lbW9pemVkU3RvcmUiLCJXZWJDaGF0UmVkdXhDb250ZXh0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBOEJBOztBQUNBOztBQUNBOztBQU9BOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUVBOztBQUNB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RSw2QkFBQyx3Q0FBRCxxQkFDRSw2QkFBQyxZQUFEO0FBQWMsSUFBQSxXQUFXLEVBQUVoRjtBQUEzQixLQUE0QzJFLEtBQTVDLEVBREYsQ0FERixDQURGLENBREYsQ0FIRjtBQWFELENBN0JEOztBQStCQUgsUUFBUSxDQUFDdEIsWUFBVCxHQUF3QjtBQUN0QnVCLEVBQUFBLHNCQUFzQixFQUFFdEIsU0FERjtBQUV0Qm5ELEVBQUFBLFdBQVcsRUFBRW1ELFNBRlM7QUFHdEJ1QixFQUFBQSxLQUFLLEVBQUV2QjtBQUhlLENBQXhCO0FBTUFxQixRQUFRLENBQUNsQixTQUFULEdBQXFCO0FBQ25CbUIsRUFBQUEsc0JBQXNCLEVBQUVsQixtQkFBVUksR0FEZjtBQUVuQjNELEVBQUFBLFdBQVcsRUFBRXVELG1CQUFVRyxJQUZKO0FBR25CZ0IsRUFBQUEsS0FBSyxFQUFFbkIsbUJBQVVJO0FBSEUsQ0FBckI7ZUFNZWEsUSIsInNvdXJjZVJvb3QiOiJjb21wb25lbnQ6Ly8vIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvdmlkZXIgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IFJlYWN0LCB7IEZDLCBSZWFjdE5vZGUsIHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdXBkYXRlSW4gZnJvbSAnc2ltcGxlLXVwZGF0ZS1pbic7XG5pbXBvcnQge1xuICBjbGVhclN1Z2dlc3RlZEFjdGlvbnMsXG4gIGNvbm5lY3QgYXMgY3JlYXRlQ29ubmVjdEFjdGlvbixcbiAgY3JlYXRlU3RvcmUsXG4gIGRpc2Nvbm5lY3QsXG4gIGRpc21pc3NOb3RpZmljYXRpb24sXG4gIGVtaXRUeXBpbmdJbmRpY2F0b3IsXG4gIG1hcmtBY3Rpdml0eSxcbiAgcG9zdEFjdGl2aXR5LFxuICBzZW5kRXZlbnQsXG4gIHNlbmRGaWxlcyxcbiAgc2VuZE1lc3NhZ2UsXG4gIHNlbmRNZXNzYWdlQmFjayxcbiAgc2VuZFBvc3RCYWNrLFxuICBzZXREaWN0YXRlSW50ZXJpbXMsXG4gIHNldERpY3RhdGVTdGF0ZSxcbiAgc2V0TGFuZ3VhZ2UsXG4gIHNldE5vdGlmaWNhdGlvbixcbiAgc2V0U2VuZEJveCxcbiAgc2V0U2VuZFRpbWVvdXQsXG4gIHNldFNlbmRUeXBpbmdJbmRpY2F0b3IsXG4gIHNpbmdsZVRvQXJyYXksXG4gIHN0YXJ0RGljdGF0ZSxcbiAgc3RhcnRTcGVha2luZ0FjdGl2aXR5LFxuICBzdG9wRGljdGF0ZSxcbiAgc3RvcFNwZWFraW5nQWN0aXZpdHksXG4gIHN1Ym1pdFNlbmRCb3hcbn0gZnJvbSAnYm90ZnJhbWV3b3JrLXdlYmNoYXQtY29yZSc7XG5pbXBvcnQgdHlwZSB7IERpcmVjdExpbmVKU0JvdENvbm5lY3Rpb24sIE9uZU9yTWFueSwgV2ViQ2hhdEFjdGl2aXR5IH0gZnJvbSAnYm90ZnJhbWV3b3JrLXdlYmNoYXQtY29yZSc7XG5cbmltcG9ydCB7IGRlZmF1bHQgYXMgV2ViQ2hhdEFQSUNvbnRleHQgfSBmcm9tICcuL2ludGVybmFsL1dlYkNoYXRBUElDb250ZXh0JztcbmltcG9ydCBBY3Rpdml0eUFja25vd2xlZGdlbWVudENvbXBvc2VyIGZyb20gJy4uL3Byb3ZpZGVycy9BY3Rpdml0eUFja25vd2xlZGdlbWVudC9BY3Rpdml0eUFja25vd2xlZGdlbWVudENvbXBvc2VyJztcbmltcG9ydCBBY3Rpdml0eUtleWVyQ29tcG9zZXIgZnJvbSAnLi4vcHJvdmlkZXJzL0FjdGl2aXR5S2V5ZXIvQWN0aXZpdHlLZXllckNvbXBvc2VyJztcbmltcG9ydCBBY3Rpdml0eU1pZGRsZXdhcmUgZnJvbSAnLi4vdHlwZXMvQWN0aXZpdHlNaWRkbGV3YXJlJztcbmltcG9ydCBBY3Rpdml0eVN0YXR1c01pZGRsZXdhcmUgZnJvbSAnLi4vdHlwZXMvQWN0aXZpdHlTdGF0dXNNaWRkbGV3YXJlJztcbmltcG9ydCBBdHRhY2htZW50Rm9yU2NyZWVuUmVhZGVyTWlkZGxld2FyZSBmcm9tICcuLi90eXBlcy9BdHRhY2htZW50Rm9yU2NyZWVuUmVhZGVyTWlkZGxld2FyZSc7XG5pbXBvcnQgQXR0YWNobWVudE1pZGRsZXdhcmUgZnJvbSAnLi4vdHlwZXMvQXR0YWNobWVudE1pZGRsZXdhcmUnO1xuaW1wb3J0IEF2YXRhck1pZGRsZXdhcmUgZnJvbSAnLi4vdHlwZXMvQXZhdGFyTWlkZGxld2FyZSc7XG5pbXBvcnQgQ2FyZEFjdGlvbk1pZGRsZXdhcmUgZnJvbSAnLi4vdHlwZXMvQ2FyZEFjdGlvbk1pZGRsZXdhcmUnO1xuaW1wb3J0IGNyZWF0ZUN1c3RvbUV2ZW50IGZyb20gJy4uL3V0aWxzL2NyZWF0ZUN1c3RvbUV2ZW50JztcbmltcG9ydCBjcmVhdGVEZWZhdWx0Q2FyZEFjdGlvbk1pZGRsZXdhcmUgZnJvbSAnLi9taWRkbGV3YXJlL2NyZWF0ZURlZmF1bHRDYXJkQWN0aW9uTWlkZGxld2FyZSc7XG5pbXBvcnQgY3JlYXRlRGVmYXVsdEdyb3VwQWN0aXZpdGllc01pZGRsZXdhcmUgZnJvbSAnLi9taWRkbGV3YXJlL2NyZWF0ZURlZmF1bHRHcm91cEFjdGl2aXRpZXNNaWRkbGV3YXJlJztcbmltcG9ydCBkZWZhdWx0U2VsZWN0Vm9pY2UgZnJvbSAnLi9pbnRlcm5hbC9kZWZhdWx0U2VsZWN0Vm9pY2UnO1xuaW1wb3J0IEVycm9yQm91bmRhcnkgZnJvbSAnLi91dGlscy9FcnJvckJvdW5kYXJ5JztcbmltcG9ydCBnZXRBbGxMb2NhbGl6ZWRTdHJpbmdzIGZyb20gJy4uL2xvY2FsaXphdGlvbi9nZXRBbGxMb2NhbGl6ZWRTdHJpbmdzJztcbmltcG9ydCBHcm91cEFjdGl2aXRpZXNNaWRkbGV3YXJlIGZyb20gJy4uL3R5cGVzL0dyb3VwQWN0aXZpdGllc01pZGRsZXdhcmUnO1xuaW1wb3J0IGlzT2JqZWN0IGZyb20gJy4uL3V0aWxzL2lzT2JqZWN0JztcbmltcG9ydCBMb2NhbGl6ZWRTdHJpbmdzIGZyb20gJy4uL3R5cGVzL0xvY2FsaXplZFN0cmluZ3MnO1xuaW1wb3J0IG1hcE1hcCBmcm9tICcuLi91dGlscy9tYXBNYXAnO1xuaW1wb3J0IG5vcm1hbGl6ZUxhbmd1YWdlIGZyb20gJy4uL3V0aWxzL25vcm1hbGl6ZUxhbmd1YWdlJztcbmltcG9ydCBub3JtYWxpemVTdHlsZU9wdGlvbnMgZnJvbSAnLi4vbm9ybWFsaXplU3R5bGVPcHRpb25zJztcbmltcG9ydCBvYnNlcnZhYmxlVG9Qcm9taXNlIGZyb20gJy4vdXRpbHMvb2JzZXJ2YWJsZVRvUHJvbWlzZSc7XG5pbXBvcnQgcGF0Y2hTdHlsZU9wdGlvbnNGcm9tRGVwcmVjYXRlZFByb3BzIGZyb20gJy4uL3BhdGNoU3R5bGVPcHRpb25zRnJvbURlcHJlY2F0ZWRQcm9wcyc7XG5pbXBvcnQgUHJlY29tcGlsZWRHbG9iYWxpemVUeXBlIGZyb20gJy4uL3R5cGVzL1ByZWNvbXBpbGVkR2xvYmFsaXplJztcbmltcG9ydCBTY3JvbGxUb0VuZEJ1dHRvbk1pZGRsZXdhcmUsIHsgU2Nyb2xsVG9FbmRCdXR0b25Db21wb25lbnRGYWN0b3J5IH0gZnJvbSAnLi4vdHlwZXMvU2Nyb2xsVG9FbmRCdXR0b25NaWRkbGV3YXJlJztcbmltcG9ydCBTdHlsZU9wdGlvbnMgZnJvbSAnLi4vU3R5bGVPcHRpb25zJztcbmltcG9ydCBUZWxlbWV0cnlNZWFzdXJlbWVudEV2ZW50LCB7IFRlbGVtZXRyeUV4Y2VwdGlvbk1lYXN1cmVtZW50RXZlbnQgfSBmcm9tICcuLi90eXBlcy9UZWxlbWV0cnlNZWFzdXJlbWVudEV2ZW50JztcbmltcG9ydCBUb2FzdE1pZGRsZXdhcmUgZnJvbSAnLi4vdHlwZXMvVG9hc3RNaWRkbGV3YXJlJztcbmltcG9ydCBUcmFja2VyIGZyb20gJy4vaW50ZXJuYWwvVHJhY2tlcic7XG5pbXBvcnQgVHlwaW5nSW5kaWNhdG9yTWlkZGxld2FyZSBmcm9tICcuLi90eXBlcy9UeXBpbmdJbmRpY2F0b3JNaWRkbGV3YXJlJztcbmltcG9ydCB1c2VNYXJrQWxsQXNBY2tub3dsZWRnZWQgZnJvbSAnLi91c2VNYXJrQWxsQXNBY2tub3dsZWRnZWQnO1xuaW1wb3J0IFdlYkNoYXRSZWR1eENvbnRleHQsIHsgdXNlRGlzcGF0Y2ggfSBmcm9tICcuL2ludGVybmFsL1dlYkNoYXRSZWR1eENvbnRleHQnO1xuXG5pbXBvcnQgYXBwbHlNaWRkbGV3YXJlLCB7XG4gIGZvckxlZ2FjeVJlbmRlcmVyIGFzIGFwcGx5TWlkZGxld2FyZUZvckxlZ2FjeVJlbmRlcmVyLFxuICBmb3JSZW5kZXJlciBhcyBhcHBseU1pZGRsZXdhcmVGb3JSZW5kZXJlclxufSBmcm9tICcuL21pZGRsZXdhcmUvYXBwbHlNaWRkbGV3YXJlJztcblxuLy8gUHJlY29tcGlsZUdsb2JhbGl6ZSBpcyBhIGdlbmVyYXRlZCBmaWxlIGFuZCBpcyBub3QgRVMgbW9kdWxlLiBUeXBlU2NyaXB0IGRvbid0IHdvcmsgd2l0aCBVTUQuXG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgUHJlY29tcGlsZWRHbG9iYWxpemUgZnJvbSAnLi4vZXh0ZXJuYWwvUHJlY29tcGlsZWRHbG9iYWxpemUnO1xuXG4vLyBMaXN0IG9mIFJlZHV4IGFjdGlvbnMgZmFjdG9yeSB3ZSBhcmUgaG9pc3RpbmcgYXMgV2ViIENoYXQgZnVuY3Rpb25zXG5jb25zdCBESVNQQVRDSEVSUyA9IHtcbiAgY2xlYXJTdWdnZXN0ZWRBY3Rpb25zLFxuICBkaXNtaXNzTm90aWZpY2F0aW9uLFxuICBlbWl0VHlwaW5nSW5kaWNhdG9yLFxuICBtYXJrQWN0aXZpdHksXG4gIHBvc3RBY3Rpdml0eSxcbiAgc2VuZEV2ZW50LFxuICBzZW5kRmlsZXMsXG4gIHNlbmRNZXNzYWdlLFxuICBzZW5kTWVzc2FnZUJhY2ssXG4gIHNlbmRQb3N0QmFjayxcbiAgc2V0RGljdGF0ZUludGVyaW1zLFxuICBzZXREaWN0YXRlU3RhdGUsXG4gIHNldE5vdGlmaWNhdGlvbixcbiAgc2V0U2VuZEJveCxcbiAgc2V0U2VuZFRpbWVvdXQsXG4gIHN0YXJ0RGljdGF0ZSxcbiAgc3RhcnRTcGVha2luZ0FjdGl2aXR5LFxuICBzdG9wRGljdGF0ZSxcbiAgc3RvcFNwZWFraW5nQWN0aXZpdHksXG4gIHN1Ym1pdFNlbmRCb3hcbn07XG5cbmZ1bmN0aW9uIGNyZWF0ZUNhcmRBY3Rpb25Db250ZXh0KHsgY2FyZEFjdGlvbk1pZGRsZXdhcmUsIGRpcmVjdExpbmUsIGRpc3BhdGNoLCBtYXJrQWxsQXNBY2tub3dsZWRnZWQgfSkge1xuICBjb25zdCBydW5NaWRkbGV3YXJlID0gYXBwbHlNaWRkbGV3YXJlKFxuICAgICdjYXJkIGFjdGlvbicsXG4gICAgLi4uc2luZ2xlVG9BcnJheShjYXJkQWN0aW9uTWlkZGxld2FyZSksXG4gICAgY3JlYXRlRGVmYXVsdENhcmRBY3Rpb25NaWRkbGV3YXJlKClcbiAgKSh7IGRpc3BhdGNoIH0pO1xuXG4gIHJldHVybiB7XG4gICAgb25DYXJkQWN0aW9uOiAoY2FyZEFjdGlvbiwgeyB0YXJnZXQgfTogeyB0YXJnZXQ/OiBhbnkgfSA9IHt9KSA9PiB7XG4gICAgICBtYXJrQWxsQXNBY2tub3dsZWRnZWQoKTtcblxuICAgICAgcmV0dXJuIHJ1bk1pZGRsZXdhcmUoe1xuICAgICAgICBjYXJkQWN0aW9uLFxuICAgICAgICBnZXRTaWduSW5Vcmw6XG4gICAgICAgICAgY2FyZEFjdGlvbi50eXBlID09PSAnc2lnbmluJ1xuICAgICAgICAgICAgPyAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gY2FyZEFjdGlvbjtcblxuICAgICAgICAgICAgICAgIGlmIChkaXJlY3RMaW5lLmdldFNlc3Npb25JZCkge1xuICAgICAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAgICAgKiBAdG9kbyBUT0RPOiBbUDNdIFdlIHNob3VsZCBjaGFuZ2UgdGhpcyBvbmUgdG8gYXN5bmMvYXdhaXQuXG4gICAgICAgICAgICAgICAgICAgKiAgICAgICBUaGlzIGlzIHRoZSBmaXJzdCBwbGFjZSBpbiB0aGlzIHByb2plY3QgdG8gdXNlIGFzeW5jLlxuICAgICAgICAgICAgICAgICAgICogICAgICAgVGh1cywgd2UgbmVlZCB0byBhZGQgQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tcnVudGltZSBhbmQgQGJhYmVsL3J1bnRpbWUuXG4gICAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICAgIHJldHVybiBvYnNlcnZhYmxlVG9Qcm9taXNlKGRpcmVjdExpbmUuZ2V0U2Vzc2lvbklkKCkpLnRoZW4oXG4gICAgICAgICAgICAgICAgICAgIHNlc3Npb25JZCA9PiBgJHt2YWx1ZX0ke2VuY29kZVVSSUNvbXBvbmVudChgJmNvZGVfY2hhbGxlbmdlPSR7c2Vzc2lvbklkfWApfWBcbiAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKCdib3RmcmFtZXdvcmstd2ViY2hhdDogT0F1dGggaXMgbm90IHN1cHBvcnRlZCBvbiB0aGlzIERpcmVjdCBMaW5lIGFkYXB0ZXIuJyk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDogbnVsbCxcbiAgICAgICAgdGFyZ2V0XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUdyb3VwQWN0aXZpdGllc0NvbnRleHQoeyBncm91cEFjdGl2aXRpZXNNaWRkbGV3YXJlLCBncm91cFRpbWVzdGFtcCB9KSB7XG4gIGNvbnN0IHJ1bk1pZGRsZXdhcmUgPSBhcHBseU1pZGRsZXdhcmUoXG4gICAgJ2dyb3VwIGFjdGl2aXRpZXMnLFxuICAgIC4uLnNpbmdsZVRvQXJyYXkoZ3JvdXBBY3Rpdml0aWVzTWlkZGxld2FyZSksXG4gICAgY3JlYXRlRGVmYXVsdEdyb3VwQWN0aXZpdGllc01pZGRsZXdhcmUoeyBncm91cFRpbWVzdGFtcCB9KVxuICApO1xuXG4gIHJldHVybiB7XG4gICAgZ3JvdXBBY3Rpdml0aWVzOiBydW5NaWRkbGV3YXJlKHt9KVxuICB9O1xufVxuXG5mdW5jdGlvbiBtZXJnZVN0cmluZ3NPdmVycmlkZXMobG9jYWxpemVkU3RyaW5ncywgbGFuZ3VhZ2UsIG92ZXJyaWRlTG9jYWxpemVkU3RyaW5ncykge1xuICBpZiAoIW92ZXJyaWRlTG9jYWxpemVkU3RyaW5ncykge1xuICAgIHJldHVybiBsb2NhbGl6ZWRTdHJpbmdzO1xuICB9IGVsc2UgaWYgKHR5cGVvZiBvdmVycmlkZUxvY2FsaXplZFN0cmluZ3MgPT09ICdmdW5jdGlvbicpIHtcbiAgICBjb25zdCBtZXJnZWQgPSBvdmVycmlkZUxvY2FsaXplZFN0cmluZ3MobG9jYWxpemVkU3RyaW5ncywgbGFuZ3VhZ2UpO1xuXG4gICAgaWYgKCFpc09iamVjdChtZXJnZWQpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2JvdGZyYW1ld29yay13ZWJjaGF0OiBvdmVycmlkZUxvY2FsaXplZFN0cmluZ3MgZnVuY3Rpb24gbXVzdCByZXR1cm4gYW4gb2JqZWN0LicpO1xuICAgIH1cblxuICAgIHJldHVybiBtZXJnZWQ7XG4gIH1cblxuICBpZiAoIWlzT2JqZWN0KG92ZXJyaWRlTG9jYWxpemVkU3RyaW5ncykpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2JvdGZyYW1ld29yay13ZWJjaGF0OiBvdmVycmlkZUxvY2FsaXplZFN0cmluZ3MgbXVzdCBiZSBlaXRoZXIgYSBmdW5jdGlvbiwgYW4gb2JqZWN0LCBvciBmYWxzeS4nKTtcbiAgfVxuXG4gIHJldHVybiB7IC4uLmxvY2FsaXplZFN0cmluZ3MsIC4uLm92ZXJyaWRlTG9jYWxpemVkU3RyaW5ncyB9O1xufVxuXG4vLyBJdCBzZWVtcyBcInJlYWN0L3JlcXVpcmUtZGVmYXVsdC1wcm9wc1wiIGRpZCBub3QgcGljayB1cCBgQ29tcG9zZXJDb3JlLmRlZmF1bHRQcm9wc2AuXG4vLyBBbmQgaXQgZmFsc2VseSBjb21wbGFpbnQgYG9wdGlvbmFsPzogc3RyaW5nYCBtdXN0IGhhdmUgYSBjb3JyZXNwb25kaW5nIGBDb21wb3NlckNvcmUuZGVmYXVsdFByb3BzLm9wdGlvbmFsID0gdW5kZWZpbmVkYCwgZXZlbiB3ZSBhbHJlYWR5IHNldCBpdCBiZWxvdy5cbi8vIFNpbmNlIHdlIHNldCBib3RoIFR5cGVTY3JpcHQgYFByb3BzYCBjbGFzcyBhbmQgYENvbXBvc2VyQ29yZS5wcm9wVHlwZXNgLCB0aGlzIGNoZWNrIHdpbGwgYmUgZG9uZSB0aGVyZSBhcyB3ZWxsLlxuLy8gSWdub3JpbmcgaXQgaW4gVHlwZVNjcmlwdCB2ZXJzaW9uIHNob3VsZCBiZSBzYWZlLCBhcyB3ZSBoYXZlIGBwcm9wVHlwZXNgIHZlcnNpb24gdG8gcHJvdGVjdCB1cy5cblxuLyogZXNsaW50LWRpc2FibGUgcmVhY3QvcmVxdWlyZS1kZWZhdWx0LXByb3BzICovXG50eXBlIENvbXBvc2VyQ29yZVByb3BzID0ge1xuICBhY3Rpdml0eU1pZGRsZXdhcmU/OiBPbmVPck1hbnk8QWN0aXZpdHlNaWRkbGV3YXJlPjtcbiAgYWN0aXZpdHlTdGF0dXNNaWRkbGV3YXJlPzogT25lT3JNYW55PEFjdGl2aXR5U3RhdHVzTWlkZGxld2FyZT47XG4gIGF0dGFjaG1lbnRGb3JTY3JlZW5SZWFkZXJNaWRkbGV3YXJlPzogT25lT3JNYW55PEF0dGFjaG1lbnRGb3JTY3JlZW5SZWFkZXJNaWRkbGV3YXJlPjtcbiAgYXR0YWNobWVudE1pZGRsZXdhcmU/OiBPbmVPck1hbnk8QXR0YWNobWVudE1pZGRsZXdhcmU+O1xuICBhdmF0YXJNaWRkbGV3YXJlPzogT25lT3JNYW55PEF2YXRhck1pZGRsZXdhcmU+O1xuICBjYXJkQWN0aW9uTWlkZGxld2FyZT86IE9uZU9yTWFueTxDYXJkQWN0aW9uTWlkZGxld2FyZT47XG4gIGNoaWxkcmVuPzogUmVhY3ROb2RlO1xuICBkaXI/OiBzdHJpbmc7XG4gIGRpcmVjdExpbmU6IERpcmVjdExpbmVKU0JvdENvbm5lY3Rpb247XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgZG93bnNjYWxlSW1hZ2VUb0RhdGFVUkw/OiAoYmxvYjogQmxvYiwgbWF4V2lkdGg6IG51bWJlciwgbWF4SGVpZ2h0OiBudW1iZXIsIHR5cGU6IHN0cmluZywgcXVhbGl0eTogbnVtYmVyKSA9PiBzdHJpbmc7XG4gIGdyYW1tYXJzPzogYW55O1xuICBncm91cEFjdGl2aXRpZXNNaWRkbGV3YXJlPzogT25lT3JNYW55PEdyb3VwQWN0aXZpdGllc01pZGRsZXdhcmU+O1xuICBpbnRlcm5hbEVycm9yQm94Q2xhc3M/OiBSZWFjdC5Db21wb25lbnQgfCBGdW5jdGlvbjtcbiAgbG9jYWxlPzogc3RyaW5nO1xuICBvblRlbGVtZXRyeT86IChldmVudDogVGVsZW1ldHJ5TWVhc3VyZW1lbnRFdmVudCkgPT4gdm9pZDtcbiAgb3ZlcnJpZGVMb2NhbGl6ZWRTdHJpbmdzPzogTG9jYWxpemVkU3RyaW5ncyB8ICgoc3RyaW5nczogTG9jYWxpemVkU3RyaW5ncywgbGFuZ3VhZ2U6IHN0cmluZykgPT4gTG9jYWxpemVkU3RyaW5ncyk7XG4gIHJlbmRlck1hcmtkb3duPzogKG1hcmtkb3duOiBzdHJpbmcsIHsgbWFya2Rvd25SZXNwZWN0Q1JMRjogYm9vbGVhbiB9LCB7IGV4dGVybmFsTGlua0FsdDogc3RyaW5nIH0pID0+IHN0cmluZztcbiAgc2Nyb2xsVG9FbmRCdXR0b25NaWRkbGV3YXJlPzogT25lT3JNYW55PFNjcm9sbFRvRW5kQnV0dG9uTWlkZGxld2FyZT47XG4gIHNlbGVjdFZvaWNlPzogKHZvaWNlczogdHlwZW9mIHdpbmRvdy5TcGVlY2hTeW50aGVzaXNWb2ljZVtdLCBhY3Rpdml0eTogV2ViQ2hhdEFjdGl2aXR5KSA9PiB2b2lkO1xuICBzZW5kVHlwaW5nSW5kaWNhdG9yPzogYm9vbGVhbjtcbiAgc3R5bGVPcHRpb25zPzogU3R5bGVPcHRpb25zO1xuICB0b2FzdE1pZGRsZXdhcmU/OiBPbmVPck1hbnk8VG9hc3RNaWRkbGV3YXJlPjtcbiAgdHlwaW5nSW5kaWNhdG9yTWlkZGxld2FyZT86IE9uZU9yTWFueTxUeXBpbmdJbmRpY2F0b3JNaWRkbGV3YXJlPjtcbiAgdXNlcklEPzogc3RyaW5nO1xuICB1c2VybmFtZT86IHN0cmluZztcblxuICAvKiogQGRlcHJlY2F0ZWQgUGxlYXNlIHVzZSBcImFjdGl2aXR5TWlkZGxld2FyZVwiIGluc3RlYWQuICovXG4gIGFjdGl2aXR5UmVuZGVyZXI/OiBhbnk7IC8vIFRPRE86IFtQNF0gUmVtb3ZlIG9uIG9yIGFmdGVyIDIwMjItMDYtMTUuXG4gIC8qKiBAZGVwcmVjYXRlZCBQbGVhc2UgdXNlIFwiYWN0aXZpdHlTdGF0dXNNaWRkbGV3YXJlXCIgaW5zdGVhZC4gKi9cbiAgYWN0aXZpdHlTdGF0dXNSZW5kZXJlcj86IGFueTsgLy8gVE9ETzogW1A0XSBSZW1vdmUgb24gb3IgYWZ0ZXIgMjAyMi0wNi0xNS5cbiAgLyoqIEBkZXByZWNhdGVkIFBsZWFzZSB1c2UgXCJhdHRhY2htZW50TWlkZGxld2FyZVwiIGluc3RlYWQuICovXG4gIGF0dGFjaG1lbnRSZW5kZXJlcj86IGFueTsgLy8gVE9ETzogW1A0XSBSZW1vdmUgb24gb3IgYWZ0ZXIgMjAyMi0wNi0xNS5cbiAgLyoqIEBkZXByZWNhdGVkIFBsZWFzZSB1c2UgXCJhdmF0YXJNaWRkbGV3YXJlXCIgaW5zdGVhZC4gKi9cbiAgYXZhdGFyUmVuZGVyZXI/OiBhbnk7IC8vIFRPRE86IFtQNF0gUmVtb3ZlIG9uIG9yIGFmdGVyIDIwMjItMDYtMTUuXG4gIC8qKiBAZGVwcmVjYXRlZCBQbGVhc2UgdXNlIFwic3R5bGVPcHRpb25zLmdyb3VwVGltZXN0YW1wXCIgaW5zdGVhZC4gKi9cbiAgZ3JvdXBUaW1lc3RhbXA/OiBib29sZWFuIHwgbnVtYmVyOyAvLyBUT0RPOiBbUDRdIFJlbW92ZSBvbiBvciBhZnRlciAyMDIyLTAxLTAxXG4gIC8qKiBAZGVwcmVjYXRlZCBQbGVhc2UgdXNlIFwic3R5bGVPcHRpb25zLnNlbmRUaW1lb3V0XCIgaW5zdGVhZC4gKi9cbiAgc2VuZFRpbWVvdXQ/OiBudW1iZXI7IC8vIFRPRE86IFtQNF0gUmVtb3ZlIG9uIG9yIGFmdGVyIDIwMjItMDEtMDEuXG4gIC8qKiBAZGVwcmVjYXRlZCBQbGVhc2UgdXNlIFwidG9hc3RNaWRkbGV3YXJlXCIgaW5zdGVhZC4gKi9cbiAgdG9hc3RSZW5kZXJlcj86IGFueTsgLy8gVE9ETzogW1A0XSBSZW1vdmUgb24gb3IgYWZ0ZXIgMjAyMi0wNi0xNS5cbiAgLyoqIEBkZXByZWNhdGVkIFBsZWFzZSB1c2UgXCJ0eXBpbmdJbmRpY2F0b3JSZW5kZXJlclwiIGluc3RlYWQuICovXG4gIHR5cGluZ0luZGljYXRvclJlbmRlcmVyPzogYW55OyAvLyBUT0RPOiBbUDRdIFJlbW92ZSBvbiBvciBhZnRlciAyMDIyLTA2LTE1LlxufTtcbi8qIGVzbGludC1lbmFibGUgcmVhY3QvcmVxdWlyZS1kZWZhdWx0LXByb3BzICovXG5cbmNvbnN0IENvbXBvc2VyQ29yZTogRkM8Q29tcG9zZXJDb3JlUHJvcHM+ID0gKHtcbiAgYWN0aXZpdHlNaWRkbGV3YXJlLFxuICBhY3Rpdml0eVJlbmRlcmVyLFxuICBhY3Rpdml0eVN0YXR1c01pZGRsZXdhcmUsXG4gIGFjdGl2aXR5U3RhdHVzUmVuZGVyZXIsXG4gIGF0dGFjaG1lbnRNaWRkbGV3YXJlLFxuICBhdHRhY2htZW50Rm9yU2NyZWVuUmVhZGVyTWlkZGxld2FyZSxcbiAgYXR0YWNobWVudFJlbmRlcmVyLFxuICBhdmF0YXJNaWRkbGV3YXJlLFxuICBhdmF0YXJSZW5kZXJlcixcbiAgY2FyZEFjdGlvbk1pZGRsZXdhcmUsXG4gIGNoaWxkcmVuLFxuICBkaXIsXG4gIGRpcmVjdExpbmUsXG4gIGRpc2FibGVkLFxuICBkb3duc2NhbGVJbWFnZVRvRGF0YVVSTCxcbiAgZ3JhbW1hcnMsXG4gIGdyb3VwQWN0aXZpdGllc01pZGRsZXdhcmUsXG4gIGdyb3VwVGltZXN0YW1wLFxuICBpbnRlcm5hbEVycm9yQm94Q2xhc3MsXG4gIGxvY2FsZSxcbiAgb25UZWxlbWV0cnksXG4gIG92ZXJyaWRlTG9jYWxpemVkU3RyaW5ncyxcbiAgcmVuZGVyTWFya2Rvd24sXG4gIHNjcm9sbFRvRW5kQnV0dG9uTWlkZGxld2FyZSxcbiAgc2VsZWN0Vm9pY2UsXG4gIHNlbmRUaW1lb3V0LFxuICBzZW5kVHlwaW5nSW5kaWNhdG9yLFxuICBzdHlsZU9wdGlvbnMsXG4gIHRvYXN0TWlkZGxld2FyZSxcbiAgdG9hc3RSZW5kZXJlcixcbiAgdHlwaW5nSW5kaWNhdG9yTWlkZGxld2FyZSxcbiAgdHlwaW5nSW5kaWNhdG9yUmVuZGVyZXIsXG4gIHVzZXJJRCxcbiAgdXNlcm5hbWVcbn0pID0+IHtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCB0ZWxlbWV0cnlEaW1lbnNpb25zUmVmID0gdXNlUmVmKHt9KTtcblxuICBjb25zdCBwYXRjaGVkRGlyID0gdXNlTWVtbygoKSA9PiAoZGlyID09PSAnbHRyJyB8fCBkaXIgPT09ICdydGwnID8gZGlyIDogJ2F1dG8nKSwgW2Rpcl0pO1xuICBjb25zdCBwYXRjaGVkR3JhbW1hcnMgPSB1c2VNZW1vKCgpID0+IGdyYW1tYXJzIHx8IFtdLCBbZ3JhbW1hcnNdKTtcbiAgY29uc3QgcGF0Y2hlZFN0eWxlT3B0aW9ucyA9IHVzZU1lbW8oXG4gICAgKCkgPT4gbm9ybWFsaXplU3R5bGVPcHRpb25zKHBhdGNoU3R5bGVPcHRpb25zRnJvbURlcHJlY2F0ZWRQcm9wcyhzdHlsZU9wdGlvbnMsIHsgZ3JvdXBUaW1lc3RhbXAsIHNlbmRUaW1lb3V0IH0pKSxcbiAgICBbZ3JvdXBUaW1lc3RhbXAsIHNlbmRUaW1lb3V0LCBzdHlsZU9wdGlvbnNdXG4gICk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBkaXNwYXRjaChzZXRMYW5ndWFnZShsb2NhbGUpKTtcbiAgfSwgW2Rpc3BhdGNoLCBsb2NhbGVdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHR5cGVvZiBzZW5kVGltZW91dCA9PT0gJ251bWJlcicgJiYgZGlzcGF0Y2goc2V0U2VuZFRpbWVvdXQoc2VuZFRpbWVvdXQpKTtcbiAgfSwgW2Rpc3BhdGNoLCBzZW5kVGltZW91dF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZGlzcGF0Y2goc2V0U2VuZFR5cGluZ0luZGljYXRvcighIXNlbmRUeXBpbmdJbmRpY2F0b3IpKTtcbiAgfSwgW2Rpc3BhdGNoLCBzZW5kVHlwaW5nSW5kaWNhdG9yXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBkaXNwYXRjaChcbiAgICAgIGNyZWF0ZUNvbm5lY3RBY3Rpb24oe1xuICAgICAgICBkaXJlY3RMaW5lLFxuICAgICAgICB1c2VySUQsXG4gICAgICAgIHVzZXJuYW1lXG4gICAgICB9KVxuICAgICk7XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgLyoqXG4gICAgICAgKiBAdG9kbyBUT0RPOiBbUDNdIGRpc2Nvbm5lY3QoKSBpcyBhbiBhc3luYyBjYWxsIChwZW5kaW5nIC0+IGZ1bGZpbGxlZCksIHdlIG5lZWQgdG8gd2FpdCwgb3IgY2hhbmdlIGl0IHRvIHJlY29ubmVjdCgpXG4gICAgICAgKi9cbiAgICAgIGRpc3BhdGNoKGRpc2Nvbm5lY3QoKSk7XG4gICAgfTtcbiAgfSwgW2Rpc3BhdGNoLCBkaXJlY3RMaW5lLCB1c2VySUQsIHVzZXJuYW1lXSk7XG5cbiAgY29uc3QgbWFya0FsbEFzQWNrbm93bGVkZ2VkID0gdXNlTWFya0FsbEFzQWNrbm93bGVkZ2VkKCk7XG5cbiAgY29uc3QgY2FyZEFjdGlvbkNvbnRleHQgPSB1c2VNZW1vKFxuICAgICgpID0+IGNyZWF0ZUNhcmRBY3Rpb25Db250ZXh0KHsgY2FyZEFjdGlvbk1pZGRsZXdhcmUsIGRpcmVjdExpbmUsIGRpc3BhdGNoLCBtYXJrQWxsQXNBY2tub3dsZWRnZWQgfSksXG4gICAgW2NhcmRBY3Rpb25NaWRkbGV3YXJlLCBkaXJlY3RMaW5lLCBkaXNwYXRjaCwgbWFya0FsbEFzQWNrbm93bGVkZ2VkXVxuICApO1xuXG4gIGNvbnN0IHBhdGNoZWRTZWxlY3RWb2ljZSA9IHVzZU1lbW8oXG4gICAgKCkgPT4gc2VsZWN0Vm9pY2UgfHwgZGVmYXVsdFNlbGVjdFZvaWNlLmJpbmQobnVsbCwgeyBsYW5ndWFnZTogbG9jYWxlIH0pLFxuICAgIFtsb2NhbGUsIHNlbGVjdFZvaWNlXVxuICApO1xuXG4gIGNvbnN0IGdyb3VwQWN0aXZpdGllc0NvbnRleHQgPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICBjcmVhdGVHcm91cEFjdGl2aXRpZXNDb250ZXh0KHtcbiAgICAgICAgZ3JvdXBBY3Rpdml0aWVzTWlkZGxld2FyZSxcbiAgICAgICAgZ3JvdXBUaW1lc3RhbXA6IHBhdGNoZWRTdHlsZU9wdGlvbnMuZ3JvdXBUaW1lc3RhbXBcbiAgICAgIH0pLFxuICAgIFtncm91cEFjdGl2aXRpZXNNaWRkbGV3YXJlLCBwYXRjaGVkU3R5bGVPcHRpb25zLmdyb3VwVGltZXN0YW1wXVxuICApO1xuXG4gIGNvbnN0IGhvaXN0ZWREaXNwYXRjaGVycyA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIG1hcE1hcChcbiAgICAgICAgRElTUEFUQ0hFUlMsXG4gICAgICAgIGRpc3BhdGNoZXIgPT5cbiAgICAgICAgICAoLi4uYXJncykgPT5cbiAgICAgICAgICAgIGRpc3BhdGNoKGRpc3BhdGNoZXIoLi4uYXJncykpXG4gICAgICApLFxuICAgIFtkaXNwYXRjaF1cbiAgKTtcblxuICBjb25zdCBwYXRjaGVkTG9jYWxpemVkU3RyaW5ncyA9IHVzZU1lbW8oXG4gICAgKCkgPT4gbWVyZ2VTdHJpbmdzT3ZlcnJpZGVzKGdldEFsbExvY2FsaXplZFN0cmluZ3MoKVtub3JtYWxpemVMYW5ndWFnZShsb2NhbGUpXSwgbG9jYWxlLCBvdmVycmlkZUxvY2FsaXplZFN0cmluZ3MpLFxuICAgIFtsb2NhbGUsIG92ZXJyaWRlTG9jYWxpemVkU3RyaW5nc11cbiAgKTtcblxuICBjb25zdCBsb2NhbGl6ZWRHbG9iYWxpemUgPSB1c2VNZW1vPFByZWNvbXBpbGVkR2xvYmFsaXplVHlwZT4oKCkgPT4ge1xuICAgIGNvbnN0IHsgR0xPQkFMSVpFLCBHTE9CQUxJWkVfTEFOR1VBR0UgfSA9IHBhdGNoZWRMb2NhbGl6ZWRTdHJpbmdzIHx8IHt9O1xuXG4gICAgcmV0dXJuIEdMT0JBTElaRSB8fCAoR0xPQkFMSVpFX0xBTkdVQUdFICYmIFByZWNvbXBpbGVkR2xvYmFsaXplKEdMT0JBTElaRV9MQU5HVUFHRSkpIHx8IFByZWNvbXBpbGVkR2xvYmFsaXplKCdlbicpO1xuICB9LCBbcGF0Y2hlZExvY2FsaXplZFN0cmluZ3NdKTtcblxuICBjb25zdCB0cmFja0RpbWVuc2lvbiA9IHVzZUNhbGxiYWNrKFxuICAgIChuYW1lOiBzdHJpbmcsIGRhdGE6IGFueSkgPT4ge1xuICAgICAgaWYgKCFuYW1lIHx8IHR5cGVvZiBuYW1lICE9PSAnc3RyaW5nJykge1xuICAgICAgICByZXR1cm4gY29uc29sZS53YXJuKCdib3RmcmFtZXdvcmstd2ViY2hhdDogVGVsZW1ldHJ5IGRpbWVuc2lvbiBuYW1lIG11c3QgYmUgYSBzdHJpbmcuJyk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHR5cGUgPSB0eXBlb2YgZGF0YTtcblxuICAgICAgaWYgKHR5cGUgIT09ICdzdHJpbmcnICYmIHR5cGUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIHJldHVybiBjb25zb2xlLndhcm4oJ2JvdGZyYW1ld29yay13ZWJjaGF0OiBUZWxlbWV0cnkgZGltZW5zaW9uIGRhdGEgbXVzdCBiZSBhIHN0cmluZyBvciB1bmRlZmluZWQuJyk7XG4gICAgICB9XG5cbiAgICAgIHRlbGVtZXRyeURpbWVuc2lvbnNSZWYuY3VycmVudCA9IHVwZGF0ZUluKFxuICAgICAgICB0ZWxlbWV0cnlEaW1lbnNpb25zUmVmLmN1cnJlbnQsXG4gICAgICAgIFtuYW1lXSxcbiAgICAgICAgdHlwZSA9PT0gJ3VuZGVmaW5lZCcgPyBkYXRhIDogKCkgPT4gZGF0YVxuICAgICAgKTtcbiAgICB9LFxuICAgIFt0ZWxlbWV0cnlEaW1lbnNpb25zUmVmXVxuICApO1xuXG4gIGNvbnN0IHBhdGNoZWRBY3Rpdml0eVJlbmRlcmVyID0gdXNlTWVtbygoKSA9PiB7XG4gICAgYWN0aXZpdHlSZW5kZXJlciAmJlxuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAnV2ViIENoYXQ6IFwiYWN0aXZpdHlSZW5kZXJlclwiIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBvbiAyMDIyLTA2LTE1LCBwbGVhc2UgdXNlIFwiYWN0aXZpdHlNaWRkbGV3YXJlXCIgaW5zdGVhZC4nXG4gICAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIGFjdGl2aXR5UmVuZGVyZXIgfHxcbiAgICAgIGFwcGx5TWlkZGxld2FyZUZvclJlbmRlcmVyKFxuICAgICAgICAnYWN0aXZpdHknLFxuICAgICAgICB7IHN0cmljdDogZmFsc2UgfSxcbiAgICAgICAgLi4uc2luZ2xlVG9BcnJheShhY3Rpdml0eU1pZGRsZXdhcmUpLFxuICAgICAgICAoKSA9PlxuICAgICAgICAgICgpID0+XG4gICAgICAgICAgKHsgYWN0aXZpdHkgfSkgPT4ge1xuICAgICAgICAgICAgaWYgKGFjdGl2aXR5KSB7XG4gICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gcmVuZGVyZXIgZm9yIGFjdGl2aXR5IG9mIHR5cGUgXCIke2FjdGl2aXR5LnR5cGV9XCJgKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignTm8gYWN0aXZpdHkgdG8gcmVuZGVyJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgKSh7fSlcbiAgICApO1xuICB9LCBbYWN0aXZpdHlNaWRkbGV3YXJlLCBhY3Rpdml0eVJlbmRlcmVyXSk7XG5cbiAgY29uc3QgcGF0Y2hlZEFjdGl2aXR5U3RhdHVzUmVuZGVyZXIgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBhY3Rpdml0eVN0YXR1c1JlbmRlcmVyICYmXG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICdXZWIgQ2hhdDogXCJhY3Rpdml0eVN0YXR1c1JlbmRlcmVyXCIgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIG9uIDIwMjItMDYtMTUsIHBsZWFzZSB1c2UgXCJhY3Rpdml0eVN0YXR1c01pZGRsZXdhcmVcIiBpbnN0ZWFkLidcbiAgICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgYWN0aXZpdHlTdGF0dXNSZW5kZXJlciB8fFxuICAgICAgYXBwbHlNaWRkbGV3YXJlRm9yUmVuZGVyZXIoXG4gICAgICAgICdhY3Rpdml0eSBzdGF0dXMnLFxuICAgICAgICB7IHN0cmljdDogZmFsc2UgfSxcbiAgICAgICAgLi4uc2luZ2xlVG9BcnJheShhY3Rpdml0eVN0YXR1c01pZGRsZXdhcmUpLFxuICAgICAgICAoKSA9PiAoKSA9PiAoKSA9PiBmYWxzZVxuICAgICAgKSh7fSlcbiAgICApO1xuICB9LCBbYWN0aXZpdHlTdGF0dXNNaWRkbGV3YXJlLCBhY3Rpdml0eVN0YXR1c1JlbmRlcmVyXSk7XG5cbiAgY29uc3QgcGF0Y2hlZEF0dGFjaG1lbnRGb3JTY3JlZW5SZWFkZXJSZW5kZXJlciA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIGFwcGx5TWlkZGxld2FyZUZvclJlbmRlcmVyKFxuICAgICAgICAnYXR0YWNobWVudCBmb3Igc2NyZWVuIHJlYWRlcicsXG4gICAgICAgIHsgc3RyaWN0OiB0cnVlIH0sXG4gICAgICAgIC4uLnNpbmdsZVRvQXJyYXkoYXR0YWNobWVudEZvclNjcmVlblJlYWRlck1pZGRsZXdhcmUpLFxuICAgICAgICAoKSA9PlxuICAgICAgICAgICgpID0+XG4gICAgICAgICAgKHsgYXR0YWNobWVudCB9KSA9PiB7XG4gICAgICAgICAgICBpZiAoYXR0YWNobWVudCkge1xuICAgICAgICAgICAgICBjb25zb2xlLndhcm4oYE5vIHJlbmRlcmVyIGZvciBhdHRhY2htZW50IGZvciBzY3JlZW4gcmVhZGVyIG9mIHR5cGUgXCIke2F0dGFjaG1lbnQuY29udGVudFR5cGV9XCJgKTtcbiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICogQHRvZG8gVE9ETzogW1A0XSBNaWdodCBiZSBhYmxlIHRvIHRocm93IHdpdGhvdXQgcmV0dXJuaW5nIGEgZnVuY3Rpb24gLS0gaW52ZXN0aWdhdGUgYW5kIHBvc3NpYmx5IGZpeFxuICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyBhdHRhY2htZW50IHRvIHJlbmRlcicpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9XG4gICAgICApKHt9KSxcbiAgICBbYXR0YWNobWVudEZvclNjcmVlblJlYWRlck1pZGRsZXdhcmVdXG4gICk7XG5cbiAgY29uc3QgcGF0Y2hlZEF0dGFjaG1lbnRSZW5kZXJlciA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChhdHRhY2htZW50UmVuZGVyZXIpIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgJ1dlYiBDaGF0OiBcImF0dGFjaG1lbnRSZW5kZXJlclwiIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBvbiAyMDIyLTA2LTE1LCBwbGVhc2UgdXNlIFwiYXR0YWNobWVudE1pZGRsZXdhcmVcIiBpbnN0ZWFkLidcbiAgICAgICk7XG5cbiAgICAgIHJldHVybiBhdHRhY2htZW50UmVuZGVyZXI7XG4gICAgfVxuXG4gICAgLy8gQXR0YWNobWVudCByZW5kZXJlclxuICAgIHJldHVybiBhcHBseU1pZGRsZXdhcmVGb3JMZWdhY3lSZW5kZXJlcihcbiAgICAgICdhdHRhY2htZW50JyxcbiAgICAgIC4uLnNpbmdsZVRvQXJyYXkoYXR0YWNobWVudE1pZGRsZXdhcmUpLFxuICAgICAgKCkgPT5cbiAgICAgICAgKCkgPT5cbiAgICAgICAgKHsgYXR0YWNobWVudCB9KSA9PiB7XG4gICAgICAgICAgaWYgKGF0dGFjaG1lbnQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gcmVuZGVyZXIgZm9yIGF0dGFjaG1lbnQgb2YgdHlwZSBcIiR7YXR0YWNobWVudC5jb250ZW50VHlwZX1cImApO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIGF0dGFjaG1lbnQgdG8gcmVuZGVyJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgKSh7fSk7XG4gIH0sIFthdHRhY2htZW50TWlkZGxld2FyZSwgYXR0YWNobWVudFJlbmRlcmVyXSk7XG5cbiAgY29uc3QgcGF0Y2hlZEF2YXRhclJlbmRlcmVyID0gdXNlTWVtbygoKSA9PiB7XG4gICAgYXZhdGFyUmVuZGVyZXIgJiZcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgJ1dlYiBDaGF0OiBcImF2YXRhclJlbmRlcmVyXCIgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIG9uIDIwMjItMDYtMTUsIHBsZWFzZSB1c2UgXCJhdmF0YXJNaWRkbGV3YXJlXCIgaW5zdGVhZC4nXG4gICAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIGF2YXRhclJlbmRlcmVyIHx8XG4gICAgICBhcHBseU1pZGRsZXdhcmVGb3JSZW5kZXJlcihcbiAgICAgICAgJ2F2YXRhcicsXG4gICAgICAgIHsgc3RyaWN0OiBmYWxzZSB9LFxuICAgICAgICAuLi5zaW5nbGVUb0FycmF5KGF2YXRhck1pZGRsZXdhcmUpLFxuICAgICAgICAoKSA9PiAoKSA9PiAoKSA9PiBmYWxzZVxuICAgICAgKSh7fSlcbiAgICApO1xuICB9LCBbYXZhdGFyTWlkZGxld2FyZSwgYXZhdGFyUmVuZGVyZXJdKTtcblxuICBjb25zdCBwYXRjaGVkVG9hc3RSZW5kZXJlciA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHRvYXN0UmVuZGVyZXIgJiZcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgJ1dlYiBDaGF0OiBcInRvYXN0UmVuZGVyZXJcIiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgb24gMjAyMi0wNi0xNSwgcGxlYXNlIHVzZSBcInRvYXN0TWlkZGxld2FyZVwiIGluc3RlYWQuJ1xuICAgICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICB0b2FzdFJlbmRlcmVyIHx8XG4gICAgICBhcHBseU1pZGRsZXdhcmVGb3JSZW5kZXJlcihcbiAgICAgICAgJ3RvYXN0JyxcbiAgICAgICAgeyBzdHJpY3Q6IGZhbHNlIH0sXG4gICAgICAgIC4uLnNpbmdsZVRvQXJyYXkodG9hc3RNaWRkbGV3YXJlKSxcbiAgICAgICAgKCkgPT5cbiAgICAgICAgICAoKSA9PlxuICAgICAgICAgICh7IG5vdGlmaWNhdGlvbiB9KSA9PiB7XG4gICAgICAgICAgICBpZiAobm90aWZpY2F0aW9uKSB7XG4gICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gcmVuZGVyZXIgZm9yIG5vdGlmaWNhdGlvbiBvZiB0eXBlIFwiJHtub3RpZmljYXRpb24uY29udGVudFR5cGV9XCJgKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignTm8gbm90aWZpY2F0aW9uIHRvIHJlbmRlcicpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICkoe30pXG4gICAgKTtcbiAgfSwgW3RvYXN0TWlkZGxld2FyZSwgdG9hc3RSZW5kZXJlcl0pO1xuXG4gIGNvbnN0IHBhdGNoZWRUeXBpbmdJbmRpY2F0b3JSZW5kZXJlciA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHR5cGluZ0luZGljYXRvclJlbmRlcmVyICYmXG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICdXZWIgQ2hhdDogXCJ0eXBpbmdJbmRpY2F0b3JSZW5kZXJlclwiIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBvbiAyMDIyLTA2LTE1LCBwbGVhc2UgdXNlIFwidHlwaW5nSW5kaWNhdG9yTWlkZGxld2FyZVwiIGluc3RlYWQuJ1xuICAgICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICB0eXBpbmdJbmRpY2F0b3JSZW5kZXJlciB8fFxuICAgICAgYXBwbHlNaWRkbGV3YXJlRm9yUmVuZGVyZXIoXG4gICAgICAgICd0eXBpbmcgaW5kaWNhdG9yJyxcbiAgICAgICAgeyBzdHJpY3Q6IGZhbHNlIH0sXG4gICAgICAgIC4uLnNpbmdsZVRvQXJyYXkodHlwaW5nSW5kaWNhdG9yTWlkZGxld2FyZSksXG4gICAgICAgICgpID0+ICgpID0+ICgpID0+IGZhbHNlXG4gICAgICApKHt9KVxuICAgICk7XG4gIH0sIFt0eXBpbmdJbmRpY2F0b3JNaWRkbGV3YXJlLCB0eXBpbmdJbmRpY2F0b3JSZW5kZXJlcl0pO1xuXG4gIGNvbnN0IHNjcm9sbFRvRW5kQnV0dG9uUmVuZGVyZXI6IFNjcm9sbFRvRW5kQnV0dG9uQ29tcG9uZW50RmFjdG9yeSA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIGFwcGx5TWlkZGxld2FyZUZvclJlbmRlcmVyKFxuICAgICAgICAnc2Nyb2xsIHRvIGVuZCBidXR0b24nLFxuICAgICAgICB7IHN0cmljdDogdHJ1ZSB9LFxuICAgICAgICAuLi5zaW5nbGVUb0FycmF5KHNjcm9sbFRvRW5kQnV0dG9uTWlkZGxld2FyZSksXG4gICAgICAgICgpID0+ICgpID0+ICgpID0+IGZhbHNlXG4gICAgICApKCkgYXMgYW55LFxuICAgIFtzY3JvbGxUb0VuZEJ1dHRvbk1pZGRsZXdhcmVdXG4gICk7XG5cbiAgLyoqXG4gICAqIFRoaXMgaXMgYSBoZWF2eSBmdW5jdGlvbiwgYW5kIGl0IGlzIGV4cGVjdGVkIHRvIGJlIG9ubHkgY2FsbGVkIHdoZW4gdGhlcmUgaXMgYSBuZWVkIHRvIHJlY3JlYXRlIGJ1c2luZXNzIGxvZ2ljLCBlLmcuXG4gICAqIC0gVXNlciBJRCBjaGFuZ2VkLCBjYXVzaW5nIGFsbCBzZW5kKiBmdW5jdGlvbnMgdG8gYmUgdXBkYXRlZFxuICAgKiAtIHNlbmRcbiAgICogQHRvZG8gVE9ETzogW1AzXSBXZSBzaG91bGQgdGhpbmsgYWJvdXQgaWYgd2UgYWxsb3cgdGhlIHVzZXIgdG8gY2hhbmdlIG9uU2VuZEJveFZhbHVlQ2hhbmdlZC9zZW5kQm94VmFsdWUsIGUuZy5cbiAgICogMS4gVHVybnMgdGV4dCBpbnRvIFVQUEVSQ0FTRVxuICAgKiAyLiBGaWx0ZXIgb3V0IHByb2Zhbml0eVxuICAgKiBAdG9kbyBUT0RPOiBbUDRdIFJldmlzaXQgYWxsIG1lbWJlcnMgb2YgY29udGV4dFxuICAgKiAgICAgICBUaGlzIGNvbnRleHQgc2hvdWxkIGNvbnNpc3Qgb2YgbWVtYmVycyB0aGF0IGFyZSBub3QgaW4gdGhlIFJlZHV4IHN0b3JlXG4gICAqICAgICAgIGkuZS4gbWVtYmVycyB0aGF0IGFyZSBub3QgaW50ZXJlc3RlZCBpbiBvdGhlciB0eXBlcyBvZiBVSXNcbiAgICovXG4gIGNvbnN0IGNvbnRleHQgPSB1c2VNZW1vKFxuICAgICgpID0+ICh7XG4gICAgICAuLi5jYXJkQWN0aW9uQ29udGV4dCxcbiAgICAgIC4uLmdyb3VwQWN0aXZpdGllc0NvbnRleHQsXG4gICAgICAuLi5ob2lzdGVkRGlzcGF0Y2hlcnMsXG4gICAgICBhY3Rpdml0eVJlbmRlcmVyOiBwYXRjaGVkQWN0aXZpdHlSZW5kZXJlcixcbiAgICAgIGFjdGl2aXR5U3RhdHVzUmVuZGVyZXI6IHBhdGNoZWRBY3Rpdml0eVN0YXR1c1JlbmRlcmVyLFxuICAgICAgYXR0YWNobWVudEZvclNjcmVlblJlYWRlclJlbmRlcmVyOiBwYXRjaGVkQXR0YWNobWVudEZvclNjcmVlblJlYWRlclJlbmRlcmVyLFxuICAgICAgYXR0YWNobWVudFJlbmRlcmVyOiBwYXRjaGVkQXR0YWNobWVudFJlbmRlcmVyLFxuICAgICAgYXZhdGFyUmVuZGVyZXI6IHBhdGNoZWRBdmF0YXJSZW5kZXJlcixcbiAgICAgIGRpcjogcGF0Y2hlZERpcixcbiAgICAgIGRpcmVjdExpbmUsXG4gICAgICBkaXNhYmxlZCxcbiAgICAgIGRvd25zY2FsZUltYWdlVG9EYXRhVVJMLFxuICAgICAgZ3JhbW1hcnM6IHBhdGNoZWRHcmFtbWFycyxcbiAgICAgIGludGVybmFsRXJyb3JCb3hDbGFzcyxcbiAgICAgIGxhbmd1YWdlOiBsb2NhbGUsXG4gICAgICBsb2NhbGl6ZWRHbG9iYWxpemVTdGF0ZTogW2xvY2FsaXplZEdsb2JhbGl6ZV0sXG4gICAgICBsb2NhbGl6ZWRTdHJpbmdzOiBwYXRjaGVkTG9jYWxpemVkU3RyaW5ncyxcbiAgICAgIG9uVGVsZW1ldHJ5LFxuICAgICAgcmVuZGVyTWFya2Rvd24sXG4gICAgICBzY3JvbGxUb0VuZEJ1dHRvblJlbmRlcmVyLFxuICAgICAgc2VsZWN0Vm9pY2U6IHBhdGNoZWRTZWxlY3RWb2ljZSxcbiAgICAgIHNlbmRUeXBpbmdJbmRpY2F0b3IsXG4gICAgICBzdHlsZU9wdGlvbnM6IHBhdGNoZWRTdHlsZU9wdGlvbnMsXG4gICAgICB0ZWxlbWV0cnlEaW1lbnNpb25zUmVmLFxuICAgICAgdG9hc3RSZW5kZXJlcjogcGF0Y2hlZFRvYXN0UmVuZGVyZXIsXG4gICAgICB0cmFja0RpbWVuc2lvbixcbiAgICAgIHR5cGluZ0luZGljYXRvclJlbmRlcmVyOiBwYXRjaGVkVHlwaW5nSW5kaWNhdG9yUmVuZGVyZXIsXG4gICAgICB1c2VySUQsXG4gICAgICB1c2VybmFtZVxuICAgIH0pLFxuICAgIFtcbiAgICAgIGNhcmRBY3Rpb25Db250ZXh0LFxuICAgICAgZGlyZWN0TGluZSxcbiAgICAgIGRpc2FibGVkLFxuICAgICAgZG93bnNjYWxlSW1hZ2VUb0RhdGFVUkwsXG4gICAgICBncm91cEFjdGl2aXRpZXNDb250ZXh0LFxuICAgICAgaG9pc3RlZERpc3BhdGNoZXJzLFxuICAgICAgaW50ZXJuYWxFcnJvckJveENsYXNzLFxuICAgICAgbG9jYWxlLFxuICAgICAgbG9jYWxpemVkR2xvYmFsaXplLFxuICAgICAgb25UZWxlbWV0cnksXG4gICAgICBwYXRjaGVkQWN0aXZpdHlSZW5kZXJlcixcbiAgICAgIHBhdGNoZWRBY3Rpdml0eVN0YXR1c1JlbmRlcmVyLFxuICAgICAgcGF0Y2hlZEF0dGFjaG1lbnRGb3JTY3JlZW5SZWFkZXJSZW5kZXJlcixcbiAgICAgIHBhdGNoZWRBdHRhY2htZW50UmVuZGVyZXIsXG4gICAgICBwYXRjaGVkQXZhdGFyUmVuZGVyZXIsXG4gICAgICBwYXRjaGVkRGlyLFxuICAgICAgcGF0Y2hlZEdyYW1tYXJzLFxuICAgICAgcGF0Y2hlZExvY2FsaXplZFN0cmluZ3MsXG4gICAgICBwYXRjaGVkU2VsZWN0Vm9pY2UsXG4gICAgICBwYXRjaGVkU3R5bGVPcHRpb25zLFxuICAgICAgcGF0Y2hlZFRvYXN0UmVuZGVyZXIsXG4gICAgICBwYXRjaGVkVHlwaW5nSW5kaWNhdG9yUmVuZGVyZXIsXG4gICAgICByZW5kZXJNYXJrZG93bixcbiAgICAgIHNjcm9sbFRvRW5kQnV0dG9uUmVuZGVyZXIsXG4gICAgICBzZW5kVHlwaW5nSW5kaWNhdG9yLFxuICAgICAgdGVsZW1ldHJ5RGltZW5zaW9uc1JlZixcbiAgICAgIHRyYWNrRGltZW5zaW9uLFxuICAgICAgdXNlcklELFxuICAgICAgdXNlcm5hbWVcbiAgICBdXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8V2ViQ2hhdEFQSUNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e2NvbnRleHR9PlxuICAgICAge3R5cGVvZiBjaGlsZHJlbiA9PT0gJ2Z1bmN0aW9uJyA/IGNoaWxkcmVuKGNvbnRleHQpIDogY2hpbGRyZW59XG4gICAgICB7b25UZWxlbWV0cnkgJiYgPFRyYWNrZXIgLz59XG4gICAgPC9XZWJDaGF0QVBJQ29udGV4dC5Qcm92aWRlcj5cbiAgKTtcbn07XG5cbi8qKlxuICogQHRvZG8gVE9ETzogW1AzXSBXZSBzaG91bGQgY29uc2lkZXIgbW92aW5nIHNvbWUgZGF0YSBmcm9tIFJlZHV4IHN0b3JlIHRvIHByb3BzXG4gKiAgICAgICBBbHRob3VnaCB3ZSB1c2UgYGNvbm5lY3RUb1dlYkNoYXRgIHRvIGhpZGUgdGhlIGRldGFpbHMgb2YgYWNjZXNzb3Igb2YgUmVkdXggc3RvcmUsXG4gKiAgICAgICB3ZSBzaG91bGQgY2xlYW4gdXAgdGhlIHJlc3BvbnNpYmlsaXR5IGJldHdlZW4gQ29udGV4dCBhbmQgUmVkdXggc3RvcmVcbiAqICAgICAgIFdlIHNob3VsZCBkZWNpZGUgd2hpY2ggZGF0YSBpcyBuZWVkZWQgZm9yIFJlYWN0IGJ1dCBub3QgaW4gb3RoZXIgZW52aXJvbm1lbnQgc3VjaCBhcyBDTEkvVlNDb2RlXG4gKi9cbkNvbXBvc2VyQ29yZS5kZWZhdWx0UHJvcHMgPSB7XG4gIGFjdGl2aXR5TWlkZGxld2FyZTogdW5kZWZpbmVkLFxuICBhY3Rpdml0eVJlbmRlcmVyOiB1bmRlZmluZWQsXG4gIGFjdGl2aXR5U3RhdHVzTWlkZGxld2FyZTogdW5kZWZpbmVkLFxuICBhY3Rpdml0eVN0YXR1c1JlbmRlcmVyOiB1bmRlZmluZWQsXG4gIGF0dGFjaG1lbnRGb3JTY3JlZW5SZWFkZXJNaWRkbGV3YXJlOiB1bmRlZmluZWQsXG4gIGF0dGFjaG1lbnRNaWRkbGV3YXJlOiB1bmRlZmluZWQsXG4gIGF0dGFjaG1lbnRSZW5kZXJlcjogdW5kZWZpbmVkLFxuICBhdmF0YXJNaWRkbGV3YXJlOiB1bmRlZmluZWQsXG4gIGF2YXRhclJlbmRlcmVyOiB1bmRlZmluZWQsXG4gIGNhcmRBY3Rpb25NaWRkbGV3YXJlOiB1bmRlZmluZWQsXG4gIGNoaWxkcmVuOiB1bmRlZmluZWQsXG4gIGRpcjogJ2F1dG8nLFxuICBkaXNhYmxlZDogZmFsc2UsXG4gIGRvd25zY2FsZUltYWdlVG9EYXRhVVJMOiB1bmRlZmluZWQsXG4gIGdyYW1tYXJzOiBbXSxcbiAgZ3JvdXBBY3Rpdml0aWVzTWlkZGxld2FyZTogdW5kZWZpbmVkLFxuICBncm91cFRpbWVzdGFtcDogdW5kZWZpbmVkLFxuICBpbnRlcm5hbEVycm9yQm94Q2xhc3M6IHVuZGVmaW5lZCxcbiAgbG9jYWxlOiB3aW5kb3cubmF2aWdhdG9yLmxhbmd1YWdlIHx8ICdlbi1VUycsXG4gIG9uVGVsZW1ldHJ5OiB1bmRlZmluZWQsXG4gIG92ZXJyaWRlTG9jYWxpemVkU3RyaW5nczogdW5kZWZpbmVkLFxuICByZW5kZXJNYXJrZG93bjogdW5kZWZpbmVkLFxuICBzY3JvbGxUb0VuZEJ1dHRvbk1pZGRsZXdhcmU6IHVuZGVmaW5lZCxcbiAgc2VsZWN0Vm9pY2U6IHVuZGVmaW5lZCxcbiAgc2VuZFRpbWVvdXQ6IHVuZGVmaW5lZCxcbiAgc2VuZFR5cGluZ0luZGljYXRvcjogZmFsc2UsXG4gIHN0eWxlT3B0aW9uczoge30sXG4gIHRvYXN0TWlkZGxld2FyZTogdW5kZWZpbmVkLFxuICB0b2FzdFJlbmRlcmVyOiB1bmRlZmluZWQsXG4gIHR5cGluZ0luZGljYXRvck1pZGRsZXdhcmU6IHVuZGVmaW5lZCxcbiAgdHlwaW5nSW5kaWNhdG9yUmVuZGVyZXI6IHVuZGVmaW5lZCxcbiAgdXNlcklEOiAnJyxcbiAgdXNlcm5hbWU6ICcnXG59O1xuXG5Db21wb3NlckNvcmUucHJvcFR5cGVzID0ge1xuICBhY3Rpdml0eU1pZGRsZXdhcmU6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5mdW5jKSwgUHJvcFR5cGVzLmZ1bmNdKSxcbiAgYWN0aXZpdHlSZW5kZXJlcjogUHJvcFR5cGVzLmZ1bmMsXG4gIGFjdGl2aXR5U3RhdHVzTWlkZGxld2FyZTogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLmZ1bmMpLCBQcm9wVHlwZXMuZnVuY10pLFxuICBhY3Rpdml0eVN0YXR1c1JlbmRlcmVyOiBQcm9wVHlwZXMuZnVuYyxcbiAgYXR0YWNobWVudEZvclNjcmVlblJlYWRlck1pZGRsZXdhcmU6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5mdW5jKSwgUHJvcFR5cGVzLmZ1bmNdKSxcbiAgYXR0YWNobWVudE1pZGRsZXdhcmU6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5mdW5jKSwgUHJvcFR5cGVzLmZ1bmNdKSxcbiAgYXR0YWNobWVudFJlbmRlcmVyOiBQcm9wVHlwZXMuZnVuYyxcbiAgYXZhdGFyTWlkZGxld2FyZTogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLmZ1bmMpLCBQcm9wVHlwZXMuZnVuY10pLFxuICBhdmF0YXJSZW5kZXJlcjogUHJvcFR5cGVzLmZ1bmMsXG4gIGNhcmRBY3Rpb25NaWRkbGV3YXJlOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuZnVuYyksIFByb3BUeXBlcy5mdW5jXSksXG4gIGNoaWxkcmVuOiBQcm9wVHlwZXMuYW55LFxuICBkaXI6IFByb3BUeXBlcy5vbmVPZihbJ2F1dG8nLCAnbHRyJywgJ3J0bCddKSxcbiAgLy8gUHJvcFR5cGVzLnNoYXBlKHsgLi4uIH0pIGRpZCBub3QgaG9ub3IgaXNSZXF1aXJlZCBmb3IgaXRzIG1lbWJlcnMuXG4gIC8vIEB0cy1pZ25vcmVcbiAgZGlyZWN0TGluZTogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICBhY3Rpdml0eSQ6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICBzdWJzY3JpYmU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWRcbiAgICB9KS5pc1JlcXVpcmVkLFxuICAgIGNvbm5lY3Rpb25TdGF0dXMkOiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgc3Vic2NyaWJlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkXG4gICAgfSkuaXNSZXF1aXJlZCxcbiAgICBlbmQ6IFByb3BUeXBlcy5mdW5jLFxuICAgIGdldFNlc3Npb25JZDogUHJvcFR5cGVzLmZ1bmMsXG4gICAgcG9zdEFjdGl2aXR5OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHJlZmVyZW5jZUdyYW1tYXJJRDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICB0b2tlbjogUHJvcFR5cGVzLnN0cmluZ1xuICB9KS5pc1JlcXVpcmVkLFxuICBkaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gIGRvd25zY2FsZUltYWdlVG9EYXRhVVJMOiBQcm9wVHlwZXMuZnVuYyxcbiAgZ3JhbW1hcnM6IFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5zdHJpbmcpLFxuICBncm91cEFjdGl2aXRpZXNNaWRkbGV3YXJlOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuZnVuYyksIFByb3BUeXBlcy5mdW5jXSksXG4gIGdyb3VwVGltZXN0YW1wOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuYm9vbCwgUHJvcFR5cGVzLm51bWJlcl0pLFxuICBpbnRlcm5hbEVycm9yQm94Q2xhc3M6IFByb3BUeXBlcy5mdW5jLCAvLyBUaGlzIGlzIGZvciBpbnRlcm5hbCB1c2Ugb25seS4gV2UgZG9uJ3QgYWxsb3cgY3VzdG9taXphdGlvbiBvZiBlcnJvciBib3guXG4gIGxvY2FsZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgb25UZWxlbWV0cnk6IFByb3BUeXBlcy5mdW5jLFxuICBvdmVycmlkZUxvY2FsaXplZFN0cmluZ3M6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5hbnksIFByb3BUeXBlcy5mdW5jXSksXG4gIHJlbmRlck1hcmtkb3duOiBQcm9wVHlwZXMuZnVuYyxcbiAgc2Nyb2xsVG9FbmRCdXR0b25NaWRkbGV3YXJlOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuZnVuYyksIFByb3BUeXBlcy5mdW5jXSksXG4gIHNlbGVjdFZvaWNlOiBQcm9wVHlwZXMuZnVuYyxcbiAgc2VuZFRpbWVvdXQ6IFByb3BUeXBlcy5udW1iZXIsXG4gIHNlbmRUeXBpbmdJbmRpY2F0b3I6IFByb3BUeXBlcy5ib29sLFxuICBzdHlsZU9wdGlvbnM6IFByb3BUeXBlcy5hbnksXG4gIHRvYXN0TWlkZGxld2FyZTogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLmZ1bmMpLCBQcm9wVHlwZXMuZnVuY10pLFxuICB0b2FzdFJlbmRlcmVyOiBQcm9wVHlwZXMuZnVuYyxcbiAgdHlwaW5nSW5kaWNhdG9yTWlkZGxld2FyZTogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLmZ1bmMpLCBQcm9wVHlwZXMuZnVuY10pLFxuICB0eXBpbmdJbmRpY2F0b3JSZW5kZXJlcjogUHJvcFR5cGVzLmZ1bmMsXG4gIHVzZXJJRDogUHJvcFR5cGVzLnN0cmluZyxcbiAgdXNlcm5hbWU6IFByb3BUeXBlcy5zdHJpbmdcbn07XG5cbnR5cGUgQ29tcG9zZXJQcm9wcyA9IENvbXBvc2VyQ29yZVByb3BzICYge1xuICBpbnRlcm5hbFJlbmRlckVycm9yQm94PzogYW55O1xuICBzdG9yZT86IGFueTtcbn07XG5cbi8vIFdlIHdpbGwgY3JlYXRlIGEgUmVkdXggc3RvcmUgaWYgaXQgd2FzIG5vdCBwYXNzZWQgaW5cbmNvbnN0IENvbXBvc2VyOiBGQzxDb21wb3NlclByb3BzPiA9ICh7IGludGVybmFsUmVuZGVyRXJyb3JCb3gsIG9uVGVsZW1ldHJ5LCBzdG9yZSwgLi4ucHJvcHMgfSkgPT4ge1xuICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IHVzZVN0YXRlKCk7XG5cbiAgY29uc3QgaGFuZGxlRXJyb3IgPSB1c2VDYWxsYmFjayhcbiAgICBlcnJvciA9PiB7XG4gICAgICBjb25zb2xlLmVycm9yKCdib3RmcmFtZXdvcmstd2ViY2hhdDogVW5jYXVnaHQgZXhjZXB0aW9uJywgeyBlcnJvciB9KTtcblxuICAgICAgb25UZWxlbWV0cnkgJiZcbiAgICAgICAgb25UZWxlbWV0cnkoY3JlYXRlQ3VzdG9tRXZlbnQoJ2V4Y2VwdGlvbicsIHsgZXJyb3IsIGZhdGFsOiB0cnVlIH0pIGFzIFRlbGVtZXRyeUV4Y2VwdGlvbk1lYXN1cmVtZW50RXZlbnQpO1xuICAgICAgc2V0RXJyb3IoZXJyb3IpO1xuICAgIH0sXG4gICAgW29uVGVsZW1ldHJ5LCBzZXRFcnJvcl1cbiAgKTtcblxuICBjb25zdCBtZW1vaXplZFN0b3JlID0gdXNlTWVtbygoKSA9PiBzdG9yZSB8fCBjcmVhdGVTdG9yZSgpLCBbc3RvcmVdKTtcblxuICByZXR1cm4gZXJyb3IgPyAoXG4gICAgISFpbnRlcm5hbFJlbmRlckVycm9yQm94ICYmIGludGVybmFsUmVuZGVyRXJyb3JCb3goeyBlcnJvciwgdHlwZTogJ3VuY2F1Z2h0IGV4Y2VwdGlvbicgfSlcbiAgKSA6IChcbiAgICA8RXJyb3JCb3VuZGFyeSBvbkVycm9yPXtoYW5kbGVFcnJvcn0+XG4gICAgICA8UHJvdmlkZXIgY29udGV4dD17V2ViQ2hhdFJlZHV4Q29udGV4dH0gc3RvcmU9e21lbW9pemVkU3RvcmV9PlxuICAgICAgICA8QWN0aXZpdHlLZXllckNvbXBvc2VyPlxuICAgICAgICAgIDxBY3Rpdml0eUFja25vd2xlZGdlbWVudENvbXBvc2VyPlxuICAgICAgICAgICAgPENvbXBvc2VyQ29yZSBvblRlbGVtZXRyeT17b25UZWxlbWV0cnl9IHsuLi5wcm9wc30gLz5cbiAgICAgICAgICA8L0FjdGl2aXR5QWNrbm93bGVkZ2VtZW50Q29tcG9zZXI+XG4gICAgICAgIDwvQWN0aXZpdHlLZXllckNvbXBvc2VyPlxuICAgICAgPC9Qcm92aWRlcj5cbiAgICA8L0Vycm9yQm91bmRhcnk+XG4gICk7XG59O1xuXG5Db21wb3Nlci5kZWZhdWx0UHJvcHMgPSB7XG4gIGludGVybmFsUmVuZGVyRXJyb3JCb3g6IHVuZGVmaW5lZCxcbiAgb25UZWxlbWV0cnk6IHVuZGVmaW5lZCxcbiAgc3RvcmU6IHVuZGVmaW5lZFxufTtcblxuQ29tcG9zZXIucHJvcFR5cGVzID0ge1xuICBpbnRlcm5hbFJlbmRlckVycm9yQm94OiBQcm9wVHlwZXMuYW55LFxuICBvblRlbGVtZXRyeTogUHJvcFR5cGVzLmZ1bmMsXG4gIHN0b3JlOiBQcm9wVHlwZXMuYW55XG59O1xuXG5leHBvcnQgZGVmYXVsdCBDb21wb3NlcjtcblxuZXhwb3J0IHR5cGUgeyBDb21wb3NlclByb3BzIH07XG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import {
|
|
2
|
+
import type { DirectLineJSBotConnection, WebChatActivity } from 'botframework-webchat-core';
|
|
3
3
|
import { AttachmentForScreenReaderComponentFactory } from '../../types/AttachmentForScreenReaderMiddleware';
|
|
4
4
|
import { AvatarComponentFactory } from '../../types/AvatarMiddleware';
|
|
5
5
|
import { GroupActivities } from '../../types/GroupActivitiesMiddleware';
|
|
@@ -40,14 +40,14 @@ declare type WebChatAPIContext = {
|
|
|
40
40
|
}, name: string, value?: any) => void;
|
|
41
41
|
onCardAction?: PerformCardAction;
|
|
42
42
|
onTelemetry?: (event: TelemetryMeasurementEvent) => void;
|
|
43
|
-
postActivity?: (activity:
|
|
43
|
+
postActivity?: (activity: WebChatActivity) => Observable<string>;
|
|
44
44
|
renderMarkdown?: (markdown: string, { markdownRespectCRLF: boolean }: {
|
|
45
45
|
markdownRespectCRLF: any;
|
|
46
46
|
}, { externalLinkAlt: string }: {
|
|
47
47
|
externalLinkAlt: any;
|
|
48
48
|
}) => string;
|
|
49
49
|
scrollToEndButtonRenderer?: ScrollToEndButtonComponentFactory;
|
|
50
|
-
selectVoice?: (voices: typeof window.SpeechSynthesisVoice[], activity:
|
|
50
|
+
selectVoice?: (voices: typeof window.SpeechSynthesisVoice[], activity: WebChatActivity) => void;
|
|
51
51
|
sendEvent?: (name: string, value: any) => void;
|
|
52
52
|
sendFiles?: (files: File[]) => void;
|
|
53
53
|
sendMessage?: (text: string, method?: string, { channelData }?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebChatAPIContext.d.ts","sourceRoot":"","sources":["../../../src/hooks/internal/WebChatAPIContext.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"WebChatAPIContext.d.ts","sourceRoot":"","sources":["../../../src/hooks/internal/WebChatAPIContext.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5F,OAAO,EAAE,yCAAyC,EAAE,MAAM,iDAAiD,CAAC;AAC5G,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,iCAAiC,EAAE,MAAM,yCAAyC,CAAC;AAC5F,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,gBAAgB,MAAM,8BAA8B,CAAC;AAC5D,OAAO,oBAAoB,MAAM,kCAAkC,CAAC;AACpE,OAAO,yBAAyB,MAAM,uCAAuC,CAAC;AAE9E,aAAK,iBAAiB,GAAG;IACvB,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;IAC1C,sBAAsB,CAAC,EAAE,oBAAoB,CAAC;IAC9C,iCAAiC,CAAC,EAAE,yCAAyC,CAAC;IAC9E,kBAAkB,CAAC,EAAE,gBAAgB,CAAC;IACtC,cAAc,CAAC,EAAE,sBAAsB,CAAC;IACxC,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,yBAAyB,CAAC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mBAAmB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,uBAAuB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IACrH,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;IACjC,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,qBAAqB,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAC;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uBAAuB,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACjD,gBAAgB,CAAC,EAAE;QAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAAA;KAAE,CAAC;IAC5D,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE;;KAAA,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IACnE,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,CAAC;IACzD,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,UAAU,CAAC,MAAM,CAAC,CAAC;IACjE,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,mBAAmB,EAAE,OAAO,EAAE;;KAAA,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE;;KAAA,KAAK,MAAM,CAAC;IAC7G,yBAAyB,CAAC,EAAE,iCAAiC,CAAC;IAC9D,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,MAAM,CAAC,oBAAoB,EAAE,EAAE,QAAQ,EAAE,eAAe,KAAK,IAAI,CAAC;IAChG,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC/C,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;IACpC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,GAAG,CAAA;KAAE,KAAK,IAAI,CAAC;IAC/F,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5E,YAAY,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IACrC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAClD,eAAe,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,eAAe,CAAC,EAAE,CAAC,YAAY,EAAE,YAAY,KAAK,IAAI,CAAC;IACvD,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;IAClC,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,aAAa,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE;QAAE,WAAW,EAAE,GAAG,CAAA;KAAE,KAAK,IAAI,CAAC;IAClF,sBAAsB,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACxC,aAAa,CAAC,EAAE,WAAW,CAAC;IAC5B,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IACnD,uBAAuB,CAAC,EAAE,GAAG,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,QAAA,MAAM,OAAO,4CAA8C,CAAC;AAI5D,eAAe,OAAO,CAAC"}
|
|
@@ -11,4 +11,4 @@ var context = /*#__PURE__*/(0, _react.createContext)(undefined);
|
|
|
11
11
|
context.displayName = 'WebChatAPIContext';
|
|
12
12
|
var _default = context;
|
|
13
13
|
exports.default = _default;
|
|
14
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9pbnRlcm5hbC9XZWJDaGF0QVBJQ29udGV4dC50cyJdLCJuYW1lcyI6WyJjb250ZXh0IiwidW5kZWZpbmVkIiwiZGlzcGxheU5hbWUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFxRUEsSUFBTUEsT0FBTyxnQkFBRywwQkFBaUNDLFNBQWpDLENBQWhCO0FBRUFELE9BQU8sQ0FBQ0UsV0FBUixHQUFzQixtQkFBdEI7ZUFFZUYsTyIsInNvdXJjZVJvb3QiOiJjb21wb25lbnQ6Ly8vIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlQ29udGV4dCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB0eXBlIHsgRGlyZWN0TGluZUpTQm90Q29ubmVjdGlvbiwgV2ViQ2hhdEFjdGl2aXR5IH0gZnJvbSAnYm90ZnJhbWV3b3JrLXdlYmNoYXQtY29yZSc7XG5cbmltcG9ydCB7IEF0dGFjaG1lbnRGb3JTY3JlZW5SZWFkZXJDb21wb25lbnRGYWN0b3J5IH0gZnJvbSAnLi4vLi4vdHlwZXMvQXR0YWNobWVudEZvclNjcmVlblJlYWRlck1pZGRsZXdhcmUnO1xuaW1wb3J0IHsgQXZhdGFyQ29tcG9uZW50RmFjdG9yeSB9IGZyb20gJy4uLy4uL3R5cGVzL0F2YXRhck1pZGRsZXdhcmUnO1xuaW1wb3J0IHsgR3JvdXBBY3Rpdml0aWVzIH0gZnJvbSAnLi4vLi4vdHlwZXMvR3JvdXBBY3Rpdml0aWVzTWlkZGxld2FyZSc7XG5pbXBvcnQgeyBMZWdhY3lBY3Rpdml0eVJlbmRlcmVyIH0gZnJvbSAnLi4vLi4vdHlwZXMvQWN0aXZpdHlNaWRkbGV3YXJlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyZWR1eCc7XG5pbXBvcnQgeyBQZXJmb3JtQ2FyZEFjdGlvbiB9IGZyb20gJy4uLy4uL3R5cGVzL0NhcmRBY3Rpb25NaWRkbGV3YXJlJztcbmltcG9ydCB7IFJlbmRlckFjdGl2aXR5U3RhdHVzIH0gZnJvbSAnLi4vLi4vdHlwZXMvQWN0aXZpdHlTdGF0dXNNaWRkbGV3YXJlJztcbmltcG9ydCB7IFJlbmRlckF0dGFjaG1lbnQgfSBmcm9tICcuLi8uLi90eXBlcy9BdHRhY2htZW50TWlkZGxld2FyZSc7XG5pbXBvcnQgeyBSZW5kZXJUb2FzdCB9IGZyb20gJy4uLy4uL3R5cGVzL1RvYXN0TWlkZGxld2FyZSc7XG5pbXBvcnQgeyBTY3JvbGxUb0VuZEJ1dHRvbkNvbXBvbmVudEZhY3RvcnkgfSBmcm9tICcuLi8uLi90eXBlcy9TY3JvbGxUb0VuZEJ1dHRvbk1pZGRsZXdhcmUnO1xuaW1wb3J0IHsgU3RyaWN0U3R5bGVPcHRpb25zIH0gZnJvbSAnLi4vLi4vU3R5bGVPcHRpb25zJztcbmltcG9ydCBMb2NhbGl6ZWRTdHJpbmdzIGZyb20gJy4uLy4uL3R5cGVzL0xvY2FsaXplZFN0cmluZ3MnO1xuaW1wb3J0IFByZWNvbXBpbGVkR2xvYmFsaXplIGZyb20gJy4uLy4uL3R5cGVzL1ByZWNvbXBpbGVkR2xvYmFsaXplJztcbmltcG9ydCBUZWxlbWV0cnlNZWFzdXJlbWVudEV2ZW50IGZyb20gJy4uLy4uL3R5cGVzL1RlbGVtZXRyeU1lYXN1cmVtZW50RXZlbnQnO1xuXG50eXBlIFdlYkNoYXRBUElDb250ZXh0ID0ge1xuICBhY3Rpdml0eVJlbmRlcmVyPzogTGVnYWN5QWN0aXZpdHlSZW5kZXJlcjtcbiAgYWN0aXZpdHlTdGF0dXNSZW5kZXJlcj86IFJlbmRlckFjdGl2aXR5U3RhdHVzO1xuICBhdHRhY2htZW50Rm9yU2NyZWVuUmVhZGVyUmVuZGVyZXI/OiBBdHRhY2htZW50Rm9yU2NyZWVuUmVhZGVyQ29tcG9uZW50RmFjdG9yeTtcbiAgYXR0YWNobWVudFJlbmRlcmVyPzogUmVuZGVyQXR0YWNobWVudDtcbiAgYXZhdGFyUmVuZGVyZXI/OiBBdmF0YXJDb21wb25lbnRGYWN0b3J5O1xuICBjbGVhclN1Z2dlc3RlZEFjdGlvbnM/OiAoKSA9PiB2b2lkO1xuICBkaXI/OiBzdHJpbmc7XG4gIGRpcmVjdExpbmU/OiBEaXJlY3RMaW5lSlNCb3RDb25uZWN0aW9uO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIGRpc21pc3NOb3RpZmljYXRpb24/OiAoaWQ6IHN0cmluZykgPT4gdm9pZDtcbiAgZG93bnNjYWxlSW1hZ2VUb0RhdGFVUkw/OiAoYmxvYjogQmxvYiwgbWF4V2lkdGg6IG51bWJlciwgbWF4SGVpZ2h0OiBudW1iZXIsIHR5cGU6IHN0cmluZywgcXVhbGl0eTogbnVtYmVyKSA9PiBzdHJpbmc7XG4gIGVtaXRUeXBpbmdJbmRpY2F0b3I/OiAoKSA9PiB2b2lkO1xuICBncmFtbWFycz86IGFueTtcbiAgZ3JvdXBBY3Rpdml0aWVzPzogR3JvdXBBY3Rpdml0aWVzO1xuICBpbnRlcm5hbEVycm9yQm94Q2xhc3M/OiBSZWFjdC5Db21wb25lbnQgfCBGdW5jdGlvbjtcbiAgbGFuZ3VhZ2U/OiBzdHJpbmc7XG4gIGxvY2FsaXplZEdsb2JhbGl6ZVN0YXRlPzogUHJlY29tcGlsZWRHbG9iYWxpemVbXTtcbiAgbG9jYWxpemVkU3RyaW5ncz86IHsgW2xhbmd1YWdlOiBzdHJpbmddOiBMb2NhbGl6ZWRTdHJpbmdzIH07XG4gIG1hcmtBY3Rpdml0eT86ICh7IGlkOiBzdHJpbmcgfSwgbmFtZTogc3RyaW5nLCB2YWx1ZT86IGFueSkgPT4gdm9pZDtcbiAgb25DYXJkQWN0aW9uPzogUGVyZm9ybUNhcmRBY3Rpb247XG4gIG9uVGVsZW1ldHJ5PzogKGV2ZW50OiBUZWxlbWV0cnlNZWFzdXJlbWVudEV2ZW50KSA9PiB2b2lkO1xuICBwb3N0QWN0aXZpdHk/OiAoYWN0aXZpdHk6IFdlYkNoYXRBY3Rpdml0eSkgPT4gT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICByZW5kZXJNYXJrZG93bj86IChtYXJrZG93bjogc3RyaW5nLCB7IG1hcmtkb3duUmVzcGVjdENSTEY6IGJvb2xlYW4gfSwgeyBleHRlcm5hbExpbmtBbHQ6IHN0cmluZyB9KSA9PiBzdHJpbmc7XG4gIHNjcm9sbFRvRW5kQnV0dG9uUmVuZGVyZXI/OiBTY3JvbGxUb0VuZEJ1dHRvbkNvbXBvbmVudEZhY3Rvcnk7XG4gIHNlbGVjdFZvaWNlPzogKHZvaWNlczogdHlwZW9mIHdpbmRvdy5TcGVlY2hTeW50aGVzaXNWb2ljZVtdLCBhY3Rpdml0eTogV2ViQ2hhdEFjdGl2aXR5KSA9PiB2b2lkO1xuICBzZW5kRXZlbnQ/OiAobmFtZTogc3RyaW5nLCB2YWx1ZTogYW55KSA9PiB2b2lkO1xuICBzZW5kRmlsZXM/OiAoZmlsZXM6IEZpbGVbXSkgPT4gdm9pZDtcbiAgc2VuZE1lc3NhZ2U/OiAodGV4dDogc3RyaW5nLCBtZXRob2Q/OiBzdHJpbmcsIHsgY2hhbm5lbERhdGEgfT86IHsgY2hhbm5lbERhdGE/OiBhbnkgfSkgPT4gdm9pZDtcbiAgc2VuZE1lc3NhZ2VCYWNrPzogKHZhbHVlOiBhbnksIHRleHQ/OiBzdHJpbmcsIGRpc3BsYXlUZXh0Pzogc3RyaW5nKSA9PiB2b2lkO1xuICBzZW5kUG9zdEJhY2s/OiAodmFsdWU/OiBhbnkpID0+IHZvaWQ7XG4gIHNlbmRUeXBpbmdJbmRpY2F0b3I/OiBib29sZWFuO1xuICBzZXREaWN0YXRlSW50ZXJpbXM/OiAoaW50ZXJpbXM6IHN0cmluZ1tdKSA9PiB2b2lkO1xuICBzZXREaWN0YXRlU3RhdGU/OiAoZGljdGF0ZVN0YXRlOiBudW1iZXIpID0+IHZvaWQ7XG4gIHNldE5vdGlmaWNhdGlvbj86IChub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbikgPT4gdm9pZDtcbiAgc2V0U2VuZEJveD86ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkO1xuICBzZXRTZW5kVGltZW91dD86ICh0aW1lb3V0OiBudW1iZXIpID0+IHZvaWQ7XG4gIHN0YXJ0RGljdGF0ZT86ICgpID0+IHZvaWQ7XG4gIHN0YXJ0U3BlYWtpbmdBY3Rpdml0eT86ICgpID0+IHZvaWQ7XG4gIHN0b3BEaWN0YXRlPzogKCkgPT4gdm9pZDtcbiAgc3RvcFNwZWFraW5nQWN0aXZpdHk/OiAoKSA9PiB2b2lkO1xuICBzdHlsZU9wdGlvbnM/OiBTdHJpY3RTdHlsZU9wdGlvbnM7XG4gIHN1Ym1pdFNlbmRCb3g/OiAobWV0aG9kPzogc3RyaW5nLCB7IGNoYW5uZWxEYXRhIH0/OiB7IGNoYW5uZWxEYXRhOiBhbnkgfSkgPT4gdm9pZDtcbiAgdGVsZW1ldHJ5RGltZW5zaW9uc1JlZj86IFJlYWN0LlJlZjxhbnk+O1xuICB0b2FzdFJlbmRlcmVyPzogUmVuZGVyVG9hc3Q7XG4gIHRyYWNrRGltZW5zaW9uPzogKG5hbWU6IHN0cmluZywgZGF0YTogYW55KSA9PiB2b2lkO1xuICB0eXBpbmdJbmRpY2F0b3JSZW5kZXJlcj86IGFueTsgLy8gVE9ET1xuICB1c2VySUQ/OiBzdHJpbmc7XG4gIHVzZXJuYW1lPzogc3RyaW5nO1xufTtcblxuY29uc3QgY29udGV4dCA9IGNyZWF0ZUNvbnRleHQ8V2ViQ2hhdEFQSUNvbnRleHQ+KHVuZGVmaW5lZCk7XG5cbmNvbnRleHQuZGlzcGxheU5hbWUgPSAnV2ViQ2hhdEFQSUNvbnRleHQnO1xuXG5leHBvcnQgZGVmYXVsdCBjb250ZXh0O1xuIl19
|
|
@@ -11,9 +11,9 @@ var _useWebChatAPIContext2 = _interopRequireDefault(require("./useWebChatAPICont
|
|
|
11
11
|
|
|
12
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
13
|
|
|
14
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
14
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
15
15
|
|
|
16
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
16
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
17
17
|
|
|
18
18
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
19
19
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
function _typeof(obj) { "@babel/helpers - typeof";
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
4
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
function _typeof(obj) { "@babel/helpers - typeof";
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
4
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createDefaultGroupActivitiesMiddleware.d.ts","sourceRoot":"","sources":["../../../src/hooks/middleware/createDefaultGroupActivitiesMiddleware.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createDefaultGroupActivitiesMiddleware.d.ts","sourceRoot":"","sources":["../../../src/hooks/middleware/createDefaultGroupActivitiesMiddleware.ts"],"names":[],"mappings":"AAGA,OAAO,yBAAyB,MAAM,uCAAuC,CAAC;AAgE9E,MAAM,CAAC,OAAO,UAAU,oCAAoC,CAAC,EAAE,cAAc,EAAE;;CAAA,GAAG,yBAAyB,CAO1G"}
|