botframework-webchat-component
Version:
React component of botframework-webchat
240 lines (236 loc) • 32.8 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
/* eslint no-magic-numbers: "off" */
function fontFamily(fonts) {
return fonts.map(function (font) {
return "'".concat(font, "'");
}).join(', ');
}
var DEFAULT_ACCENT = '#0063B1';
var DEFAULT_SUBTLE = '#767676'; // With contrast 4.5:1 to white
var PADDING_REGULAR = 10;
var DEFAULT_OPTIONS = {
// Color and paddings
accent: DEFAULT_ACCENT,
activeActivityOutlineColor: DEFAULT_SUBTLE,
backgroundColor: 'White',
cardEmphasisBackgroundColor: '#F0F0F0',
paddingRegular: PADDING_REGULAR,
paddingWide: PADDING_REGULAR * 2,
subtle: DEFAULT_SUBTLE,
// Word break
messageActivityWordBreak: 'break-word',
// 'normal' || 'break-all' || 'break-word' || 'keep-all'
// Fonts
fontSizeSmall: '80%',
monospaceFont: fontFamily(['Consolas', 'Courier New', 'monospace']),
primaryFont: fontFamily(['Calibri', 'Helvetica Neue', 'Arial', 'sans-serif']),
// Avatar
avatarBorderRadius: '50%',
avatarSize: 40,
botAvatarBackgroundColor: undefined,
// defaults to accent color
botAvatarImage: undefined,
// Or a string of URL. Can be a data URI or blob.
botAvatarInitials: undefined,
// Or a string. Empty strings means it has avatar but not initials inside.
userAvatarBackgroundColor: undefined,
// defaults to accent color
userAvatarImage: undefined,
// Or a string of URL. Can be a data URI or blob.
userAvatarInitials: undefined,
// Or a string. Empty strings means it has avatar but not initials inside.
showAvatarInGroup: 'status',
// Or 'sender' or true (on every activity).
// Bubble
// TODO: Should we make a bubbleFromBot*
bubbleBackground: 'White',
bubbleBorderColor: '#E6E6E6',
bubbleBorderRadius: 2,
bubbleBorderStyle: 'solid',
bubbleBorderWidth: 1,
bubbleFromUserBackground: 'White',
bubbleFromUserBorderColor: '#E6E6E6',
bubbleFromUserBorderRadius: 2,
bubbleFromUserBorderStyle: 'solid',
bubbleFromUserBorderWidth: 1,
bubbleFromUserNubOffset: 0,
// Either a positive/negative number, or "bottom"
bubbleFromUserNubSize: undefined,
// Or a number. 0 means a sharp corner.
bubbleFromUserTextColor: 'Black',
bubbleImageHeight: 240,
bubbleMaxWidth: 480,
// screen width = 600px
bubbleMinHeight: 40,
bubbleMinWidth: 250,
// min screen width = 300px, Microsoft Edge requires 372px (https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/13621468/)
bubbleNubOffset: 0,
// Either a positive/negative number, or "bottom"
bubbleNubSize: undefined,
// Or a number. 0 means a sharp corner.
bubbleTextColor: 'Black',
// Markdown
markdownRespectCRLF: true,
// Rich Cards
richCardWrapTitle: false,
// Applies to subtitles as well
// Root
rootHeight: '100%',
rootWidth: '100%',
rootZIndex: 0,
// "z-index" for the root container of Web Chat. This will form a new stacking context so "z-index" used in children won't pollute.
// Scroll to end button
hideScrollToEndButton: false,
// Send box
hideSendBox: false,
hideUploadButton: false,
microphoneButtonColorOnDictate: '#F33',
sendBoxBackground: 'White',
sendBoxButtonColor: undefined,
// defaults to subtle
sendBoxButtonColorOnDisabled: '#CCC',
sendBoxButtonColorOnFocus: '#333',
sendBoxButtonColorOnHover: '#333',
sendBoxDisabledTextColor: undefined,
// defaults to subtle
sendBoxHeight: 40,
sendBoxMaxHeight: 200,
sendBoxTextColor: 'Black',
// TODO: We should deprecate this because there isn't an easy way to make the width of the send box narrower than the transcript
sendBoxBorderBottom: '',
sendBoxBorderLeft: '',
sendBoxBorderRight: '',
sendBoxBorderTop: 'solid 1px #E6E6E6',
sendBoxPlaceholderColor: undefined,
// defaults to subtle
sendBoxTextWrap: false,
sendBoxButtonAlignment: 'stretch',
// "top", "bottom", or "stretch"
// Visually show spoken text
showSpokenText: false,
// Suggested actions
suggestedActionBackground: 'White',
suggestedActionBorder: undefined,
// split into 3, null
suggestedActionBorderColor: undefined,
// defaults to accent
suggestedActionBorderRadius: 0,
suggestedActionBorderStyle: 'solid',
suggestedActionBorderWidth: 2,
suggestedActionDisabledBackground: undefined,
// defaults to suggestedActionBackground
suggestedActionDisabledBorderColor: '#E6E6E6',
suggestedActionDisabledBorderStyle: 'solid',
suggestedActionDisabledBorderWidth: 2,
suggestedActionDisabledTextColor: undefined,
// defaults to subtle
suggestedActionHeight: 40,
suggestedActionImageHeight: 20,
suggestedActionLayout: 'carousel',
// either 'carousel' or 'stacked'
suggestedActionTextColor: null,
// Suggested actions carousel layout
suggestedActionsCarouselFlipperCursor: null,
// Cursor when mouse over on flipper
suggestedActionsCarouselFlipperBoxWidth: 40,
// Flipper bounding box size
suggestedActionsCarouselFlipperSize: 20,
// Flipper visible size
// Suggested actions stacked layout
suggestedActionsStackedHeight: undefined,
// sets the container's max height. defaults to 'auto'
suggestedActionsStackedOverflow: undefined,
// defaults to 'auto',
suggestedActionsStackedLayoutButtonMaxHeight: undefined,
// defaults to 100% if suggestedActionsStackedLayoutButtonTextWrap is true
suggestedActionsStackedLayoutButtonTextWrap: false,
// if set to true, buttons with long text will wrap in STACKED mode ONLY
// Timestamp
groupTimestamp: true,
sendTimeout: 20000,
sendTimeoutForAttachments: 120000,
timestampColor: undefined,
// defaults to subtle
timestampFormat: 'relative',
// 'absolute'
// Transcript overlay buttons (e.g. carousel and suggested action flippers, scroll to bottom, etc.)
newMessagesButtonFontSize: '85%',
transcriptOverlayButtonBackground: 'rgba(0, 0, 0, .6)',
transcriptOverlayButtonBackgroundOnFocus: 'rgba(0, 0, 0, .8)',
transcriptOverlayButtonBackgroundOnHover: 'rgba(0, 0, 0, .8)',
transcriptOverlayButtonColor: 'White',
transcriptOverlayButtonColorOnFocus: undefined,
// defaults to transcriptOverlayButtonColor
transcriptOverlayButtonColorOnHover: undefined,
// defaults to transcriptOverlayButtonColor
// Video
videoHeight: 270,
// based on bubbleMaxWidth: 480 / 16 * 9 = 270
// Connectivity UI
connectivityIconPadding: PADDING_REGULAR * 1.2,
connectivityMarginLeftRight: PADDING_REGULAR * 1.4,
connectivityMarginTopBottom: PADDING_REGULAR * 0.8,
connectivityTextSize: '75%',
failedConnectivity: '#C50F1F',
slowConnectivity: '#EAA300',
notificationText: '#5E5E5E',
slowConnectionAfter: 15000,
typingAnimationBackgroundImage: null,
typingAnimationDuration: 5000,
typingAnimationHeight: 20,
typingAnimationWidth: 64,
spinnerAnimationBackgroundImage: null,
spinnerAnimationHeight: 16,
spinnerAnimationWidth: 16,
spinnerAnimationPadding: 12,
enableUploadThumbnail: true,
uploadThumbnailContentType: 'image/jpeg',
uploadThumbnailHeight: 360,
uploadThumbnailQuality: 0.6,
uploadThumbnailWidth: 720,
// Toast UI
// New debounce timeout value only affects new notifications.
notificationDebounceTimeout: 400,
hideToaster: false,
toasterHeight: 32,
toasterMaxHeight: 32 * 5,
toasterSingularMaxHeight: 50,
toastFontSize: '87.5%',
toastIconWidth: 36,
toastSeparatorColor: '#E8EAEC',
toastTextPadding: 6,
toastErrorBackgroundColor: '#FDE7E9',
toastErrorColor: '#A80000',
toastInfoBackgroundColor: '#CEF1FF',
toastInfoColor: '#105E7D',
toastSuccessBackgroundColor: '#DFF6DD',
toastSuccessColor: '#107C10',
toastWarnBackgroundColor: '#FFF4CE',
toastWarnColor: '#3B3A39',
// Emoji
emojiSet: true,
// true || false || { ':)' : '😊'}
// Internal
internalLiveRegionFadeAfter: 1000,
// Transcript
transcriptTerminatorBackgroundColor: '#595959',
transcriptTerminatorBorderRadius: 5,
transcriptTerminatorColor: 'White',
transcriptTerminatorFontSize: 12,
transcriptActivityVisualKeyboardIndicatorColor: DEFAULT_SUBTLE,
transcriptActivityVisualKeyboardIndicatorStyle: 'dashed',
transcriptActivityVisualKeyboardIndicatorWidth: 1,
transcriptVisualKeyboardIndicatorColor: 'Black',
transcriptVisualKeyboardIndicatorStyle: 'solid',
transcriptVisualKeyboardIndicatorWidth: 2,
//AdaptiveCard push button
cardPushButtonBackgroundColor: '#0063B1',
cardPushButtonTextColor: 'white'
};
var _default = DEFAULT_OPTIONS;
exports.default = _default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9TdHlsZXMvZGVmYXVsdFN0eWxlT3B0aW9ucy5qcyJdLCJuYW1lcyI6WyJmb250RmFtaWx5IiwiZm9udHMiLCJtYXAiLCJmb250Iiwiam9pbiIsIkRFRkFVTFRfQUNDRU5UIiwiREVGQVVMVF9TVUJUTEUiLCJQQURESU5HX1JFR1VMQVIiLCJERUZBVUxUX09QVElPTlMiLCJhY2NlbnQiLCJhY3RpdmVBY3Rpdml0eU91dGxpbmVDb2xvciIsImJhY2tncm91bmRDb2xvciIsImNhcmRFbXBoYXNpc0JhY2tncm91bmRDb2xvciIsInBhZGRpbmdSZWd1bGFyIiwicGFkZGluZ1dpZGUiLCJzdWJ0bGUiLCJtZXNzYWdlQWN0aXZpdHlXb3JkQnJlYWsiLCJmb250U2l6ZVNtYWxsIiwibW9ub3NwYWNlRm9udCIsInByaW1hcnlGb250IiwiYXZhdGFyQm9yZGVyUmFkaXVzIiwiYXZhdGFyU2l6ZSIsImJvdEF2YXRhckJhY2tncm91bmRDb2xvciIsInVuZGVmaW5lZCIsImJvdEF2YXRhckltYWdlIiwiYm90QXZhdGFySW5pdGlhbHMiLCJ1c2VyQXZhdGFyQmFja2dyb3VuZENvbG9yIiwidXNlckF2YXRhckltYWdlIiwidXNlckF2YXRhckluaXRpYWxzIiwic2hvd0F2YXRhckluR3JvdXAiLCJidWJibGVCYWNrZ3JvdW5kIiwiYnViYmxlQm9yZGVyQ29sb3IiLCJidWJibGVCb3JkZXJSYWRpdXMiLCJidWJibGVCb3JkZXJTdHlsZSIsImJ1YmJsZUJvcmRlcldpZHRoIiwiYnViYmxlRnJvbVVzZXJCYWNrZ3JvdW5kIiwiYnViYmxlRnJvbVVzZXJCb3JkZXJDb2xvciIsImJ1YmJsZUZyb21Vc2VyQm9yZGVyUmFkaXVzIiwiYnViYmxlRnJvbVVzZXJCb3JkZXJTdHlsZSIsImJ1YmJsZUZyb21Vc2VyQm9yZGVyV2lkdGgiLCJidWJibGVGcm9tVXNlck51Yk9mZnNldCIsImJ1YmJsZUZyb21Vc2VyTnViU2l6ZSIsImJ1YmJsZUZyb21Vc2VyVGV4dENvbG9yIiwiYnViYmxlSW1hZ2VIZWlnaHQiLCJidWJibGVNYXhXaWR0aCIsImJ1YmJsZU1pbkhlaWdodCIsImJ1YmJsZU1pbldpZHRoIiwiYnViYmxlTnViT2Zmc2V0IiwiYnViYmxlTnViU2l6ZSIsImJ1YmJsZVRleHRDb2xvciIsIm1hcmtkb3duUmVzcGVjdENSTEYiLCJyaWNoQ2FyZFdyYXBUaXRsZSIsInJvb3RIZWlnaHQiLCJyb290V2lkdGgiLCJyb290WkluZGV4IiwiaGlkZVNjcm9sbFRvRW5kQnV0dG9uIiwiaGlkZVNlbmRCb3giLCJoaWRlVXBsb2FkQnV0dG9uIiwibWljcm9waG9uZUJ1dHRvbkNvbG9yT25EaWN0YXRlIiwic2VuZEJveEJhY2tncm91bmQiLCJzZW5kQm94QnV0dG9uQ29sb3IiLCJzZW5kQm94QnV0dG9uQ29sb3JPbkRpc2FibGVkIiwic2VuZEJveEJ1dHRvbkNvbG9yT25Gb2N1cyIsInNlbmRCb3hCdXR0b25Db2xvck9uSG92ZXIiLCJzZW5kQm94RGlzYWJsZWRUZXh0Q29sb3IiLCJzZW5kQm94SGVpZ2h0Iiwic2VuZEJveE1heEhlaWdodCIsInNlbmRCb3hUZXh0Q29sb3IiLCJzZW5kQm94Qm9yZGVyQm90dG9tIiwic2VuZEJveEJvcmRlckxlZnQiLCJzZW5kQm94Qm9yZGVyUmlnaHQiLCJzZW5kQm94Qm9yZGVyVG9wIiwic2VuZEJveFBsYWNlaG9sZGVyQ29sb3IiLCJzZW5kQm94VGV4dFdyYXAiLCJzZW5kQm94QnV0dG9uQWxpZ25tZW50Iiwic2hvd1Nwb2tlblRleHQiLCJzdWdnZXN0ZWRBY3Rpb25CYWNrZ3JvdW5kIiwic3VnZ2VzdGVkQWN0aW9uQm9yZGVyIiwic3VnZ2VzdGVkQWN0aW9uQm9yZGVyQ29sb3IiLCJzdWdnZXN0ZWRBY3Rpb25Cb3JkZXJSYWRpdXMiLCJzdWdnZXN0ZWRBY3Rpb25Cb3JkZXJTdHlsZSIsInN1Z2dlc3RlZEFjdGlvbkJvcmRlcldpZHRoIiwic3VnZ2VzdGVkQWN0aW9uRGlzYWJsZWRCYWNrZ3JvdW5kIiwic3VnZ2VzdGVkQWN0aW9uRGlzYWJsZWRCb3JkZXJDb2xvciIsInN1Z2dlc3RlZEFjdGlvbkRpc2FibGVkQm9yZGVyU3R5bGUiLCJzdWdnZXN0ZWRBY3Rpb25EaXNhYmxlZEJvcmRlcldpZHRoIiwic3VnZ2VzdGVkQWN0aW9uRGlzYWJsZWRUZXh0Q29sb3IiLCJzdWdnZXN0ZWRBY3Rpb25IZWlnaHQiLCJzdWdnZXN0ZWRBY3Rpb25JbWFnZUhlaWdodCIsInN1Z2dlc3RlZEFjdGlvbkxheW91dCIsInN1Z2dlc3RlZEFjdGlvblRleHRDb2xvciIsInN1Z2dlc3RlZEFjdGlvbnNDYXJvdXNlbEZsaXBwZXJDdXJzb3IiLCJzdWdnZXN0ZWRBY3Rpb25zQ2Fyb3VzZWxGbGlwcGVyQm94V2lkdGgiLCJzdWdnZXN0ZWRBY3Rpb25zQ2Fyb3VzZWxGbGlwcGVyU2l6ZSIsInN1Z2dlc3RlZEFjdGlvbnNTdGFja2VkSGVpZ2h0Iiwic3VnZ2VzdGVkQWN0aW9uc1N0YWNrZWRPdmVyZmxvdyIsInN1Z2dlc3RlZEFjdGlvbnNTdGFja2VkTGF5b3V0QnV0dG9uTWF4SGVpZ2h0Iiwic3VnZ2VzdGVkQWN0aW9uc1N0YWNrZWRMYXlvdXRCdXR0b25UZXh0V3JhcCIsImdyb3VwVGltZXN0YW1wIiwic2VuZFRpbWVvdXQiLCJzZW5kVGltZW91dEZvckF0dGFjaG1lbnRzIiwidGltZXN0YW1wQ29sb3IiLCJ0aW1lc3RhbXBGb3JtYXQiLCJuZXdNZXNzYWdlc0J1dHRvbkZvbnRTaXplIiwidHJhbnNjcmlwdE92ZXJsYXlCdXR0b25CYWNrZ3JvdW5kIiwidHJhbnNjcmlwdE92ZXJsYXlCdXR0b25CYWNrZ3JvdW5kT25Gb2N1cyIsInRyYW5zY3JpcHRPdmVybGF5QnV0dG9uQmFja2dyb3VuZE9uSG92ZXIiLCJ0cmFuc2NyaXB0T3ZlcmxheUJ1dHRvbkNvbG9yIiwidHJhbnNjcmlwdE92ZXJsYXlCdXR0b25Db2xvck9uRm9jdXMiLCJ0cmFuc2NyaXB0T3ZlcmxheUJ1dHRvbkNvbG9yT25Ib3ZlciIsInZpZGVvSGVpZ2h0IiwiY29ubmVjdGl2aXR5SWNvblBhZGRpbmciLCJjb25uZWN0aXZpdHlNYXJnaW5MZWZ0UmlnaHQiLCJjb25uZWN0aXZpdHlNYXJnaW5Ub3BCb3R0b20iLCJjb25uZWN0aXZpdHlUZXh0U2l6ZSIsImZhaWxlZENvbm5lY3Rpdml0eSIsInNsb3dDb25uZWN0aXZpdHkiLCJub3RpZmljYXRpb25UZXh0Iiwic2xvd0Nvbm5lY3Rpb25BZnRlciIsInR5cGluZ0FuaW1hdGlvbkJhY2tncm91bmRJbWFnZSIsInR5cGluZ0FuaW1hdGlvbkR1cmF0aW9uIiwidHlwaW5nQW5pbWF0aW9uSGVpZ2h0IiwidHlwaW5nQW5pbWF0aW9uV2lkdGgiLCJzcGlubmVyQW5pbWF0aW9uQmFja2dyb3VuZEltYWdlIiwic3Bpbm5lckFuaW1hdGlvbkhlaWdodCIsInNwaW5uZXJBbmltYXRpb25XaWR0aCIsInNwaW5uZXJBbmltYXRpb25QYWRkaW5nIiwiZW5hYmxlVXBsb2FkVGh1bWJuYWlsIiwidXBsb2FkVGh1bWJuYWlsQ29udGVudFR5cGUiLCJ1cGxvYWRUaHVtYm5haWxIZWlnaHQiLCJ1cGxvYWRUaHVtYm5haWxRdWFsaXR5IiwidXBsb2FkVGh1bWJuYWlsV2lkdGgiLCJub3RpZmljYXRpb25EZWJvdW5jZVRpbWVvdXQiLCJoaWRlVG9hc3RlciIsInRvYXN0ZXJIZWlnaHQiLCJ0b2FzdGVyTWF4SGVpZ2h0IiwidG9hc3RlclNpbmd1bGFyTWF4SGVpZ2h0IiwidG9hc3RGb250U2l6ZSIsInRvYXN0SWNvbldpZHRoIiwidG9hc3RTZXBhcmF0b3JDb2xvciIsInRvYXN0VGV4dFBhZGRpbmciLCJ0b2FzdEVycm9yQmFja2dyb3VuZENvbG9yIiwidG9hc3RFcnJvckNvbG9yIiwidG9hc3RJbmZvQmFja2dyb3VuZENvbG9yIiwidG9hc3RJbmZvQ29sb3IiLCJ0b2FzdFN1Y2Nlc3NCYWNrZ3JvdW5kQ29sb3IiLCJ0b2FzdFN1Y2Nlc3NDb2xvciIsInRvYXN0V2FybkJhY2tncm91bmRDb2xvciIsInRvYXN0V2FybkNvbG9yIiwiZW1vamlTZXQiLCJpbnRlcm5hbExpdmVSZWdpb25GYWRlQWZ0ZXIiLCJ0cmFuc2NyaXB0VGVybWluYXRvckJhY2tncm91bmRDb2xvciIsInRyYW5zY3JpcHRUZXJtaW5hdG9yQm9yZGVyUmFkaXVzIiwidHJhbnNjcmlwdFRlcm1pbmF0b3JDb2xvciIsInRyYW5zY3JpcHRUZXJtaW5hdG9yRm9udFNpemUiLCJ0cmFuc2NyaXB0QWN0aXZpdHlWaXN1YWxLZXlib2FyZEluZGljYXRvckNvbG9yIiwidHJhbnNjcmlwdEFjdGl2aXR5VmlzdWFsS2V5Ym9hcmRJbmRpY2F0b3JTdHlsZSIsInRyYW5zY3JpcHRBY3Rpdml0eVZpc3VhbEtleWJvYXJkSW5kaWNhdG9yV2lkdGgiLCJ0cmFuc2NyaXB0VmlzdWFsS2V5Ym9hcmRJbmRpY2F0b3JDb2xvciIsInRyYW5zY3JpcHRWaXN1YWxLZXlib2FyZEluZGljYXRvclN0eWxlIiwidHJhbnNjcmlwdFZpc3VhbEtleWJvYXJkSW5kaWNhdG9yV2lkdGgiLCJjYXJkUHVzaEJ1dHRvbkJhY2tncm91bmRDb2xvciIsImNhcmRQdXNoQnV0dG9uVGV4dENvbG9yIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7QUFFQSxTQUFTQSxVQUFULENBQW9CQyxLQUFwQixFQUEyQjtBQUN6QixTQUFPQSxLQUFLLENBQUNDLEdBQU4sQ0FBVSxVQUFBQyxJQUFJO0FBQUEsc0JBQVFBLElBQVI7QUFBQSxHQUFkLEVBQStCQyxJQUEvQixDQUFvQyxJQUFwQyxDQUFQO0FBQ0Q7O0FBRUQsSUFBTUMsY0FBYyxHQUFHLFNBQXZCO0FBQ0EsSUFBTUMsY0FBYyxHQUFHLFNBQXZCLEMsQ0FBa0M7O0FBQ2xDLElBQU1DLGVBQWUsR0FBRyxFQUF4QjtBQUVBLElBQU1DLGVBQWUsR0FBRztBQUN0QjtBQUNBQyxFQUFBQSxNQUFNLEVBQUVKLGNBRmM7QUFHdEJLLEVBQUFBLDBCQUEwQixFQUFFSixjQUhOO0FBSXRCSyxFQUFBQSxlQUFlLEVBQUUsT0FKSztBQUt0QkMsRUFBQUEsMkJBQTJCLEVBQUUsU0FMUDtBQU10QkMsRUFBQUEsY0FBYyxFQUFFTixlQU5NO0FBT3RC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LEVBQUFBLHlCQUF5QixFQUFFLFNBbExMO0FBbUx0QkMsRUFBQUEsZUFBZSxFQUFFLFNBbkxLO0FBb0x0QkMsRUFBQUEsd0JBQXdCLEVBQUUsU0FwTEo7QUFxTHRCQyxFQUFBQSxjQUFjLEVBQUUsU0FyTE07QUFzTHRCQyxFQUFBQSwyQkFBMkIsRUFBRSxTQXRMUDtBQXVMdEJDLEVBQUFBLGlCQUFpQixFQUFFLFNBdkxHO0FBd0x0QkMsRUFBQUEsd0JBQXdCLEVBQUUsU0F4TEo7QUF5THRCQyxFQUFBQSxjQUFjLEVBQUUsU0F6TE07QUEyTHRCO0FBQ0FDLEVBQUFBLFFBQVEsRUFBRSxJQTVMWTtBQTRMTjtBQUVoQjtBQUNBQyxFQUFBQSwyQkFBMkIsRUFBRSxJQS9MUDtBQWlNdEI7QUFDQUMsRUFBQUEsbUNBQW1DLEVBQUUsU0FsTWY7QUFtTXRCQyxFQUFBQSxnQ0FBZ0MsRUFBRSxDQW5NWjtBQW9NdEJDLEVBQUFBLHlCQUF5QixFQUFFLE9BcE1MO0FBcU10QkMsRUFBQUEsNEJBQTRCLEVBQUUsRUFyTVI7QUF1TXRCQyxFQUFBQSw4Q0FBOEMsRUFBRXJKLGNBdk0xQjtBQXdNdEJzSixFQUFBQSw4Q0FBOEMsRUFBRSxRQXhNMUI7QUF5TXRCQyxFQUFBQSw4Q0FBOEMsRUFBRSxDQXpNMUI7QUEyTXRCQyxFQUFBQSxzQ0FBc0MsRUFBRSxPQTNNbEI7QUE0TXRCQyxFQUFBQSxzQ0FBc0MsRUFBRSxPQTVNbEI7QUE2TXRCQyxFQUFBQSxzQ0FBc0MsRUFBRSxDQTdNbEI7QUE4TXRCO0FBQ0FDLEVBQUFBLDZCQUE2QixFQUFFLFNBL01UO0FBZ050QkMsRUFBQUEsdUJBQXVCLEVBQUU7QUFoTkgsQ0FBeEI7ZUFtTmUxSixlIiwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQgbm8tbWFnaWMtbnVtYmVyczogXCJvZmZcIiAqL1xuXG5mdW5jdGlvbiBmb250RmFtaWx5KGZvbnRzKSB7XG4gIHJldHVybiBmb250cy5tYXAoZm9udCA9PiBgJyR7Zm9udH0nYCkuam9pbignLCAnKTtcbn1cblxuY29uc3QgREVGQVVMVF9BQ0NFTlQgPSAnIzAwNjNCMSc7XG5jb25zdCBERUZBVUxUX1NVQlRMRSA9ICcjNzY3Njc2JzsgLy8gV2l0aCBjb250cmFzdCA0LjU6MSB0byB3aGl0ZVxuY29uc3QgUEFERElOR19SRUdVTEFSID0gMTA7XG5cbmNvbnN0IERFRkFVTFRfT1BUSU9OUyA9IHtcbiAgLy8gQ29sb3IgYW5kIHBhZGRpbmdzXG4gIGFjY2VudDogREVGQVVMVF9BQ0NFTlQsXG4gIGFjdGl2ZUFjdGl2aXR5T3V0bGluZUNvbG9yOiBERUZBVUxUX1NVQlRMRSxcbiAgYmFja2dyb3VuZENvbG9yOiAnV2hpdGUnLFxuICBjYXJkRW1waGFzaXNCYWNrZ3JvdW5kQ29sb3I6ICcjRjBGMEYwJyxcbiAgcGFkZGluZ1JlZ3VsYXI6IFBBRERJTkdfUkVHVUxBUixcbiAgcGFkZGluZ1dpZGU6IFBBRERJTkdfUkVHVUxBUiAqIDIsXG4gIHN1YnRsZTogREVGQVVMVF9TVUJUTEUsXG5cbiAgLy8gV29yZCBicmVha1xuICBtZXNzYWdlQWN0aXZpdHlXb3JkQnJlYWs6ICdicmVhay13b3JkJywgLy8gJ25vcm1hbCcgfHwgJ2JyZWFrLWFsbCcgfHwgJ2JyZWFrLXdvcmQnIHx8ICdrZWVwLWFsbCdcblxuICAvLyBGb250c1xuICBmb250U2l6ZVNtYWxsOiAnODAlJyxcbiAgbW9ub3NwYWNlRm9udDogZm9udEZhbWlseShbJ0NvbnNvbGFzJywgJ0NvdXJpZXIgTmV3JywgJ21vbm9zcGFjZSddKSxcbiAgcHJpbWFyeUZvbnQ6IGZvbnRGYW1pbHkoWydDYWxpYnJpJywgJ0hlbHZldGljYSBOZXVlJywgJ0FyaWFsJywgJ3NhbnMtc2VyaWYnXSksXG5cbiAgLy8gQXZhdGFyXG4gIGF2YXRhckJvcmRlclJhZGl1czogJzUwJScsXG4gIGF2YXRhclNpemU6IDQwLFxuICBib3RBdmF0YXJCYWNrZ3JvdW5kQ29sb3I6IHVuZGVmaW5lZCwgLy8gZGVmYXVsdHMgdG8gYWNjZW50IGNvbG9yXG4gIGJvdEF2YXRhckltYWdlOiB1bmRlZmluZWQsIC8vIE9yIGEgc3RyaW5nIG9mIFVSTC4gQ2FuIGJlIGEgZGF0YSBVUkkgb3IgYmxvYi5cbiAgYm90QXZhdGFySW5pdGlhbHM6IHVuZGVmaW5lZCwgLy8gT3IgYSBzdHJpbmcuIEVtcHR5IHN0cmluZ3MgbWVhbnMgaXQgaGFzIGF2YXRhciBidXQgbm90IGluaXRpYWxzIGluc2lkZS5cbiAgdXNlckF2YXRhckJhY2tncm91bmRDb2xvcjogdW5kZWZpbmVkLCAvLyBkZWZhdWx0cyB0byBhY2NlbnQgY29sb3JcbiAgdXNlckF2YXRhckltYWdlOiB1bmRlZmluZWQsIC8vIE9yIGEgc3RyaW5nIG9mIFVSTC4gQ2FuIGJlIGEgZGF0YSBVUkkgb3IgYmxvYi5cbiAgdXNlckF2YXRhckluaXRpYWxzOiB1bmRlZmluZWQsIC8vIE9yIGEgc3RyaW5nLiBFbXB0eSBzdHJpbmdzIG1lYW5zIGl0IGhhcyBhdmF0YXIgYnV0IG5vdCBpbml0aWFscyBpbnNpZGUuXG4gIHNob3dBdmF0YXJJbkdyb3VwOiAnc3RhdHVzJywgLy8gT3IgJ3NlbmRlcicgb3IgdHJ1ZSAob24gZXZlcnkgYWN0aXZpdHkpLlxuXG4gIC8vIEJ1YmJsZVxuICAvLyBUT0RPOiBTaG91bGQgd2UgbWFrZSBhIGJ1YmJsZUZyb21Cb3QqXG4gIGJ1YmJsZUJhY2tncm91bmQ6ICdXaGl0ZScsXG4gIGJ1YmJsZUJvcmRlckNvbG9yOiAnI0U2RTZFNicsXG4gIGJ1YmJsZUJvcmRlclJhZGl1czogMixcbiAgYnViYmxlQm9yZGVyU3R5bGU6ICdzb2xpZCcsXG4gIGJ1YmJsZUJvcmRlcldpZHRoOiAxLFxuICBidWJibGVGcm9tVXNlckJhY2tncm91bmQ6ICdXaGl0ZScsXG4gIGJ1YmJsZUZyb21Vc2VyQm9yZGVyQ29sb3I6ICcjRTZFNkU2JyxcbiAgYnViYmxlRnJvbVVzZXJCb3JkZXJSYWRpdXM6IDIsXG4gIGJ1YmJsZUZyb21Vc2VyQm9yZGVyU3R5bGU6ICdzb2xpZCcsXG4gIGJ1YmJsZUZyb21Vc2VyQm9yZGVyV2lkdGg6IDEsXG4gIGJ1YmJsZUZyb21Vc2VyTnViT2Zmc2V0OiAwLCAvLyBFaXRoZXIgYSBwb3NpdGl2ZS9uZWdhdGl2ZSBudW1iZXIsIG9yIFwiYm90dG9tXCJcbiAgYnViYmxlRnJvbVVzZXJOdWJTaXplOiB1bmRlZmluZWQsIC8vIE9yIGEgbnVtYmVyLiAwIG1lYW5zIGEgc2hhcnAgY29ybmVyLlxuICBidWJibGVGcm9tVXNlclRleHRDb2xvcjogJ0JsYWNrJyxcbiAgYnViYmxlSW1hZ2VIZWlnaHQ6IDI0MCxcbiAgYnViYmxlTWF4V2lkdGg6IDQ4MCwgLy8gc2NyZWVuIHdpZHRoID0gNjAwcHhcbiAgYnViYmxlTWluSGVpZ2h0OiA0MCxcbiAgYnViYmxlTWluV2lkdGg6IDI1MCwgLy8gbWluIHNjcmVlbiB3aWR0aCA9IDMwMHB4LCBNaWNyb3NvZnQgRWRnZSByZXF1aXJlcyAzNzJweCAoaHR0cHM6Ly9kZXZlbG9wZXIubWljcm9zb2Z0LmNvbS9lbi11cy9taWNyb3NvZnQtZWRnZS9wbGF0Zm9ybS9pc3N1ZXMvMTM2MjE0NjgvKVxuICBidWJibGVOdWJPZmZzZXQ6IDAsIC8vIEVpdGhlciBhIHBvc2l0aXZlL25lZ2F0aXZlIG51bWJlciwgb3IgXCJib3R0b21cIlxuICBidWJibGVOdWJTaXplOiB1bmRlZmluZWQsIC8vIE9yIGEgbnVtYmVyLiAwIG1lYW5zIGEgc2hhcnAgY29ybmVyLlxuICBidWJibGVUZXh0Q29sb3I6ICdCbGFjaycsXG5cbiAgLy8gTWFya2Rvd25cbiAgbWFya2Rvd25SZXNwZWN0Q1JMRjogdHJ1ZSxcblxuICAvLyBSaWNoIENhcmRzXG4gIHJpY2hDYXJkV3JhcFRpdGxlOiBmYWxzZSwgLy8gQXBwbGllcyB0byBzdWJ0aXRsZXMgYXMgd2VsbFxuXG4gIC8vIFJvb3RcbiAgcm9vdEhlaWdodDogJzEwMCUnLFxuICByb290V2lkdGg6ICcxMDAlJyxcbiAgcm9vdFpJbmRleDogMCwgLy8gXCJ6LWluZGV4XCIgZm9yIHRoZSByb290IGNvbnRhaW5lciBvZiBXZWIgQ2hhdC4gVGhpcyB3aWxsIGZvcm0gYSBuZXcgc3RhY2tpbmcgY29udGV4dCBzbyBcInotaW5kZXhcIiB1c2VkIGluIGNoaWxkcmVuIHdvbid0IHBvbGx1dGUuXG5cbiAgLy8gU2Nyb2xsIHRvIGVuZCBidXR0b25cbiAgaGlkZVNjcm9sbFRvRW5kQnV0dG9uOiBmYWxzZSxcblxuICAvLyBTZW5kIGJveFxuICBoaWRlU2VuZEJveDogZmFsc2UsXG4gIGhpZGVVcGxvYWRCdXR0b246IGZhbHNlLFxuICBtaWNyb3Bob25lQnV0dG9uQ29sb3JPbkRpY3RhdGU6ICcjRjMzJyxcbiAgc2VuZEJveEJhY2tncm91bmQ6ICdXaGl0ZScsXG4gIHNlbmRCb3hCdXR0b25Db2xvcjogdW5kZWZpbmVkLCAvLyBkZWZhdWx0cyB0byBzdWJ0bGVcbiAgc2VuZEJveEJ1dHRvbkNvbG9yT25EaXNhYmxlZDogJyNDQ0MnLFxuICBzZW5kQm94QnV0dG9uQ29sb3JPbkZvY3VzOiAnIzMzMycsXG4gIHNlbmRCb3hCdXR0b25Db2xvck9uSG92ZXI6ICcjMzMzJyxcbiAgc2VuZEJveERpc2FibGVkVGV4dENvbG9yOiB1bmRlZmluZWQsIC8vIGRlZmF1bHRzIHRvIHN1YnRsZVxuICBzZW5kQm94SGVpZ2h0OiA0MCxcbiAgc2VuZEJveE1heEhlaWdodDogMjAwLFxuICBzZW5kQm94VGV4dENvbG9yOiAnQmxhY2snLFxuICAvLyBUT0RPOiBXZSBzaG91bGQgZGVwcmVjYXRlIHRoaXMgYmVjYXVzZSB0aGVyZSBpc24ndCBhbiBlYXN5IHdheSB0byBtYWtlIHRoZSB3aWR0aCBvZiB0aGUgc2VuZCBib3ggbmFycm93ZXIgdGhhbiB0aGUgdHJhbnNjcmlwdFxuICBzZW5kQm94Qm9yZGVyQm90dG9tOiAnJyxcbiAgc2VuZEJveEJvcmRlckxlZnQ6ICcnLFxuICBzZW5kQm94Qm9yZGVyUmlnaHQ6ICcnLFxuICBzZW5kQm94Qm9yZGVyVG9wOiAnc29saWQgMXB4ICNFNkU2RTYnLFxuICBzZW5kQm94UGxhY2Vob2xkZXJDb2xvcjogdW5kZWZpbmVkLCAvLyBkZWZhdWx0cyB0byBzdWJ0bGVcbiAgc2VuZEJveFRleHRXcmFwOiBmYWxzZSxcbiAgc2VuZEJveEJ1dHRvbkFsaWdubWVudDogJ3N0cmV0Y2gnLCAvLyBcInRvcFwiLCBcImJvdHRvbVwiLCBvciBcInN0cmV0Y2hcIlxuXG4gIC8vIFZpc3VhbGx5IHNob3cgc3Bva2VuIHRleHRcbiAgc2hvd1Nwb2tlblRleHQ6IGZhbHNlLFxuXG4gIC8vIFN1Z2dlc3RlZCBhY3Rpb25zXG4gIHN1Z2dlc3RlZEFjdGlvbkJhY2tncm91bmQ6ICdXaGl0ZScsXG4gIHN1Z2dlc3RlZEFjdGlvbkJvcmRlcjogdW5kZWZpbmVkLCAvLyBzcGxpdCBpbnRvIDMsIG51bGxcbiAgc3VnZ2VzdGVkQWN0aW9uQm9yZGVyQ29sb3I6IHVuZGVmaW5lZCwgLy8gZGVmYXVsdHMgdG8gYWNjZW50XG4gIHN1Z2dlc3RlZEFjdGlvbkJvcmRlclJhZGl1czogMCxcbiAgc3VnZ2VzdGVkQWN0aW9uQm9yZGVyU3R5bGU6ICdzb2xpZCcsXG4gIHN1Z2dlc3RlZEFjdGlvbkJvcmRlcldpZHRoOiAyLFxuICBzdWdnZXN0ZWRBY3Rpb25EaXNhYmxlZEJhY2tncm91bmQ6IHVuZGVmaW5lZCwgLy8gZGVmYXVsdHMgdG8gc3VnZ2VzdGVkQWN0aW9uQmFja2dyb3VuZFxuICBzdWdnZXN0ZWRBY3Rpb25EaXNhYmxlZEJvcmRlckNvbG9yOiAnI0U2RTZFNicsXG4gIHN1Z2dlc3RlZEFjdGlvbkRpc2FibGVkQm9yZGVyU3R5bGU6ICdzb2xpZCcsXG4gIHN1Z2dlc3RlZEFjdGlvbkRpc2FibGVkQm9yZGVyV2lkdGg6IDIsXG4gIHN1Z2dlc3RlZEFjdGlvbkRpc2FibGVkVGV4dENvbG9yOiB1bmRlZmluZWQsIC8vIGRlZmF1bHRzIHRvIHN1YnRsZVxuICBzdWdnZXN0ZWRBY3Rpb25IZWlnaHQ6IDQwLFxuICBzdWdnZXN0ZWRBY3Rpb25JbWFnZUhlaWdodDogMjAsXG4gIHN1Z2dlc3RlZEFjdGlvbkxheW91dDogJ2Nhcm91c2VsJywgLy8gZWl0aGVyICdjYXJvdXNlbCcgb3IgJ3N0YWNrZWQnXG4gIHN1Z2dlc3RlZEFjdGlvblRleHRDb2xvcjogbnVsbCxcblxuICAvLyBTdWdnZXN0ZWQgYWN0aW9ucyBjYXJvdXNlbCBsYXlvdXRcbiAgc3VnZ2VzdGVkQWN0aW9uc0Nhcm91c2VsRmxpcHBlckN1cnNvcjogbnVsbCwgLy8gQ3Vyc29yIHdoZW4gbW91c2Ugb3ZlciBvbiBmbGlwcGVyXG4gIHN1Z2dlc3RlZEFjdGlvbnNDYXJvdXNlbEZsaXBwZXJCb3hXaWR0aDogNDAsIC8vIEZsaXBwZXIgYm91bmRpbmcgYm94IHNpemVcbiAgc3VnZ2VzdGVkQWN0aW9uc0Nhcm91c2VsRmxpcHBlclNpemU6IDIwLCAvLyBGbGlwcGVyIHZpc2libGUgc2l6ZVxuXG4gIC8vIFN1Z2dlc3RlZCBhY3Rpb25zIHN0YWNrZWQgbGF5b3V0XG4gIHN1Z2dlc3RlZEFjdGlvbnNTdGFja2VkSGVpZ2h0OiB1bmRlZmluZWQsIC8vIHNldHMgdGhlIGNvbnRhaW5lcidzIG1heCBoZWlnaHQuIGRlZmF1bHRzIHRvICdhdXRvJ1xuICBzdWdnZXN0ZWRBY3Rpb25zU3RhY2tlZE92ZXJmbG93OiB1bmRlZmluZWQsIC8vIGRlZmF1bHRzIHRvICdhdXRvJyxcbiAgc3VnZ2VzdGVkQWN0aW9uc1N0YWNrZWRMYXlvdXRCdXR0b25NYXhIZWlnaHQ6IHVuZGVmaW5lZCwgLy8gZGVmYXVsdHMgdG8gMTAwJSBpZiBzdWdnZXN0ZWRBY3Rpb25zU3RhY2tlZExheW91dEJ1dHRvblRleHRXcmFwIGlzIHRydWVcbiAgc3VnZ2VzdGVkQWN0aW9uc1N0YWNrZWRMYXlvdXRCdXR0b25UZXh0V3JhcDogZmFsc2UsIC8vIGlmIHNldCB0byB0cnVlLCBidXR0b25zIHdpdGggbG9uZyB0ZXh0IHdpbGwgd3JhcCBpbiBTVEFDS0VEIG1vZGUgT05MWVxuXG4gIC8vIFRpbWVzdGFtcFxuICBncm91cFRpbWVzdGFtcDogdHJ1ZSxcbiAgc2VuZFRpbWVvdXQ6IDIwMDAwLFxuICBzZW5kVGltZW91dEZvckF0dGFjaG1lbnRzOiAxMjAwMDAsXG4gIHRpbWVzdGFtcENvbG9yOiB1bmRlZmluZWQsIC8vIGRlZmF1bHRzIHRvIHN1YnRsZVxuICB0aW1lc3RhbXBGb3JtYXQ6ICdyZWxhdGl2ZScsIC8vICdhYnNvbHV0ZSdcblxuICAvLyBUcmFuc2NyaXB0IG92ZXJsYXkgYnV0dG9ucyAoZS5nLiBjYXJvdXNlbCBhbmQgc3VnZ2VzdGVkIGFjdGlvbiBmbGlwcGVycywgc2Nyb2xsIHRvIGJvdHRvbSwgZXRjLilcbiAgbmV3TWVzc2FnZXNCdXR0b25Gb250U2l6ZTogJzg1JScsXG4gIHRyYW5zY3JpcHRPdmVybGF5QnV0dG9uQmFja2dyb3VuZDogJ3JnYmEoMCwgMCwgMCwgLjYpJyxcbiAgdHJhbnNjcmlwdE92ZXJsYXlCdXR0b25CYWNrZ3JvdW5kT25Gb2N1czogJ3JnYmEoMCwgMCwgMCwgLjgpJyxcbiAgdHJhbnNjcmlwdE92ZXJsYXlCdXR0b25CYWNrZ3JvdW5kT25Ib3ZlcjogJ3JnYmEoMCwgMCwgMCwgLjgpJyxcbiAgdHJhbnNjcmlwdE92ZXJsYXlCdXR0b25Db2xvcjogJ1doaXRlJyxcbiAgdHJhbnNjcmlwdE92ZXJsYXlCdXR0b25Db2xvck9uRm9jdXM6IHVuZGVmaW5lZCwgLy8gZGVmYXVsdHMgdG8gdHJhbnNjcmlwdE92ZXJsYXlCdXR0b25Db2xvclxuICB0cmFuc2NyaXB0T3ZlcmxheUJ1dHRvbkNvbG9yT25Ib3ZlcjogdW5kZWZpbmVkLCAvLyBkZWZhdWx0cyB0byB0cmFuc2NyaXB0T3ZlcmxheUJ1dHRvbkNvbG9yXG5cbiAgLy8gVmlkZW9cbiAgdmlkZW9IZWlnaHQ6IDI3MCwgLy8gYmFzZWQgb24gYnViYmxlTWF4V2lkdGg6IDQ4MCAvIDE2ICogOSA9IDI3MFxuXG4gIC8vIENvbm5lY3Rpdml0eSBVSVxuICBjb25uZWN0aXZpdHlJY29uUGFkZGluZzogUEFERElOR19SRUdVTEFSICogMS4yLFxuICBjb25uZWN0aXZpdHlNYXJnaW5MZWZ0UmlnaHQ6IFBBRERJTkdfUkVHVUxBUiAqIDEuNCxcbiAgY29ubmVjdGl2aXR5TWFyZ2luVG9wQm90dG9tOiBQQURESU5HX1JFR1VMQVIgKiAwLjgsXG4gIGNvbm5lY3Rpdml0eVRleHRTaXplOiAnNzUlJyxcbiAgZmFpbGVkQ29ubmVjdGl2aXR5OiAnI0M1MEYxRicsXG4gIHNsb3dDb25uZWN0aXZpdHk6ICcjRUFBMzAwJyxcbiAgbm90aWZpY2F0aW9uVGV4dDogJyM1RTVFNUUnLFxuICBzbG93Q29ubmVjdGlvbkFmdGVyOiAxNTAwMCxcblxuICB0eXBpbmdBbmltYXRpb25CYWNrZ3JvdW5kSW1hZ2U6IG51bGwsXG4gIHR5cGluZ0FuaW1hdGlvbkR1cmF0aW9uOiA1MDAwLFxuICB0eXBpbmdBbmltYXRpb25IZWlnaHQ6IDIwLFxuICB0eXBpbmdBbmltYXRpb25XaWR0aDogNjQsXG5cbiAgc3Bpbm5lckFuaW1hdGlvbkJhY2tncm91bmRJbWFnZTogbnVsbCxcbiAgc3Bpbm5lckFuaW1hdGlvbkhlaWdodDogMTYsXG4gIHNwaW5uZXJBbmltYXRpb25XaWR0aDogMTYsXG4gIHNwaW5uZXJBbmltYXRpb25QYWRkaW5nOiAxMixcblxuICBlbmFibGVVcGxvYWRUaHVtYm5haWw6IHRydWUsXG4gIHVwbG9hZFRodW1ibmFpbENvbnRlbnRUeXBlOiAnaW1hZ2UvanBlZycsXG4gIHVwbG9hZFRodW1ibmFpbEhlaWdodDogMzYwLFxuICB1cGxvYWRUaHVtYm5haWxRdWFsaXR5OiAwLjYsXG4gIHVwbG9hZFRodW1ibmFpbFdpZHRoOiA3MjAsXG5cbiAgLy8gVG9hc3QgVUlcblxuICAvLyBOZXcgZGVib3VuY2UgdGltZW91dCB2YWx1ZSBvbmx5IGFmZmVjdHMgbmV3IG5vdGlmaWNhdGlvbnMuXG4gIG5vdGlmaWNhdGlvbkRlYm91bmNlVGltZW91dDogNDAwLFxuXG4gIGhpZGVUb2FzdGVyOiBmYWxzZSxcbiAgdG9hc3RlckhlaWdodDogMzIsXG4gIHRvYXN0ZXJNYXhIZWlnaHQ6IDMyICogNSxcbiAgdG9hc3RlclNpbmd1bGFyTWF4SGVpZ2h0OiA1MCxcbiAgdG9hc3RGb250U2l6ZTogJzg3LjUlJyxcbiAgdG9hc3RJY29uV2lkdGg6IDM2LFxuICB0b2FzdFNlcGFyYXRvckNvbG9yOiAnI0U4RUFFQycsXG4gIHRvYXN0VGV4dFBhZGRpbmc6IDYsXG5cbiAgdG9hc3RFcnJvckJhY2tncm91bmRDb2xvcjogJyNGREU3RTknLFxuICB0b2FzdEVycm9yQ29sb3I6ICcjQTgwMDAwJyxcbiAgdG9hc3RJbmZvQmFja2dyb3VuZENvbG9yOiAnI0NFRjFGRicsXG4gIHRvYXN0SW5mb0NvbG9yOiAnIzEwNUU3RCcsXG4gIHRvYXN0U3VjY2Vzc0JhY2tncm91bmRDb2xvcjogJyNERkY2REQnLFxuICB0b2FzdFN1Y2Nlc3NDb2xvcjogJyMxMDdDMTAnLFxuICB0b2FzdFdhcm5CYWNrZ3JvdW5kQ29sb3I6ICcjRkZGNENFJyxcbiAgdG9hc3RXYXJuQ29sb3I6ICcjM0IzQTM5JyxcblxuICAvLyBFbW9qaVxuICBlbW9qaVNldDogdHJ1ZSwgLy8gdHJ1ZSB8fCBmYWxzZSB8fCB7ICc6KScgOiAn8J+Yiid9XG5cbiAgLy8gSW50ZXJuYWxcbiAgaW50ZXJuYWxMaXZlUmVnaW9uRmFkZUFmdGVyOiAxMDAwLFxuXG4gIC8vIFRyYW5zY3JpcHRcbiAgdHJhbnNjcmlwdFRlcm1pbmF0b3JCYWNrZ3JvdW5kQ29sb3I6ICcjNTk1OTU5JyxcbiAgdHJhbnNjcmlwdFRlcm1pbmF0b3JCb3JkZXJSYWRpdXM6IDUsXG4gIHRyYW5zY3JpcHRUZXJtaW5hdG9yQ29sb3I6ICdXaGl0ZScsXG4gIHRyYW5zY3JpcHRUZXJtaW5hdG9yRm9udFNpemU6IDEyLFxuXG4gIHRyYW5zY3JpcHRBY3Rpdml0eVZpc3VhbEtleWJvYXJkSW5kaWNhdG9yQ29sb3I6IERFRkFVTFRfU1VCVExFLFxuICB0cmFuc2NyaXB0QWN0aXZpdHlWaXN1YWxLZXlib2FyZEluZGljYXRvclN0eWxlOiAnZGFzaGVkJyxcbiAgdHJhbnNjcmlwdEFjdGl2aXR5VmlzdWFsS2V5Ym9hcmRJbmRpY2F0b3JXaWR0aDogMSxcblxuICB0cmFuc2NyaXB0VmlzdWFsS2V5Ym9hcmRJbmRpY2F0b3JDb2xvcjogJ0JsYWNrJyxcbiAgdHJhbnNjcmlwdFZpc3VhbEtleWJvYXJkSW5kaWNhdG9yU3R5bGU6ICdzb2xpZCcsXG4gIHRyYW5zY3JpcHRWaXN1YWxLZXlib2FyZEluZGljYXRvcldpZHRoOiAyLFxuICAvL0FkYXB0aXZlQ2FyZCBwdXNoIGJ1dHRvblxuICBjYXJkUHVzaEJ1dHRvbkJhY2tncm91bmRDb2xvcjogJyMwMDYzQjEnLFxuICBjYXJkUHVzaEJ1dHRvblRleHRDb2xvcjogJ3doaXRlJ1xufTtcblxuZXhwb3J0IGRlZmF1bHQgREVGQVVMVF9PUFRJT05TO1xuIl19